using System; using System.Collections.Generic; using Assistance.Drawing; namespace Assistance { public class Modifier: ActivePoint.Owner, InputManager.IModifier { public static readonly Pen pen = new Pen("Light Gray"); public Modifier(Document document): base(document) { document.modifiers.Add(this); document.workarea.updateModifiers(); } public override void remove() { base.remove(); document.modifiers.Remove(this); document.workarea.updateModifiers(); } public override void bringToFront() { document.modifiers.Remove(this); document.modifiers.Add(this); } public virtual void activate() { } public virtual void modify(Track track, InputManager.KeyPoint keyPoint, List outTracks) { } public virtual void modify(List tracks, InputManager.KeyPoint keyPoint, List outTracks) { foreach(Track track in tracks) modify(track, keyPoint, outTracks); } public virtual void drawHover(Cairo.Context context, Point hover) { } public virtual void drawTrack(Cairo.Context context, Track track) { } public virtual void draw(Cairo.Context context, List tracks, List hovers) { foreach(Track track in tracks) drawTrack(context, track); foreach(Point hover in hovers) drawHover(context, hover); } public virtual void deactivate() { } public virtual void draw(Cairo.Context context) { } } }