using System; using System.Collections.Generic; namespace Crow { public interface ILayoutable { /// Unsuccessfull UpdateLayout and requeueing count int LayoutingTries { get; set; } /// Parent in the graphic tree ILayoutable Parent { get; set; } /// The logical parent (used mainly for bindings) as opposed /// to the parent in the graphic tree ILayoutable LogicalParent { get; set; } Rectangle ClientRectangle { get; } Rectangle getSlot(); Rectangle getBounds(); 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); } }