summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/Renderers/FrameRenderer.cs
diff options
context:
space:
mode:
authorPiotr Bereza <p.bereza@samsung.com>2017-03-22 16:45:27 +0100
committerKangho Hur <kangho.hur@samsung.com>2017-07-10 11:11:24 +0900
commit2ba80f571a23077142b14b703bdc3378b879df02 (patch)
treed6052b28af80e35d4132cea7d6ee0b00e8de38f4 /Xamarin.Forms.Platform.Tizen/Renderers/FrameRenderer.cs
parent649baa2d3d9021f5fff50dc24c4b0d0f25fa4fa5 (diff)
downloadxamarin-forms-2ba80f571a23077142b14b703bdc3378b879df02.tar.gz
xamarin-forms-2ba80f571a23077142b14b703bdc3378b879df02.tar.bz2
xamarin-forms-2ba80f571a23077142b14b703bdc3378b879df02.zip
New way of layout
Change-Id: I827d199fdc9be0f62a2a149ed2bd943c5ab76056 Signed-off-by: Piotr Bereza <p.bereza@samsung.com>
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();
}
-
}
}