示例#1
0
 public sealed override void MouseUp(object sender, MouseEventArgs e, Displayer displayer)
 {
     lock (Locker)
     {
         ProcessMouseUp(sender, e, displayer);
     }
 }
示例#2
0
 public virtual void SetDisplayer(Displayer d)
 {
     Displayer = d;
     Displayer.BeforeRebindTarget += Displayer_BeforeRebindTarget;
     Displayer.AfterRebindTarget  += Displayer_AfterRebindTarget;
     BindEvents(Panel);
 }
示例#3
0
        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;
            }
        }
示例#4
0
 public override void SetDisplayer(Displayer d)
 {
     base.SetDisplayer(d);
     selector = new WaveGateSelector();
     d.Elements.Add(LayerId, selector);
     selector.SelectionFinish += Selector_SelectionFinish;
 }
示例#5
0
 public void AddDisplayer(Displayer d)
 {
     if (PanelMap.ContainsKey(d.Panel))
     {
         throw new Exception();
     }
     PanelMap.Add(d.Panel, d);
     d.Panel.MouseDoubleClick += Panel_MouseDoubleClick;
 }
示例#6
0
        public override void SetDisplayer(Displayer d)
        {
            if (rotateDecorator == null)
            {
                rotateDecorator = PolarRotateDecorator.GetInstance(RotateDecoratorName, d.Mapper);
            }

            Mapper.MapperStateChanged += Mapper_MapperStateChanged;
            base.SetDisplayer(d);
        }
示例#7
0
 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();
        }
示例#10
0
        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的事件结构以解决该问题
        }
示例#11
0
 protected virtual void ProcessMouseUp(object sender, MouseEventArgs e, Displayer displayer)
 {
 }
示例#12
0
 public virtual void MouseUp(object sender, MouseEventArgs e, Displayer displayer)
 {
 }
示例#13
0
 protected override void ProcessMouseUp(object sender, MouseEventArgs e, Displayer displayer)
 {
 }
 protected override void ProcessMouseDown(object sender, MouseEventArgs e, Displayer displayer) => mouseDown = true;
示例#15
0
 public override void SetDisplayer(Displayer d)
 {
     displayer = d;
 }