示例#1
0
        internal void updateClip()
        {
            var rect = _graphicsDevice.ScissorRectangle;

            rect.X      = (int)(_clipRectangle.getX() * _scale.X - _translation.X);
            rect.Y      = (int)(_clipRectangle.getY() * _scale.Y - _translation.Y);
            rect.Width  = (int)(_clipRectangle.getWidth() * _scale.X);
            rect.Height = (int)(_clipRectangle.getHeight() * _scale.Y);
            _graphicsDevice.ScissorRectangle = rect;
        }
示例#2
0
        public void setClip(org.mini2Dx.core.geom.Rectangle clip)
        {
            _rasterizerState = new RasterizerState()
            {
                ScissorTestEnable = true
            };
            _clipRectangle = clip;
            var rect = _graphicsDevice.ScissorRectangle;

            rect.X      = (int)clip.getX();
            rect.Y      = (int)clip.getY();
            rect.Width  = (int)clip.getWidth();
            rect.Height = (int)clip.getHeight();
            _graphicsDevice.ScissorRectangle = rect;
            if (_beginSpriteBatchCalled)
            {
                flush();
            }
        }
示例#3
0
        public void setClip(org.mini2Dx.core.geom.Rectangle clip)
        {
            if (clip.getX() == 0 && clip.getY() == 0 && clip.getWidth() == getViewportWidth() &&
                clip.getHeight() == getViewportHeight())
            {
                removeClip();
                return;
            }

            var wasClipping = _rasterizerState.ScissorTestEnable;

            if (!_rasterizerState.ScissorTestEnable)
            {
                _rasterizerState = RasterizerClipping;
            }

            _clipRectangle = clip;
            updateClip();
            if (!wasClipping)
            {
                endRendering();
            }
        }
示例#4
0
 public void peekClip(org.mini2Dx.core.geom.Rectangle rectangle)
 {
     rectangle.setXY(_clipRectangle.getX(), _clipRectangle.getY());
     rectangle.setHeight(_clipRectangle.getHeight());
     rectangle.setWidth(_clipRectangle.getWidth());
 }