예제 #1
0
        public override string ToString()
        {
            switch (EventClass)
            {
            case EventClass.Application:
                return("Event: App " + AppEventKind.ToString());

            case EventClass.Keyboard:
                return("Event: Keyboard " + KeyboardEventKind.ToString());

            case EventClass.Mouse:
                return("Event: Mouse " + MouseEventKind.ToString());

            case EventClass.Window:
                return("Event: Window " + WindowEventKind.ToString());
            }

            return("Event: Unknown Class " + EventClass.ToString() + "   kind: " + _eventKind.ToString());
        }
예제 #2
0
 internal EventTypeSpec(EventClass evtClass, MouseEventKind evtKind)
 {
     this.EventClass = evtClass;
     this.EventKind  = (uint)evtKind;
 }
 public MouseMessage(JToken json, string keyKind = "kind", string keyX = "x", string keyY = "y")
 {
     Kind  = (MouseEventKind)json.Value <int>(keyKind);
     Pos.X = json.Value <float>(keyX);
     Pos.Y = json.Value <float>(keyY);
 }
 public MouseMessage(MouseEventKind kind, RawVector2 pos)
 {
     Kind = kind;
     Pos  = pos;
 }
예제 #5
0
 internal EventTypeSpec(EventClass evtClass, MouseEventKind evtKind)
 {
     this.EventClass = evtClass;
     this.EventKind = (uint)evtKind;
 }
예제 #6
0
        /// <summary>
        /// マウスイベント
        /// </summary>
        /// <param name="kind"></param>
        /// <param name="pos"></param>
        internal void PointerEvent(MouseEventKind kind, Vector2 pos)
        {
            if (_points == null)
            {
                _points = new List <DrawingPoint>();
            }
            pos = snapPos(pos);
            switch (kind)
            {
            case MouseEventKind.Press:
            {
                _mainPage.FocusMove();

                statePress = true;
                System.Diagnostics.Debug.WriteLine("Event:Press");
                if (movePoint != null)
                {
                    pressPoint = movePoint;
                    movePoint  = null;
                }
                else
                {
                    pressPoint = new DrawingPoint(pos);
                    _points.Add(pressPoint);
                }
                currentPoint = pos;
                Invalidate();
            }
            break;

            case MouseEventKind.Move:
                if (_points.Count > 0)
                {
                    if (pos != currentPoint)
                    {
                        currentPoint = pos;
                        if (pressPoint != null)
                        {
                            pressPoint.UpdateKind(pos);
                        }
                        else
                        {
                            if (movePoint == null)
                            {
                                movePoint = new DrawingPoint(pos);
                                _points.Add(movePoint);
                            }
                            movePoint.SetPos(pos);
                        }
                        Invalidate();
                    }
                }
                break;

            case MouseEventKind.Release:
                System.Diagnostics.Debug.WriteLine("Event:Release");
                if (statePress)
                {
                    statePress = false;
                    pressPoint = null;
                    if (_points != null && _points.Count >= 3)
                    {
                        var p0 = _points[0].getPoint();
                        var p1 = _points[_points.Count - 1].getPoint();
                        if (p0 == p1)
                        {
                            _mainPage.CreatePath(_points, true);
                            CancelEvent();
                        }
                    }
                    Invalidate();
                }
                break;

            case MouseEventKind.Double:
                if (_points.Count > 2)
                {
                    _points.RemoveAt(_points.Count - 1);
                    _mainPage.CreatePath(_points, false);
                }
                CancelEvent();    // _poits 等もクリア
                break;
            }
        }
 public MouseMessage(MouseEventKind kind, float x, float y)
 {
     Kind = kind;
     X    = x;
     Y    = y;
 }