diff options
author | Kangho Hur <kangho.hur@samsung.com> | 2016-12-16 11:00:07 +0900 |
---|---|---|
committer | Kangho Hur <kangho.hur@samsung.com> | 2017-10-23 13:34:24 +0900 |
commit | a2e67107402bc5a49d73cee9062bcd7dbe4069e7 (patch) | |
tree | ea6c6606567e8440397de192d47195194c0266dd /Xamarin.Forms.Platform.Tizen/Renderers/BoxViewRenderer.cs | |
parent | 509954d0a013acdf7508644c1fb394bea626e587 (diff) | |
download | xamarin-forms-a2e67107402bc5a49d73cee9062bcd7dbe4069e7.tar.gz xamarin-forms-a2e67107402bc5a49d73cee9062bcd7dbe4069e7.tar.bz2 xamarin-forms-a2e67107402bc5a49d73cee9062bcd7dbe4069e7.zip |
Add Tizen backend renderer
- Xamarin.Forms.Platform.Tizen has been added
- Xamarin.Forms.Maps.Tizen has been added
- RPM build spec has been added
Change-Id: I0021e0f040d97345affc87512ee0f6ce437f4e6d
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/BoxViewRenderer.cs')
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/BoxViewRenderer.cs | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/BoxViewRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/BoxViewRenderer.cs new file mode 100644 index 00000000..7a9f756d --- /dev/null +++ b/Xamarin.Forms.Platform.Tizen/Renderers/BoxViewRenderer.cs @@ -0,0 +1,61 @@ +using System.ComponentModel; +using EColor = ElmSharp.Color; +using ERectangle = ElmSharp.Rectangle; + +namespace Xamarin.Forms.Platform.Tizen +{ + public class BoxViewRenderer : + VisualElementRenderer<BoxView> + { + static readonly EColor s_defaultColor = EColor.Transparent; + + ERectangle _control; + + public BoxViewRenderer() + { + } + + protected override void OnElementChanged(ElementChangedEventArgs<BoxView> e) + { + if (_control == null) + { + _control = new ERectangle(Forms.Context.MainWindow); + SetNativeControl(_control); + } + + if (e.OldElement != null) + { + } + + if (e.NewElement != null) + { + UpdateColor(); + } + + base.OnElementChanged(e); + } + + void UpdateColor() + { + Color colorToSet = Element.Color; + + if (colorToSet == Color.Default) + { + colorToSet = Element.BackgroundColor; + } + + _control.Color = (colorToSet == Color.Default) ? s_defaultColor : colorToSet.ToNative(); + } + + protected override void OnElementPropertyChanged(object sender, + PropertyChangedEventArgs e) + { + if (e.PropertyName == BoxView.ColorProperty.PropertyName || + e.PropertyName == VisualElement.BackgroundColorProperty.PropertyName) + { + UpdateColor(); + } + base.OnElementPropertyChanged(sender, e); + } + } +} |