public override void Clear() { //strokes.Clear(); using(Graphics bgGraphics = Graphics.FromImage(bgBitmap)) { bgGraphics.Clear(Color.White); } lastStroke=null; strokeCount=0; //El metodo QueueDraw de los widget gtk fuerza el redibujado del control QueueDraw(); ClearedEvent(); }
public override void UndoLastStroke() { if(lastStroke!=null) { lastStroke=null; strokeCount--; QueueDraw(); StrokeRemovedEvent(); if(strokeCount==0) { ClearedEvent(); } } }
//Gestion del apretar el boton del raton en el control, //empezamos a dibujar protected override bool OnButtonPressEvent(Gdk.EventButton arg) { //Vemos si es el botón principal del ratón if(arg.Button==1) { mouseButtonPressed=true; oldX=(int)arg.X; oldY=(int)arg.Y; if(lastStroke!=null) { using(Graphics bgGraphics = Graphics.FromImage(bgBitmap)) { bgGraphics.SmoothingMode = this.smoothingMode; lastStroke.Draw(bgGraphics); } } lastStroke=new Stroke(foreground); lastStroke.AddPoint(new Point((int)arg.X,(int)arg.Y)); } return true; }