diff options
author | Piotr Bereza <p.bereza@samsung.com> | 2017-03-22 16:45:27 +0100 |
---|---|---|
committer | Kangho Hur <kangho.hur@samsung.com> | 2017-07-10 11:11:24 +0900 |
commit | 2ba80f571a23077142b14b703bdc3378b879df02 (patch) | |
tree | d6052b28af80e35d4132cea7d6ee0b00e8de38f4 /Xamarin.Forms.Platform.Tizen/Renderers/FrameRenderer.cs | |
parent | 649baa2d3d9021f5fff50dc24c4b0d0f25fa4fa5 (diff) | |
download | xamarin-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.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(); } - } } |