예제 #1
0
 public override void GestureStart(CircuitEditor editor, Vector2d dragStartPos)
 {
     DraggingWire = true;
     DragStartPos = editor.RoundToGrid(dragStartPos);
     CurrentWire  = new Wire(DragStartPos, 0, Circuit.Direction.Horizontal);
     editor.DrawingArea.QueueDraw();
 }
예제 #2
0
 public override void GestureStart(CircuitEditor editor, Vector2d dragStartPos)
 {
     Selecting      = true;
     SelectionStart = editor.RoundToGrid(dragStartPos);
     SelectionSize  = Vector2i.Zero;
     Console.WriteLine($"Pos: {SelectionStart}, Screen: {dragStartPos}");
     editor.DrawingArea.QueueDraw();
 }
예제 #3
0
        public override void GestureStart(CircuitEditor editor, Vector2d dragStartPos)
        {
            StartPosition     = editor.RoundToGrid(dragStartPos);
            VisualPosition    = StartPosition;
            DraggingComponent = true;

            editor.DrawingArea.QueueDraw();
        }
예제 #4
0
        // FIXME: Keyboard and general mouse movement events!!

        public override void GestureStart(CircuitEditor editor, Vector2d dragStartPos)
        {
            StartPosition   = editor.RoundToGrid(dragStartPos);
            VisualPosition  = StartPosition;
            CompOrientation = Circuit.Orientation.East;

            editor.DrawingArea.QueueDraw();
        }
예제 #5
0
        public override void MouseMoved(CircuitEditor editor, Vector2d mousePos)
        {
            if (PlacingComponent && DraggingComponent == false)
            {
                StartPosition  = editor.RoundToGrid(mousePos);
                VisualPosition = StartPosition;
            }

            editor.DrawingArea.QueueDraw();
        }
예제 #6
0
        public override void GestureStart(CircuitEditor editor, Vector2d dragStartPos)
        {
            Selecting      = true;
            SelectionStart = editor.RoundToGrid(dragStartPos);
            SelectionSize  = Vector2i.Zero;
            editor.DrawingArea.QueueDraw();

            if (SelectedGates.Count == 1)
            {
                var r = editor.Scene.Gates.GetBounds(SelectedGates[0]);
                r = r.Rotate(SelectedGates[0].Position * CircuitEditor.DotSpacing, SelectedGates[0].Orientation);
                if (r.Contains(editor.FromGridToWorld(SelectionStart)))
                {
                    Poking = true;
                    LogikUI.Simulation.PressComponent(SelectedGates[0].ID);
                }
            }
        }