Example #1
0
        void SelectShape(aShape iShape)
        {
            int x = InputManager.CurrentMouseState.X;
            int y = InputManager.CurrentMouseState.Y;

            if (iShape.Contains(x, y))
            {
                iShape.Hovered = true;
            }
            else
            {
                iShape.Hovered = false;
            }

            if (leftClicked && InputManager.IsReleased(MouseInput.LeftButton))
            {
                if (iShape.Hovered)
                {
                    iShape.Selected = !iShape.Selected;
                }
                else if (!InputManager.IsKeyDown(Keys.LeftShift))
                {
                    iShape.Selected = false;
                }
            }
        }
Example #2
0
        void SelectShapes()
        {
            int mX = InputManager.CurrentMouseState.X;
            int mY = InputManager.CurrentMouseState.Y;

            if (!leftClicked && InputManager.IsPressed(MouseInput.LeftButton))
            {
                foreach (mCanvas c in playground.Canvases)
                {
                    c.ForAllShapes((aShape shape) => {
                        if (shape.Hovered)
                        {
                            transforming = true;

                            if (transformingShape != null)
                            {
                                transformingShape.Transforming = false;
                            }
                            transformingShape = shape;
                            transformingShape.Transforming = true;

                            //Draw new size
                            if (shape.ShapeName == "ellipse")
                            {
                                drawingShape = new mEllipse(transformingShape.Width, transformingShape.Height, transformingShape.Color);
                            }
                            else
                            {
                                drawingShape = new mRectangle(transformingShape.Width, transformingShape.Height, transformingShape.Color);
                            }

                            drawingShape.X = transformingShape.X;
                            drawingShape.Y = transformingShape.Y;
                            drawingShape.LoadWhileDrawing();
                        }
                    });
                }
            }

            //Quick fix for resizing shapes ontop or under shapes
            if (leftClicked && transforming)
            {
                bool overTransformingShape = transformingShape.Contains(mX, mY);

                if (!overTransformingShape)
                {
                    transforming = false;
                }
            }
        }
Example #3
0
 public override bool Contains(int iX, int iY)
 {
     return(decoratedShape.Contains(iX, iY));
 }