using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; namespace Dragablz { public interface IItemsOrganiser { void Organise(DragablzItemsControl requestor, Size measureBounds, IEnumerable items); void Organise(DragablzItemsControl requestor, Size measureBounds, IOrderedEnumerable items); void OrganiseOnMouseDownWithin(DragablzItemsControl requestor, Size measureBounds, List siblingItems, DragablzItem dragablzItem); void OrganiseOnDragStarted(DragablzItemsControl requestor, Size measureBounds, IEnumerable siblingItems, DragablzItem dragItem); void OrganiseOnDrag(DragablzItemsControl requestor, Size measureBounds, IEnumerable siblingItems, DragablzItem dragItem); void OrganiseOnDragCompleted(DragablzItemsControl requestor, Size measureBounds, IEnumerable siblingItems, DragablzItem dragItem); Point ConstrainLocation(DragablzItemsControl requestor, Size measureBounds, Point itemCurrentLocation, Size itemCurrentSize, Point itemDesiredLocation, Size itemDesiredSize); Size Measure(DragablzItemsControl requestor, Size availableSize, IEnumerable items); IEnumerable Sort(IEnumerable items); } }