using ElmSharp;
namespace Xamarin.Forms.Platform.Tizen
{
///
/// Base class for view renderers.
///
public abstract class ViewRenderer : VisualElementRenderer
where TView : View
where TNativeView : EvasObject
{
GestureDetector _gestureDetector;
///
/// Default constructor.
///
protected ViewRenderer()
{
}
protected override void OnElementChanged(ElementChangedEventArgs e)
{
base.OnElementChanged(e);
if (e.OldElement != null)
{
_gestureDetector.Clear();
_gestureDetector = null;
}
if (e.NewElement != null)
{
_gestureDetector = new GestureDetector(this);
}
}
///
/// Native control associated with this renderer.
///
public TNativeView Control
{
get
{
return (TNativeView)NativeView;
}
}
protected override void ApplyTransformation()
{
base.ApplyTransformation();
_gestureDetector?.UpdateHitBox();
}
}
}