@@ -534,6 +534,179 @@ HRESULT Library_nanoFramework_Graphics_nanoFramework_UI_Bitmap::
534534 NANOCLR_NOCLEANUP ();
535535}
536536
537+ HRESULT Library_nanoFramework_Graphics_nanoFramework_UI_Bitmap::
538+ DrawRectangle___VOID__I4__I4__I4__I4__I4__nanoFrameworkPresentationMediaColor (CLR_RT_StackFrame &stack)
539+ {
540+ NANOCLR_HEADER ();
541+
542+ CLR_RT_HeapBlock *pArgs;
543+ CLR_GFX_Bitmap *bitmap;
544+ GFX_Pen pen;
545+ GFX_Brush brush;
546+ GFX_Rect rectangle;
547+
548+ NANOCLR_CHECK_HRESULT (GetBitmap (stack, true , bitmap));
549+
550+ pArgs = &(stack.Arg1 ());
551+
552+ rectangle.left = pArgs[0 ].NumericByRef ().s4 ;
553+ rectangle.top = pArgs[1 ].NumericByRef ().s4 ;
554+ rectangle.right = rectangle.left + pArgs[2 ].NumericByRef ().s4 - 1 ;
555+ rectangle.bottom = rectangle.top + pArgs[3 ].NumericByRef ().s4 - 1 ;
556+
557+ pen.thickness = pArgs[4 ].NumericByRef ().s4 ;
558+ pen.color = pArgs[5 ].NumericByRef ().u4 ;
559+
560+ // No fill
561+ brush.opacity = PAL_GFX_Bitmap::c_OpacityTransparent;
562+
563+ bitmap->DrawRectangle (pen, brush, rectangle);
564+
565+ NANOCLR_NOCLEANUP ();
566+ }
567+
568+ HRESULT Library_nanoFramework_Graphics_nanoFramework_UI_Bitmap::
569+ DrawRoundRectangle___VOID__I4__I4__I4__I4__I4__I4__I4__nanoFrameworkPresentationMediaColor (CLR_RT_StackFrame &stack)
570+ {
571+ NANOCLR_HEADER ();
572+
573+ CLR_RT_HeapBlock *pArgs;
574+ CLR_GFX_Bitmap *bitmap;
575+ GFX_Pen pen;
576+ GFX_Brush brush;
577+ GFX_Rect rectangle;
578+ int radiusX;
579+ int radiusY;
580+
581+ NANOCLR_CHECK_HRESULT (GetBitmap (stack, true , bitmap));
582+
583+ pArgs = &(stack.Arg1 ());
584+
585+ rectangle.left = pArgs[0 ].NumericByRef ().s4 ;
586+ rectangle.top = pArgs[1 ].NumericByRef ().s4 ;
587+ rectangle.right = rectangle.left + pArgs[2 ].NumericByRef ().s4 - 1 ;
588+ rectangle.bottom = rectangle.top + pArgs[3 ].NumericByRef ().s4 - 1 ;
589+
590+ pen.thickness = pArgs[4 ].NumericByRef ().s4 ;
591+ pen.color = pArgs[7 ].NumericByRef ().u4 ;
592+
593+ radiusX = pArgs[5 ].NumericByRef ().s4 ;
594+ radiusY = pArgs[6 ].NumericByRef ().s4 ;
595+
596+ // No fill
597+ brush.opacity = PAL_GFX_Bitmap::c_OpacityTransparent;
598+
599+ bitmap->DrawRoundedRectangle (pen, brush, rectangle, radiusX, radiusY);
600+
601+ NANOCLR_NOCLEANUP ();
602+ }
603+
604+ HRESULT Library_nanoFramework_Graphics_nanoFramework_UI_Bitmap::
605+ FillRectangle___VOID__I4__I4__I4__I4__nanoFrameworkPresentationMediaColor__U2 (CLR_RT_StackFrame &stack)
606+ {
607+ NANOCLR_HEADER ();
608+
609+ CLR_RT_HeapBlock *pArgs;
610+ CLR_GFX_Bitmap *bitmap;
611+ GFX_Pen pen;
612+ GFX_Brush brush;
613+ GFX_Rect rectangle;
614+
615+ NANOCLR_CHECK_HRESULT (GetBitmap (stack, true , bitmap));
616+
617+ pArgs = &(stack.Arg1 ());
618+
619+ rectangle.left = pArgs[0 ].NumericByRef ().s4 ;
620+ rectangle.top = pArgs[1 ].NumericByRef ().s4 ;
621+ rectangle.right = rectangle.left + pArgs[2 ].NumericByRef ().s4 - 1 ;
622+ rectangle.bottom = rectangle.top + pArgs[3 ].NumericByRef ().s4 - 1 ;
623+
624+ // No outline
625+ pen.thickness = 0 ;
626+
627+ brush.gradientStartColor = pArgs[4 ].NumericByRef ().u4 ;
628+ brush.gradientEndColor = brush.gradientStartColor ;
629+ brush.opacity = pArgs[5 ].NumericByRef ().u2 ;
630+
631+ bitmap->DrawRectangle (pen, brush, rectangle);
632+
633+ NANOCLR_NOCLEANUP ();
634+ }
635+
636+ HRESULT Library_nanoFramework_Graphics_nanoFramework_UI_Bitmap::
637+ FillRoundRectangle___VOID__I4__I4__I4__I4__I4__I4__nanoFrameworkPresentationMediaColor__U2 (CLR_RT_StackFrame &stack)
638+ {
639+ NANOCLR_HEADER ();
640+
641+ CLR_RT_HeapBlock *pArgs;
642+ CLR_GFX_Bitmap *bitmap;
643+ GFX_Pen pen;
644+ GFX_Brush brush;
645+ GFX_Rect rectangle;
646+ int radiusX;
647+ int radiusY;
648+
649+ NANOCLR_CHECK_HRESULT (GetBitmap (stack, true , bitmap));
650+
651+ pArgs = &(stack.Arg1 ());
652+
653+ rectangle.left = pArgs[0 ].NumericByRef ().s4 ;
654+ rectangle.top = pArgs[1 ].NumericByRef ().s4 ;
655+ rectangle.right = rectangle.left + pArgs[2 ].NumericByRef ().s4 - 1 ;
656+ rectangle.bottom = rectangle.top + pArgs[3 ].NumericByRef ().s4 - 1 ;
657+
658+ radiusX = pArgs[4 ].NumericByRef ().s4 ;
659+ radiusY = pArgs[5 ].NumericByRef ().s4 ;
660+
661+ // No outline
662+ pen.thickness = 0 ;
663+
664+ brush.gradientStartColor = pArgs[6 ].NumericByRef ().u4 ;
665+ brush.gradientEndColor = brush.gradientStartColor ;
666+ brush.opacity = pArgs[7 ].NumericByRef ().u2 ;
667+
668+ bitmap->DrawRoundedRectangle (pen, brush, rectangle, radiusX, radiusY);
669+
670+ NANOCLR_NOCLEANUP ();
671+ }
672+
673+ HRESULT Library_nanoFramework_Graphics_nanoFramework_UI_Bitmap::
674+ FillGradientRectangle___VOID__I4__I4__I4__I4__nanoFrameworkPresentationMediaColor__I4__I4__nanoFrameworkPresentationMediaColor__I4__I4__U2 (
675+ CLR_RT_StackFrame &stack)
676+ {
677+ NANOCLR_HEADER ();
678+
679+ CLR_RT_HeapBlock *pArgs;
680+ CLR_GFX_Bitmap *bitmap;
681+ GFX_Pen pen;
682+ GFX_Brush brush;
683+ GFX_Rect rectangle;
684+
685+ NANOCLR_CHECK_HRESULT (GetBitmap (stack, true , bitmap));
686+
687+ pArgs = &(stack.Arg1 ());
688+
689+ rectangle.left = pArgs[0 ].NumericByRef ().s4 ;
690+ rectangle.top = pArgs[1 ].NumericByRef ().s4 ;
691+ rectangle.right = rectangle.left + pArgs[2 ].NumericByRef ().s4 - 1 ;
692+ rectangle.bottom = rectangle.top + pArgs[3 ].NumericByRef ().s4 - 1 ;
693+
694+ // No outline
695+ pen.thickness = 0 ;
696+
697+ brush.gradientStartColor = pArgs[4 ].NumericByRef ().u4 ;
698+ brush.gradientStartX = pArgs[5 ].NumericByRef ().s4 ;
699+ brush.gradientStartY = pArgs[6 ].NumericByRef ().s4 ;
700+ brush.gradientEndColor = pArgs[7 ].NumericByRef ().u4 ;
701+ brush.gradientEndX = pArgs[8 ].NumericByRef ().s4 ;
702+ brush.gradientEndY = pArgs[9 ].NumericByRef ().s4 ;
703+ brush.opacity = pArgs[10 ].NumericByRef ().u2 ;
704+
705+ bitmap->DrawRectangle (pen, brush, rectangle);
706+
707+ NANOCLR_NOCLEANUP ();
708+ }
709+
537710HRESULT Library_nanoFramework_Graphics_nanoFramework_UI_Bitmap::
538711 DrawRectangle___VOID__nanoFrameworkPresentationMediaColor__I4__I4__I4__I4__I4__I4__I4__nanoFrameworkPresentationMediaColor__I4__I4__nanoFrameworkPresentationMediaColor__I4__I4__U2 (
539712 CLR_RT_StackFrame &stack)
0 commit comments