public sealed override void MouseUp(object sender, MouseEventArgs e, Displayer displayer) { lock (Locker) { ProcessMouseUp(sender, e, displayer); } }
public virtual void SetDisplayer(Displayer d) { Displayer = d; Displayer.BeforeRebindTarget += Displayer_BeforeRebindTarget; Displayer.AfterRebindTarget += Displayer_AfterRebindTarget; BindEvents(Panel); }
private void Panel_MouseDoubleClick(object sender, MouseEventArgs e) { if (draggingDisplayer == null) { draggingPanel = sender as Panel; draggingDisplayer = PanelMap[draggingPanel]; } else { var dropPanel = sender as Panel; if (dropPanel == draggingPanel) { dropPanel = null; draggingPanel = null; draggingDisplayer = null; return; } var dropDisplayer = PanelMap[dropPanel]; dropDisplayer.Stop(); draggingDisplayer.Stop(); dropDisplayer.SetPanel(draggingPanel); draggingDisplayer.SetPanel(dropPanel); PanelMap[dropPanel] = draggingDisplayer; PanelMap[draggingPanel] = dropDisplayer; dropDisplayer.Start(); draggingDisplayer.Start(); draggingDisplayer = null; draggingPanel = null; } }
public override void SetDisplayer(Displayer d) { base.SetDisplayer(d); selector = new WaveGateSelector(); d.Elements.Add(LayerId, selector); selector.SelectionFinish += Selector_SelectionFinish; }
public void AddDisplayer(Displayer d) { if (PanelMap.ContainsKey(d.Panel)) { throw new Exception(); } PanelMap.Add(d.Panel, d); d.Panel.MouseDoubleClick += Panel_MouseDoubleClick; }
public override void SetDisplayer(Displayer d) { if (rotateDecorator == null) { rotateDecorator = PolarRotateDecorator.GetInstance(RotateDecoratorName, d.Mapper); } Mapper.MapperStateChanged += Mapper_MapperStateChanged; base.SetDisplayer(d); }
protected override void ProcessMouseMove(object sender, MouseEventArgs e, Displayer displayer) { foreach (var k in layers.Keys) { foreach (var el in layers[k]) { el.MouseMove(sender, e, displayer); } } }
public override void SetDisplayer(Displayer d) { base.SetDisplayer(d); lock (Locker) { foreach (var btn in buttonMap.Keys) { displayer.Elements.Add(LayerId, btn); displayer.Elements.Add(LayerId, buttonMap[btn] as GraphicElement); } } }
protected override void ProcessMouseMove(object sender, MouseEventArgs e, Displayer displayer) { if (!mouseDown) { return; } PPIBackground bg = displayer.Background as PPIBackground; var range = bg.Range; var r = PointFToRCoordinate(displayer.Mapper.GetCoordinateLocation(e.X, e.Y)).Polar.Dis; if (r > range) { return; } Update(e.Location, displayer.Mapper); throw new NotImplementedException(); }
public override void SetDisplayer(Displayer d) { base.SetDisplayer(d); //初始化字典 var intervalCoverage = 360.0f / ConsumedLayerCount; for (int i = LayerId + 1, j = 0; i < ConsumedLayerCount + LayerId + 1; i++, j++) //计算LayerId时要从OriginalVideoManager所属的Layer下一个Id算起,否则RefreshLayer时会把OriginalVideoManager从当前的layer清除掉 { layerMap.Add(i, new List <OriginalVideoData>()); var interval = ValueIntervals.ValueInterval.CloseOpen(j * intervalCoverage, (j + 1) * intervalCoverage); intervalMap.Add(interval, i); d.Elements.AddLayer(i); } Mapper.MapperStateChanged += Mapper_MapperStateChanged; //必须将Mapper转换为PolarRotateDecorator类型才能接收到改变RotateAngle时触发的MapperStateChanged事件,需要重构Mapper的事件结构以解决该问题 }
protected virtual void ProcessMouseUp(object sender, MouseEventArgs e, Displayer displayer) { }
public virtual void MouseUp(object sender, MouseEventArgs e, Displayer displayer) { }
protected override void ProcessMouseUp(object sender, MouseEventArgs e, Displayer displayer) { }
protected override void ProcessMouseDown(object sender, MouseEventArgs e, Displayer displayer) => mouseDown = true;
public override void SetDisplayer(Displayer d) { displayer = d; }