summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs
diff options
context:
space:
mode:
authorKangho Hur <kangho.hur@samsung.com>2017-02-28 09:36:00 +0900
committerKangho Hur <kangho.hur@samsung.com>2017-10-23 13:34:29 +0900
commit275fe3221e31985684a90d00c5f8886bff6c0b73 (patch)
treeac9aa38e271cc604384b53fbcb584c6c79f3e781 /Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs
parent91072b0dcfe23bd9fcb2ecdbd168026c6c70ac85 (diff)
downloadxamarin-forms-275fe3221e31985684a90d00c5f8886bff6c0b73.tar.gz
xamarin-forms-275fe3221e31985684a90d00c5f8886bff6c0b73.tar.bz2
xamarin-forms-275fe3221e31985684a90d00c5f8886bff6c0b73.zip
Renew the VisualElement.Opacity
- OpacityLayer is no more needed in renderer. - There is a limitation on this chagne - Entry and Label are not support Opacity property anymore. It will be fixed soon when Elm# is support. Change-Id: I52f0fc67fdfda65cf8141cceab877890d260a4e6
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs74
1 files changed, 13 insertions, 61 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs
index 37a5fafb..394ec02b 100644
--- a/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs
+++ b/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs
@@ -44,8 +44,6 @@ namespace Xamarin.Forms.Platform.Tizen
HashSet<string> _batchedProperties = new HashSet<string>();
- ERectangle _opacityLayer;
-
internal GestureHandler _gestureHandler;
/// <summary>
@@ -209,7 +207,6 @@ namespace Xamarin.Forms.Platform.Tizen
var y = ComputeAbsoluteY(Element);
NativeView.Geometry = new Rectangle(x, y, Element.Width, Element.Height).ToPixel();
ApplyTransformation();
- UpdateOpacityLayer();
}
void IVisualElementRenderer.SetElement(VisualElement element)
@@ -309,7 +306,6 @@ namespace Xamarin.Forms.Platform.Tizen
if (NativeView != null)
{
NativeView.Deleted -= NativeViewDeleted;
- EnsureOpacityLayerIsDestroyed();
NativeView.Unrealize();
SetNativeView(null);
}
@@ -425,7 +421,6 @@ namespace Xamarin.Forms.Platform.Tizen
{
NativeView.Moved -= OnMoved;
NativeView.Deleted -= NativeViewDeleted;
- EnsureOpacityLayerIsDestroyed();
}
Widget widget = NativeView as Widget;
@@ -584,6 +579,18 @@ namespace Xamarin.Forms.Platform.Tizen
}
}
+ protected virtual void UpdateOpacity()
+ {
+ if (NativeView is Widget)
+ {
+ (NativeView as Widget).Opacity = (int)(Element.Opacity * 255.0);
+ }
+ else
+ {
+ Log.Warn("{0} uses {1} which does not support opacity", this, NativeView);
+ }
+ }
+
static double ComputeAbsoluteX(VisualElement e)
{
return e.X + (e.RealParent is VisualElement ? Forms.ConvertToScaledDP(Platform.GetRenderer(e.RealParent).NativeView.Geometry.X) : 0.0);
@@ -719,7 +726,6 @@ namespace Xamarin.Forms.Platform.Tizen
void OnMoved(object sender, EventArgs e)
{
- UpdateOpacityLayer();
ApplyTransformation();
_gestureHandler?.UpdateHitBox();
}
@@ -752,30 +758,12 @@ namespace Xamarin.Forms.Platform.Tizen
}
}
- void UpdateOpacity()
- {
- if (null != NativeView)
- {
- if (Element.Opacity < 1.0)
- {
- EnsureOpacityLayerExists();
-
- var alpha = (int)(Element.Opacity * 255.0);
- _opacityLayer.Color = new EColor(255, 255, 255, alpha);
- }
- else
- {
- EnsureOpacityLayerIsDestroyed();
- }
- }
- }
-
/// <summary>
/// Updates the IsEnabled property.
/// </summary>
void UpdateIsEnabled()
{
- Widget widget = NativeView as Widget;
+ var widget = NativeView as Widget;
if (widget != null)
{
widget.IsEnabled = Element.IsEnabled;
@@ -874,48 +862,12 @@ namespace Xamarin.Forms.Platform.Tizen
ApplyTranslation(map, geometry, ref changed);
NativeView.IsMapEnabled = changed;
-
if (changed)
{
NativeView.EvasMap = map;
-
- if (_opacityLayer != null)
- {
- _opacityLayer.IsMapEnabled = true;
- _opacityLayer.EvasMap = map;
- }
}
_gestureHandler?.UpdateHitBox();
}
-
- protected virtual void UpdateOpacityLayer()
- {
- if (_opacityLayer != null)
- {
- _opacityLayer.Geometry = NativeView.Geometry;
- NativeView.SetClip(_opacityLayer);
- }
- }
-
- void EnsureOpacityLayerExists()
- {
- if (_opacityLayer == null)
- {
- _opacityLayer = new ERectangle(NativeView);
- UpdateOpacityLayer();
- _opacityLayer.Show();
- }
- }
-
- void EnsureOpacityLayerIsDestroyed()
- {
- if (_opacityLayer != null)
- {
- NativeView.SetClip(null);
- _opacityLayer.Unrealize();
- _opacityLayer = null;
- }
- }
}
internal static class Settings