public CursorController(TimelineController timeline) { state = CursorState.Hover; this.timeline = timeline; rectangleProvider = timeline.RectangleProvider; handler = new ControllerHandler(this); protoCursor = new Rectangle(); cursors = new List <Cursor>(); oldCursors = new List <Cursor>(); UpdateCache(); oldCursors.AddRange(cursors); timeline.TimelineZoomChanged += Timeline_TimelineZoomChanged; timeline.TimelineLengthChanged += Timeline_TimelineLengthChanged; timeline.LocationChanged += Timeline_LocationChanged; rectangleProvider.MouseDown += RectangleProvider_MouseDown; rectangleProvider.MouseMove += RectangleProvider_MouseMove; rectangleProvider.MouseUp += RectangleProvider_MouseUp; rectangleProvider.Paint += RectangleProvider_Paint; rectangleProvider.MouseEnter += RectangleProvider_MouseEnter; }
public ItemController CreateItem(int startPosition = 0, int length = 1) { ItemController item = new ItemController(this, startPosition, length); items.Add(item); RectangleProvider.InvalidateContentContainerRectangle(item.Rectangle); return(item); }
private void Initialize(TimelineController timeline) { layers = new List <LayerController>(); this.timeline = timeline; toggleLock = false; toggleVisibility = true; rectangleProvider = timeline.RectangleProvider; rectangleProvider.Paint += TimelineContent_Paint; rectangleProvider.Resize += TimelineContent_Resize; timeline.TimelineZoomChanged += Timeline_TimelineZoomChanged; timeline.TimelineLengthChanged += Timeline_TimelineLengthChanged; timeline.LocationChanged += Timeline_LocationChanged; BackColor = ColorProvider.GetRandomSliceColor(); SetId(); CreateLayer(); lockButton = new ButtonController(this, new Point( 5 + dragWidth + ButtonController.margin, padding + ButtonController.margin)); lockButton.ButtonClicked += LockButton_ButtonClicked; lockButton.Icon = Properties.Resources.open_lock; visibilityButton = new ButtonController(this, new Point( 5 + dragWidth + ButtonController.margin * 3 + ButtonController.width, padding + ButtonController.margin)); visibilityButton.ButtonClicked += VisibilityButton_ButtonClicked; visibilityButton.Icon = Properties.Resources.open_eye; addSliceButton = new ButtonController(this, new Point( 5 + dragWidth + ButtonController.margin, padding + ButtonController.margin * 3 + ButtonController.height)); addSliceButton.ButtonClicked += AddSliceButton_ButtonClicked; addSliceButton.Icon = Properties.Resources.plus; removeSliceButton = new ButtonController(this, new Point( 5 + dragWidth + ButtonController.margin * 3 + ButtonController.width, padding + ButtonController.margin * 3 + ButtonController.height)); removeSliceButton.ButtonClicked += RemoveSliceButton_ButtonClicked; removeSliceButton.Icon = Properties.Resources.minus; UpdateCache(); UpdateUI(); }
private void Initialize(SliceController slice) { this.slice = slice; toggleLock = false; toggleVisibility = true; rectangleProvider = slice.RectangleProvider; rectangleProvider.Paint += TimelineContent_Paint; rectangleProvider.Resize += TimelineContent_Resize; AddSliceEvents(); BackColor = ColorProvider.GetRandomLayerColor(); SetId(); items = new List <ItemController>(); lockButton = new ButtonController(this, new Point( 5 + dragWidth + ButtonController.margin, ButtonController.margin)); lockButton.ButtonClicked += LockButton_ButtonClicked; lockButton.Icon = Properties.Resources.open_lock; visibilityButton = new ButtonController(this, new Point( 5 + dragWidth + ButtonController.margin * 3 + ButtonController.width, ButtonController.margin)); visibilityButton.ButtonClicked += VisibilityButton_ButtonClicked; visibilityButton.Icon = Properties.Resources.open_eye; addLayerButton = new ButtonController(this, new Point( 5 + dragWidth + ButtonController.margin, ButtonController.margin * 3 + ButtonController.height)); addLayerButton.ButtonClicked += AddLayerButton_ButtonClicked; addLayerButton.Icon = Properties.Resources.plus; removeLayerButton = new ButtonController(this, new Point( 5 + dragWidth + ButtonController.margin * 3 + ButtonController.width, ButtonController.margin * 3 + ButtonController.height)); removeLayerButton.ButtonClicked += RemoveLayerButton_ButtonClicked; removeLayerButton.Icon = Properties.Resources.minus; UpdateUI(); }
public ButtonController(IControlController control, Point relativePosition) { buttonRectangle = new Rectangle(); buttonRectangle.Width = width; buttonRectangle.Height = height; this.control = control; rectangleProvider = this.control.RectangleProvider; left = relativePosition.X; top = relativePosition.Y; control.TimelineZoomChanged += Timeline_TimelineZoomChanged; control.TimelineLengthChanged += Timeline_TimelineLengthChanged; control.LocationChanged += Control_LocationChanged; rectangleProvider.Paint += RectangleProvider_Paint; rectangleProvider.MouseDown += RectangleProvider_MouseDown; rectangleProvider.MouseUp += RectangleProvider_MouseUp; UpdateCache(); UpdateUI(); }
internal void TransferItem(ItemController item, LayerController layer) { if (layer == this) { throw new ArgumentException("Layer can't be this layer."); } if (!items.Exists(x => x == item)) { throw new ArgumentException("This layer doesn't contain given item."); } RectangleProvider.InvalidateContentContainerRectangle(item.Rectangle); items.Remove(item); layer.items.Add(item); if (Disowning != null) { Disowning.Invoke(this, new DisownEventArgs(item, layer)); } RectangleProvider.InvalidateContentContainerRectangle(item.Rectangle); }
internal RulerController(TimelineController timeline) { this.timeline = timeline; rectangleProvider = timeline.RectangleProvider; oldRect = rectangleProvider.RulerContainerRectangle; oldScreenRect = GetScreenRectangle(); oldScroll = rectangleProvider.HorizontalScroll; rulerRectangle = new Rectangle(); UpdateCache(); if (ProjectFramerate == 24) { markPattern = new int[] { 20, 35, 30, 35, 25, 35, 30, 35 }; } else if (ProjectFramerate == 25) { markPattern = new int[] { 20, 35, 35, 35, 35, }; } else if (ProjectFramerate == 30) { markPattern = new int[] { 20, 35, 35, 35, 35, 30, 35, 35, 35, 35 }; } else { markPattern = new int[] { 25 }; } rectangleProvider.Paint += TimelineContent_Paint; rectangleProvider.Resize += TimelineContent_Resize; timeline.TimelineZoomChanged += Timeline_TimelineZoomChanged; timeline.TimelineLengthChanged += Timeline_TimelineLengthChanged; timeline.LocationChanged += TimelineContent_LocationChanged; UpdateUI(); }
public void DeleteItem(ItemController item) { items.Remove(item); RectangleProvider.InvalidateContentContainerRectangle(item.Rectangle); item.Delete(); }