summaryrefslogtreecommitdiffhomepage
path: root/src/rlgl.h
diff options
context:
space:
mode:
authorRay <[email protected]>2018-12-15 23:30:55 +0100
committerRay <[email protected]>2018-12-15 23:30:55 +0100
commit4008a075a857f7674fe82331dae2636fc593dade (patch)
treec0a093b77d4e3470e031ab7cd065491bfabff6d8 /src/rlgl.h
parentcbbd67ab5a8735c9daee1590729c1fdc58594652 (diff)
downloadraylib-4008a075a857f7674fe82331dae2636fc593dade.tar.gz
raylib-4008a075a857f7674fe82331dae2636fc593dade.zip
Added scissor functionality
To draw only in defined area of the screen ADDED: BeginScissorMode(), EndScissorMode()
Diffstat (limited to 'src/rlgl.h')
-rw-r--r--src/rlgl.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/rlgl.h b/src/rlgl.h
index 0dff9f83..7631adbf 100644
--- a/src/rlgl.h
+++ b/src/rlgl.h
@@ -3313,6 +3313,25 @@ void EndBlendMode(void)
BeginBlendMode(BLEND_ALPHA);
}
+// Begin scissor mode (define screen area for following drawing)
+void BeginScissorMode(int x, int y, int width, int height)
+{
+ rlglDraw(); // Force drawing elements
+
+ glEnable(GL_SCISSOR_TEST);
+ glScissor(x, y, width, height);
+
+ rlClearScreenBuffers(); // Clear current scissor area
+}
+
+// End scissor mode
+void EndScissorMode(void)
+{
+ rlglDraw(); // Force drawing elements
+
+ glDisable(GL_SCISSOR_TEST);
+}
+
#if defined(SUPPORT_VR_SIMULATOR)
// Get VR device information for some standard devices
VrDeviceInfo GetVrDeviceInfo(int vrDeviceType)