summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/EvasObjectWrapper.cs
blob: 526c47398ff0d06f6c6fb21a0455c50fbfba44bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using ElmSharp;
using ESize = ElmSharp.Size;

namespace Xamarin.Forms.Platform.Tizen
{
	public delegate ESize? MeasureDelegate(EvasObjectWrapperRenderer renderer, int availableWidth, int availableHeight);

	public class EvasObjectWrapper : View
	{
		public EvasObjectWrapper(EvasObject obj, MeasureDelegate measureDelegate = null)
		{
			EvasObject = obj;
			MeasureDelegate = measureDelegate;

			obj.TransferBindablePropertiesToWrapper(this);
		}

		public EvasObject EvasObject
		{
			get;
			private set;
		}

		public MeasureDelegate MeasureDelegate { get; }

		protected override void OnBindingContextChanged()
		{
			// TODO: we should provide a delegate to obtain children of a Container object,
			//       however currently there is no way to get the list of children
			EvasObject.SetBindingContext(BindingContext);
			base.OnBindingContextChanged();
		}
	}
}