aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/GraphicObjects/ILayoutable.cs
blob: b48e815a11a6f1cc0607a019118d7a6daf015268 (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
using System;
using System.Collections.Generic;

namespace Crow
{
	public interface ILayoutable
	{
		/// <summary> Unsuccessfull UpdateLayout and requeueing count </summary>
		int LayoutingTries { get; set; }
		/// <summary> Parent in the graphic tree </summary>
		ILayoutable Parent { get; set; }
		/// <summary> The logical parent (used mainly for bindings) as opposed
		///  to the parent in the graphic tree </summary>
		ILayoutable LogicalParent { get; set; }

		Rectangle ClientRectangle { get; }
		Rectangle getSlot();

		bool ArrangeChildren { get; }
		LayoutingType RegisteredLayoutings { get; set; }
		void RegisterForLayouting(LayoutingType layoutType);
		void RegisterClip(Rectangle clip);
		bool UpdateLayout(LayoutingType layoutType);


		Rectangle ContextCoordinates(Rectangle r);
		Rectangle ScreenCoordinates (Rectangle r);

	}
}