public WinFormsCanvas(ICanvas canvas, WinFormsCanvasPanel panel) { Background = canvas.Background; SnapX = canvas.SnapX; SnapY = canvas.SnapY; EnableSnap = canvas.EnableSnap; History = canvas.History; Children = new List<INative>(); _panel = panel; _panel.Layers.Add(this); Downs = Observable.FromEventPattern<MouseEventArgs>(_panel, "MouseDown") .Where(e => e.EventArgs.Button == MouseButtons.Left) .Select(e => Snap(e.EventArgs.Location)); Ups = Observable.FromEventPattern<MouseEventArgs>(_panel, "MouseUp") .Where(e => e.EventArgs.Button == MouseButtons.Left) .Select(e => Snap(e.EventArgs.Location)); Moves = Observable.FromEventPattern<MouseEventArgs>(_panel, "MouseMove") .Select(e => Snap(e.EventArgs.Location)); Native = _panel; }
public WinFormsCanvas(ICanvas canvas, WinFormsCanvasPanel panel) { Background = canvas.Background; SnapX = canvas.SnapX; SnapY = canvas.SnapY; EnableSnap = canvas.EnableSnap; History = canvas.History; Children = new List <INative>(); _panel = panel; _panel.Layers.Add(this); Downs = Observable.FromEventPattern <MouseEventArgs>(_panel, "MouseDown") .Where(e => e.EventArgs.Button == MouseButtons.Left) .Select(e => Snap(e.EventArgs.Location)); Ups = Observable.FromEventPattern <MouseEventArgs>(_panel, "MouseUp") .Where(e => e.EventArgs.Button == MouseButtons.Left) .Select(e => Snap(e.EventArgs.Location)); Moves = Observable.FromEventPattern <MouseEventArgs>(_panel, "MouseMove") .Select(e => Snap(e.EventArgs.Location)); Native = _panel; }
protected override void Load(ContainerBuilder builder) { builder.Register<INativeConverter>(c => { var panel = new WinFormsCanvasPanel(); panel.Anchor = System.Windows.Forms.AnchorStyles.None; panel.Location = new System.Drawing.Point(100, 12); panel.Name = "canvasPanel"; panel.Size = new System.Drawing.Size(600, 600); panel.TabIndex = 0; return new WinFormsConverter(panel); }).SingleInstance(); }
public WinFormsConverter(WinFormsCanvasPanel panel) { _panel = panel; }