internal void scroll(int delta, Pnt view) { Pnt lastWorldPos = WorldPos; Pnt lastViewPos = ViewPos; ViewPos = view; foreach (var c in controllers) { c.scroll(delta, lastWorldPos, lastViewPos); } }
protected override void OnPaint(PaintEventArgs e) { background.paint(Size, e.ClipRectangle, e.Graphics); Pnt drawingSize = this.drawingSize * ZoomScale; e.Graphics.DrawRectangle(Pens.Black, displacement.X, displacement.Y, drawingSize.X, drawingSize.Y); using (Brush b = new SolidBrush(paperColor)) { e.Graphics.FillRectangle(b, displacement.X, displacement.Y, drawingSize.X, drawingSize.Y); } }
internal void move(Pnt view) { Pnt lastWorldPos = WorldPos; Pnt lastViewPos = ViewPos; ViewPos = view; Pnt dstWorld = WorldPos - lastWorldPos; Pnt dstView = ViewPos - lastViewPos; foreach (var c in controllers) { c.move(lastWorldPos, lastViewPos, dstWorld, dstView); } }
public virtual void move(Pnt lastWorldPos, Pnt lastViewPos, Pnt dstWorld, Pnt dstView) { }
public virtual void scroll(int delta, Pnt worldPos, Pnt viewPos) { }
internal void translate(Pnt move) { displacement += move; Invalidate(); }
public void CenterView() { displacement = (new Pnt(Width, Height) - drawingSize) / 2; }
internal Pnt viewToWorld(Pnt view) { return(new Pnt(view.X, view.Y) * ZoomScale); }