aboutsummaryrefslogtreecommitdiffstats
path: root/drawing.scm
diff options
context:
space:
mode:
Diffstat (limited to 'drawing.scm')
-rw-r--r--drawing.scm59
1 files changed, 59 insertions, 0 deletions
diff --git a/drawing.scm b/drawing.scm
new file mode 100644
index 0000000..41a4e26
--- /dev/null
+++ b/drawing.scm
@@ -0,0 +1,59 @@
+;;; -------------------------
+;;; Drawing-related functions
+;;; -------------------------
+
+;; Set background color (framebuffer clear color)
+;; void ClearBackground(Color color);
+(define clear-background
+ (c-lambda (color) void "ClearBackground"))
+
+;; Setup canvas (framebuffer) to start drawing
+;; void BeginDrawing(void);
+(define begin-drawing
+ (c-lambda () void "BeginDrawing"))
+
+;; End canvas drawing and swap buffers (double buffering)
+;; void EndDrawing(void);
+(define end-drawing
+ (c-lambda () void "EndDrawing"))
+
+;; Begin 2D mode with custom camera (2D)
+;; void BeginMode2D(Camera2D camera);
+
+;; Ends 2D mode with custom camera
+;; void EndMode2D(void);
+
+;; Begin 3D mode with custom camera (3D)
+;; void BeginMode3D(Camera3D camera);
+
+;; Ends 3D mode and returns to default 2D orthographic mode
+;; void EndMode3D(void);
+
+;; Begin drawing to render texture
+;; void BeginTextureMode(RenderTexture2D target);
+
+;; Ends drawing to render texture
+;; void EndTextureMode(void);
+
+;; Begin custom shader drawing
+;; void BeginShaderMode(Shader shader);
+
+;; End custom shader drawing (use default shader)
+;; void EndShaderMode(void);
+
+;; Begin blending mode (alpha, additive, multiplied, subtract, custom)
+;; void BeginBlendMode(int mode);
+
+;; End blending mode (reset to default: alpha blending)
+;; void EndBlendMode(void);
+
+;; Begin scissor mode (define screen area for following drawing)
+;; void BeginScissorMode(int x, int y, int width, int height);
+(define begin-scissor-mode
+ (c-lambda (int int int int) void "BeginScissorMode"))
+
+;; End scissor mode
+;; void EndScissorMode(void);
+(define end-scissor-mode
+ (c-lambda () void "EndScissorMode"))
+