Blame mono/Assistance/Tool.cs

Ivan Mahonin 726e8a
using System;
Ivan Mahonin 589f9a
using System.Collections.Generic;
Ivan Mahonin 726e8a
Ivan Mahonin 726e8a
namespace Assistance {
Ivan Mahonin a62e15
	public class Tool {
Ivan Mahonin 61bedf
		[Flags]
Ivan Mahonin 61bedf
		public enum ModifierTypes {
Ivan Mahonin 61bedf
			None = 0,
Ivan Mahonin 61bedf
			Tangents = 1,
Ivan Mahonin 61bedf
			Interpolation = 2,
Ivan Mahonin 61bedf
			Guideline = 4,
Ivan Mahonin 720280
			Multiline = 8,
Ivan Mahonin 720280
			All = 15
Ivan Mahonin 61bedf
		};
Ivan Mahonin 720280
		
Ivan Mahonin 720280
		
Ivan Mahonin 720280
		public readonly Workarea workarea;
Ivan Mahonin 720280
		
Ivan Mahonin 720280
		
Ivan Mahonin 720280
		public Tool(Workarea workarea)
Ivan Mahonin 720280
			{ this.workarea = workarea; }
Ivan Mahonin 61bedf
Ivan Mahonin 61bedf
		public virtual ModifierTypes getAvailableModifierTypes()
Ivan Mahonin 61bedf
			{ return ModifierTypes.None; }
Ivan Mahonin 61bedf
Ivan Mahonin 61bedf
		public virtual void activate() { }
Ivan Mahonin 61bedf
Ivan Mahonin 61bedf
		public virtual void keyEvent(bool press, Gdk.Key key, InputState state) { }
Ivan Mahonin 61bedf
		public virtual void buttonEvent(bool press, Gdk.Device device, uint button, InputState state) { }
Ivan Mahonin 38c95c
	
Ivan Mahonin 61bedf
		// create new painting level and return true, or do nothing and return false
Ivan Mahonin 61bedf
		// was:            ------O-------O------ 
Ivan Mahonin 61bedf
		// become:         ------O-------O------O
Ivan Mahonin 61bedf
		public virtual bool paintPush() { return false; }
Ivan Mahonin 61bedf
		
Ivan Mahonin 61bedf
		// paint several track-points at the top painting level
Ivan Mahonin 61bedf
		// was:            ------O-------O------
Ivan Mahonin 61bedf
		// become:         ------O-------O------------
Ivan Mahonin 61bedf
		public virtual void paintTracks(List<Track> tracks) { }
Ivan Mahonin 61bedf
Ivan Mahonin 720280
		// try to merge N top painting levels and return count of levels that actually merged
Ivan Mahonin 61bedf
		// was:            ------O-------O------O------
Ivan Mahonin 61bedf
		// become (N = 2): ------O---------------------
Ivan Mahonin 589f9a
		public virtual int paintApply(int count) { return 0; }
Ivan Mahonin 61bedf
Ivan Mahonin 61bedf
		// reset top level to initial state
Ivan Mahonin 61bedf
		// was:            ------O-------O------O------
Ivan Mahonin 61bedf
		// become:         ------O-------O------O
Ivan Mahonin 61bedf
		public virtual void paintCancel() { }
Ivan Mahonin 61bedf
Ivan Mahonin 61bedf
		// cancel and pop N painting levels
Ivan Mahonin 61bedf
		// was:            ------O-------O------O------
Ivan Mahonin 61bedf
		// become (N = 2): ------O-------
Ivan Mahonin 61bedf
		public virtual void paintPop(int count) { }
Ivan Mahonin 61bedf
		
Ivan Mahonin 38c95c
Ivan Mahonin 61bedf
		public virtual void draw(Cairo.Context context) { }
Ivan Mahonin 77e178
Ivan Mahonin 61bedf
		public virtual void deactivate() { }
Ivan Mahonin 726e8a
	}
Ivan Mahonin 726e8a
}