Example #1
0
        public override void OnExit(MainDisplay owner)
        {
            if (_frameRect.Width > 0 && _frameRect.Height > 0)
            {
                var foundRect = Application.Instance.ShrinkFrameSelect(owner.CurrentSpriteSheet.Texture,
                                                                       _frameRect, 0.12);

                if (foundRect.Width > 0 && foundRect.Height > 0)
                {
                    owner.CurrentSpriteSheet.ChangeFrameRect(_frameBeingChanged, foundRect);
                    Application.Instance.OnSpriteSheetFrameRectChanged(_frameBeingChanged);
                }
            }

            _frameBeingChanged = null;
            _frameRect         = Rect.Empty;
            _deltaPressed      = Vector2.Zero;
            _modifyMode        = FrameRectModifyMode.None;
        }
Example #2
0
        public override void OnStart(MainDisplay owner)
        {
            base.OnStart(owner);

            _pressedPosition = owner.WorldMousePosition;

            _frameBeingChanged = owner.CurrentSpriteSheet.HighLightedFrame;

            _frameRect = _frameBeingChanged.RelativeBoundingRect;


            _deltaPressed = new Vector2(_pressedPosition.X - _frameBeingChanged.RelativeBoundingRect.CenterX,
                                        _pressedPosition.Y - _frameBeingChanged.RelativeBoundingRect.CenterY);


            if (_pressedPosition.X > _frameRect.Left + 5 && _pressedPosition.X < _frameRect.Right - 5 &&
                _pressedPosition.Y > _frameRect.Top + 5 && _pressedPosition.Y < _frameRect.Bottom - 5)
            {
                _modifyMode = FrameRectModifyMode.Move;
            }
            else
            {
                if (_pressedPosition.X < _frameRect.Left + 5)
                {
                    _modifyMode |= FrameRectModifyMode.ResizeLeft;
                }
                else if (_pressedPosition.X > _frameRect.Right - 5)
                {
                    _modifyMode |= FrameRectModifyMode.ResizeRight;
                }
                if (_pressedPosition.Y < _frameRect.Top + 5)
                {
                    _modifyMode |= FrameRectModifyMode.ResizeTop;
                }
                else if (_pressedPosition.Y > _frameRect.Bottom - 5)
                {
                    _modifyMode |= FrameRectModifyMode.ResizeBottom;
                }
            }
        }