summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/Renderers/FrameRenderer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/FrameRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.Tizen/Renderers/FrameRenderer.cs54
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();
}
-
}
}