/// file: PaintTool.cs /// Author: Maxime Rohmer /// Brief: Interface that is here to define what is a paint tool /// Version: 0.1.0 /// Date: 17/06/2022 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Drawing; namespace Paint_2 { public interface PaintTool : ICloneable { List> Drawings { get; set; } List> DrawingsRedo { get; set; } List Colors { get; set; } List ColorsRedo { get; set; } Color Color { get; set; } List Widths { get; set; } List WidthsRedo { get; set; } bool NeedsFullRefresh { get; set; } int Width { get; set; } string Name { get; set; } bool IsCtrlPressed { get; set; } bool IsShiftPressed { get; set; } void Start(Color color, int width); void Stop(); void Add(Point point); void Undo(); void Redo(); void Clear(); List GetLastColors(int colorNumber); void Paint(Bitmap canvas); string PaintSVG(); string ToString(); } }