Пример #1
0
        private void MouseMove(Point2d m)
        {
            var mouse_prev_state = mouse_current_state;
            mouse_current_state = new mouse_state(m);

            mouse_current_state.hovered = RayTrace(m);

            if (mouse_enter_state == null)
                mouse_current_state.UpdateCursor(this);

            if (mouse_current_state.hovered != mouse_prev_state.hovered)
                this.Invalidate();

            if (mouse_enter_state != null)
                this.Invalidate();
        }
Пример #2
0
 public Vector4d()
 {
     p1 = new Point2d();
     p2 = new Point2d();
 }
Пример #3
0
        private LineT RayTrace(Point2d m)
        {
            var line = YCoordinateToPos((int)m.y);

            if (tasks.Count() <= line)
                return -1;

            var time_interval = tasks[line];

            if (DateTimeToXCoordinate(time_interval.start) > m.x)
                return -1;

            var end_coord = DateTimeToXCoordinate(time_interval.end);
            if (end_coord < m.x)
                return -1;

            if (end_coord - m.x < 5)
                mouse_current_state.point_mode = active_zone.RESIZE_ZONE;
            else
                mouse_current_state.point_mode = active_zone.MOVE_ZONE;

            return line;
        }
Пример #4
0
 public mouse_state(Point2d m)
 {
     coords = m;
 }