diff options
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/FrameRenderer.cs')
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/FrameRenderer.cs | 54 |
1 files changed, 25 insertions, 29 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/FrameRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/FrameRenderer.cs index 0684c4ac..0c815772 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/FrameRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/FrameRenderer.cs @@ -49,34 +49,7 @@ namespace Xamarin.Forms.Platform.Tizen base.OnElementChanged(e); } - void OnLayoutUpdated(object sender, Native.LayoutEventArgs e) - { - UpdateGeometry(); - // TODO: why is this DoLayout() required? - if (Element.Content != null) - base.DoLayout(e); - } - - void UpdateGeometry() - { - var geometry = NativeView.Geometry; - DrawFrame(_frame, - geometry.X, - geometry.Y, - geometry.Right, - geometry.Bottom, - _thickness - ); - DrawFrame(_shadow, - geometry.X + _shadow_shift, - geometry.Y + _shadow_shift, - geometry.Right - _thickness + _shadow_shift + _shadow_thickness, - geometry.Bottom - _thickness + _shadow_shift + _shadow_thickness, - _shadow_thickness - ); - } - - void DrawFrame(Polygon frame, int left, int top, int right, int bottom, int thickness) + static void DrawFrame(Polygon frame, int left, int top, int right, int bottom, int thickness) { frame.ClearPoints(); if (left + thickness >= right || top + thickness >= bottom) @@ -104,6 +77,30 @@ namespace Xamarin.Forms.Platform.Tizen frame.AddPoint(left, top + thickness); } + void OnLayoutUpdated(object sender, Native.LayoutEventArgs e) + { + UpdateGeometry(); + } + + void UpdateGeometry() + { + var geometry = NativeView.Geometry; + DrawFrame(_frame, + geometry.X, + geometry.Y, + geometry.Right, + geometry.Bottom, + _thickness + ); + DrawFrame(_shadow, + geometry.X + _shadow_shift, + geometry.Y + _shadow_shift, + geometry.Right - _thickness + _shadow_shift + _shadow_thickness, + geometry.Bottom - _thickness + _shadow_shift + _shadow_thickness, + _shadow_thickness + ); + } + void UpdateColor() { if (Element.OutlineColor.IsDefault) @@ -119,6 +116,5 @@ namespace Xamarin.Forms.Platform.Tizen else _shadow.Hide(); } - } } |