From 48d690d8ad71f37f4a2a8412826e17bd301fdba4 Mon Sep 17 00:00:00 2001 From: Matorio <209939889+Matorio@users.noreply.github.com> Date: Sat, 6 Dec 2025 23:45:44 -0500 Subject: [PATCH] Extended scissors New variants for the "BeginScissorMode" acepting "Vector2" and "Rectangle" --- src/raylib.h | 2 ++ src/rcore.c | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/raylib.h b/src/raylib.h index 23adac664..244e45e14 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1045,6 +1045,8 @@ RLAPI void EndShaderMode(void); // End custom RLAPI void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied, subtract, custom) RLAPI void EndBlendMode(void); // End blending mode (reset to default: alpha blending) RLAPI void BeginScissorMode(int x, int y, int width, int height); // Begin scissor mode (define screen area for following drawing) +RLAPI void BeginScissorModeV(Vector2 position, Vector2 size); // Begin scissor mode (define screen area for following drawing with vectors) +RLAPI void BeginScissorModeRec(Rectangle rec); // Begin scissor mode (define screen area for following drawing with a rectangle) RLAPI void EndScissorMode(void); // End scissor mode RLAPI void BeginVrStereoMode(VrStereoConfig config); // Begin stereo rendering (requires VR simulator) RLAPI void EndVrStereoMode(void); // End stereo rendering (requires VR simulator) diff --git a/src/rcore.c b/src/rcore.c index 775f197f3..ce257794f 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1137,6 +1137,16 @@ void BeginScissorMode(int x, int y, int width, int height) } } +void BeginScissorModeV(Vector2 position, Vector2 size) +{ + BeginScissorMode((int)position.x, (int)position.y, (int)size.x, (int)size.y); +} + +void BeginScissorModeRec(Rectangle rec) +{ + BeginScissorMode((int)rec.x, (int)rec.y, (int)rec.width, (int)rec.height); +} + // End scissor mode void EndScissorMode(void) {