Ejemplo n.º 1
0
            public void Visit(BasicFigure f)
            {
                Vector2   mouse = GetMousePosition();
                Rectangle rec   = new Rectangle(f.posX, f.posY, f.width, f.height);

                if (CheckCollisionPointRec
                        (mouse,
                        new Rectangle(rec.x + rec.width - Global.MOUSE_SCALE_MARK_SIZE,
                                      rec.y + rec.height - Global.MOUSE_SCALE_MARK_SIZE,
                                      Global.MOUSE_SCALE_MARK_SIZE, Global.MOUSE_SCALE_MARK_SIZE)))
                {
                    f.mouseScaleReady = true;
                    if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON))
                    {
                        f.mouseScaleMode = true;
                        f.OldWidth       = f.width;
                        f.OldHeight      = f.height;
                    }
                }
                else
                {
                    f.mouseScaleReady = false;
                }

                if (f.mouseScaleMode)
                {
                    f.mouseScaleReady = true;
                    f.width           = mouse.X - f.posX;
                    f.height          = mouse.Y - f.posY;

                    if (f.width < Global.MOUSE_SCALE_MARK_SIZE)
                    {
                        f.width = Global.MOUSE_SCALE_MARK_SIZE;
                    }
                    if (f.height < Global.MOUSE_SCALE_MARK_SIZE)
                    {
                        f.height = Global.MOUSE_SCALE_MARK_SIZE;
                    }
                    if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON))
                    {
                        f.mouseScaleMode = false;
                        canvasManager.Do(new Commands.ResizeFigure(f.OldWidth, f.OldHeight, f.width, f.height, f));
                    }
                }
            }
Ejemplo n.º 2
0
            public void Visit(BasicFigure f)
            {
                if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON) &&
                    f.Collide(GetMousePosition())
                    )
                {
                    f.OldX          = f.posX;
                    f.OldY          = f.posY;
                    f.mouseMoveMode = true;
                }
                if (f.mouseMoveMode)
                {
                    f.posX += (GetMousePosition().X - f.mousePositionLastFrame.X);
                    f.posY += (GetMousePosition().Y - f.mousePositionLastFrame.Y);
                }

                if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON) && f.mouseMoveMode == true)
                {
                    canvasManager.Do(new MoveFigure(f.OldX, f.OldY, f.posX, f.posY, f));
                    f.mouseMoveMode = false;
                }

                f.mousePositionLastFrame = GetMousePosition();
            }