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; }
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(); } }
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(); } }
public void peekClip(org.mini2Dx.core.geom.Rectangle rectangle) { rectangle.setXY(_clipRectangle.getX(), _clipRectangle.getY()); rectangle.setHeight(_clipRectangle.getHeight()); rectangle.setWidth(_clipRectangle.getWidth()); }