From 93f67f5fddc18eb4c43af5ffec54956d6e7a0197 Mon Sep 17 00:00:00 2001 From: Sparshdeep Singh <66513733+Sparsh300@users.noreply.github.com> Date: Sun, 7 Dec 2025 21:17:43 +1100 Subject: [PATCH 1/4] feat(usage-examples): add three basic usage examples --- .../graphics/01-basic-drawing.mdx | 32 +++++++++++++++++++ .../input/01-mouse-position.mdx | 26 +++++++++++++++ .../sprites/01-basic-sprite.mdx | 29 +++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 public/usage-examples/graphics/01-basic-drawing.mdx create mode 100644 public/usage-examples/input/01-mouse-position.mdx create mode 100644 public/usage-examples/sprites/01-basic-sprite.mdx diff --git a/public/usage-examples/graphics/01-basic-drawing.mdx b/public/usage-examples/graphics/01-basic-drawing.mdx new file mode 100644 index 000000000..559d7c275 --- /dev/null +++ b/public/usage-examples/graphics/01-basic-drawing.mdx @@ -0,0 +1,32 @@ +--- +title: "Basic Drawing" +description: "Draw simple shapes on the screen using SplashKit." +language: cpp +--- + +```cpp +#include "splashkit.h" + +int main() +{ + open_window("Drawing Example", 800, 600); + + while (!quit_requested()) + { + process_events(); + clear_screen(COLOR_WHITE); + + // Draw a blue circle + fill_circle(COLOR_BLUE, 400, 300, 50); + + // Draw a red rectangle + fill_rectangle(COLOR_RED, 100, 100, 150, 80); + + // Draw a green line + draw_line(COLOR_GREEN, 50, 50, 750, 550); + + refresh_screen(); + } + + return 0; +} diff --git a/public/usage-examples/input/01-mouse-position.mdx b/public/usage-examples/input/01-mouse-position.mdx new file mode 100644 index 000000000..4d77550b5 --- /dev/null +++ b/public/usage-examples/input/01-mouse-position.mdx @@ -0,0 +1,26 @@ +--- +title: "Mouse Position" +description: "Display the user's current mouse position using SplashKit." +language: cpp +--- + +```cpp +#include "splashkit.h" + +int main() +{ + open_window("Mouse Example", 800, 600); + + while (!quit_requested()) + { + process_events(); + clear_screen(COLOR_WHITE); + + draw_text("Mouse X: " + to_string(mouse_x()), COLOR_BLACK, 20, 20); + draw_text("Mouse Y: " + to_string(mouse_y()), COLOR_BLACK, 20, 45); + + refresh_screen(); + } + + return 0; +} diff --git a/public/usage-examples/sprites/01-basic-sprite.mdx b/public/usage-examples/sprites/01-basic-sprite.mdx new file mode 100644 index 000000000..8154054ee --- /dev/null +++ b/public/usage-examples/sprites/01-basic-sprite.mdx @@ -0,0 +1,29 @@ +--- +title: "Basic Sprite" +description: "Load and draw a sprite on the screen using SplashKit." +language: cpp +--- + +```cpp +#include "splashkit.h" + +int main() +{ + open_window("Sprite Example", 800, 600); + + // Load a bitmap and convert to a sprite + bitmap bmp = load_bitmap("player", "player.png"); + sprite player = create_sprite(bmp); + + while (!quit_requested()) + { + process_events(); + clear_screen(COLOR_WHITE); + + draw_sprite(player); + + refresh_screen(); + } + + return 0; +} From ec9289dadf9d1152083b7f089a8c73bc80eacd66 Mon Sep 17 00:00:00 2001 From: Sparshdeep Singh <66513733+Sparsh300@users.noreply.github.com> Date: Sat, 13 Dec 2025 20:52:38 +1100 Subject: [PATCH 2/4] feat(usage-examples): add usage example code and description files --- .../graphics/01-basic-drawing.mdx | 32 ------------------ .../graphics/fill_circle-01-example-oop.cs | 15 ++++++++ .../fill_circle-01-example-top-level.cs | 11 ++++++ .../graphics/fill_circle-01-example.cpp | 14 ++++++++ .../graphics/fill_circle-01-example.png | 0 .../graphics/fill_circle-01-example.py | 10 ++++++ .../graphics/fill_circle-01-example.txt | 1 + .../input/01-mouse-position.mdx | 26 -------------- .../input/mouse_x-01-example-oop.cs | 14 ++++++++ .../input/mouse_x-01-example-top-level.cs | 10 ++++++ .../input/mouse_x-01-example.cpp | 13 +++++++ .../input/mouse_x-01-example.png | 0 .../input/mouse_x-01-example.py | 9 +++++ .../input/mouse_x-01-example.txt | 1 + .../sprites/01-basic-sprite.mdx | 29 ---------------- .../sprites/create_sprite-01-example-oop.cs | 15 ++++++++ .../create_sprite-01-example-resources.zip | Bin 0 -> 215 bytes .../create_sprite-01-example-top-level.cs | 11 ++++++ .../sprites/create_sprite-01-example.cpp | 14 ++++++++ .../sprites/create_sprite-01-example.png | 0 .../sprites/create_sprite-01-example.py | 11 ++++++ .../sprites/create_sprite-01-example.txt | 1 + 22 files changed, 150 insertions(+), 87 deletions(-) delete mode 100644 public/usage-examples/graphics/01-basic-drawing.mdx create mode 100644 public/usage-examples/graphics/fill_circle-01-example-oop.cs create mode 100644 public/usage-examples/graphics/fill_circle-01-example-top-level.cs create mode 100644 public/usage-examples/graphics/fill_circle-01-example.cpp create mode 100644 public/usage-examples/graphics/fill_circle-01-example.png create mode 100644 public/usage-examples/graphics/fill_circle-01-example.py create mode 100644 public/usage-examples/graphics/fill_circle-01-example.txt delete mode 100644 public/usage-examples/input/01-mouse-position.mdx create mode 100644 public/usage-examples/input/mouse_x-01-example-oop.cs create mode 100644 public/usage-examples/input/mouse_x-01-example-top-level.cs create mode 100644 public/usage-examples/input/mouse_x-01-example.cpp create mode 100644 public/usage-examples/input/mouse_x-01-example.png create mode 100644 public/usage-examples/input/mouse_x-01-example.py create mode 100644 public/usage-examples/input/mouse_x-01-example.txt delete mode 100644 public/usage-examples/sprites/01-basic-sprite.mdx create mode 100644 public/usage-examples/sprites/create_sprite-01-example-oop.cs create mode 100644 public/usage-examples/sprites/create_sprite-01-example-resources.zip create mode 100644 public/usage-examples/sprites/create_sprite-01-example-top-level.cs create mode 100644 public/usage-examples/sprites/create_sprite-01-example.cpp create mode 100644 public/usage-examples/sprites/create_sprite-01-example.png create mode 100644 public/usage-examples/sprites/create_sprite-01-example.py create mode 100644 public/usage-examples/sprites/create_sprite-01-example.txt diff --git a/public/usage-examples/graphics/01-basic-drawing.mdx b/public/usage-examples/graphics/01-basic-drawing.mdx deleted file mode 100644 index 559d7c275..000000000 --- a/public/usage-examples/graphics/01-basic-drawing.mdx +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: "Basic Drawing" -description: "Draw simple shapes on the screen using SplashKit." -language: cpp ---- - -```cpp -#include "splashkit.h" - -int main() -{ - open_window("Drawing Example", 800, 600); - - while (!quit_requested()) - { - process_events(); - clear_screen(COLOR_WHITE); - - // Draw a blue circle - fill_circle(COLOR_BLUE, 400, 300, 50); - - // Draw a red rectangle - fill_rectangle(COLOR_RED, 100, 100, 150, 80); - - // Draw a green line - draw_line(COLOR_GREEN, 50, 50, 750, 550); - - refresh_screen(); - } - - return 0; -} diff --git a/public/usage-examples/graphics/fill_circle-01-example-oop.cs b/public/usage-examples/graphics/fill_circle-01-example-oop.cs new file mode 100644 index 000000000..0ee5d302a --- /dev/null +++ b/public/usage-examples/graphics/fill_circle-01-example-oop.cs @@ -0,0 +1,15 @@ +using SplashKitSDK; + +public static class Program { + public static void Main() { + new Window("Drawing Example", 800, 600); + while (!SplashKit.QuitRequested()) { + SplashKit.ProcessEvents(); + SplashKit.ClearScreen(Color.White); + SplashKit.FillCircle(Color.Blue, 400, 300, 50); + SplashKit.FillRectangle(Color.Red, 100, 100, 150, 80); + SplashKit.DrawLine(Color.Green, 50, 50, 750, 550); + SplashKit.RefreshScreen(); + } + } +} diff --git a/public/usage-examples/graphics/fill_circle-01-example-top-level.cs b/public/usage-examples/graphics/fill_circle-01-example-top-level.cs new file mode 100644 index 000000000..40aacf9b5 --- /dev/null +++ b/public/usage-examples/graphics/fill_circle-01-example-top-level.cs @@ -0,0 +1,11 @@ +using SplashKitSDK; + +new Window("Drawing Example", 800, 600); +while (!SplashKit.QuitRequested()) { + SplashKit.ProcessEvents(); + SplashKit.ClearScreen(Color.White); + SplashKit.FillCircle(Color.Blue, 400, 300, 50); + SplashKit.FillRectangle(Color.Red, 100, 100, 150, 80); + SplashKit.DrawLine(Color.Green, 50, 50, 750, 550); + SplashKit.RefreshScreen(); +} diff --git a/public/usage-examples/graphics/fill_circle-01-example.cpp b/public/usage-examples/graphics/fill_circle-01-example.cpp new file mode 100644 index 000000000..f7d562a8a --- /dev/null +++ b/public/usage-examples/graphics/fill_circle-01-example.cpp @@ -0,0 +1,14 @@ +#include "splashkit.h" + +int main() { + open_window("Drawing Example", 800, 600); + while (!quit_requested()) { + process_events(); + clear_screen(COLOR_WHITE); + fill_circle(COLOR_BLUE, 400, 300, 50); + fill_rectangle(COLOR_RED, 100, 100, 150, 80); + draw_line(COLOR_GREEN, 50, 50, 750, 550); + refresh_screen(); + } + return 0; +} diff --git a/public/usage-examples/graphics/fill_circle-01-example.png b/public/usage-examples/graphics/fill_circle-01-example.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/usage-examples/graphics/fill_circle-01-example.py b/public/usage-examples/graphics/fill_circle-01-example.py new file mode 100644 index 000000000..0e1ad50e6 --- /dev/null +++ b/public/usage-examples/graphics/fill_circle-01-example.py @@ -0,0 +1,10 @@ +from splashkit import * + +open_window("Drawing Example", 800, 600) +while not quit_requested(): + process_events() + clear_screen(color_white()) + fill_circle(color_blue(), 400, 300, 50) + fill_rectangle(color_red(), 100, 100, 150, 80) + draw_line(color_green(), 50, 50, 750, 550) + refresh_screen() diff --git a/public/usage-examples/graphics/fill_circle-01-example.txt b/public/usage-examples/graphics/fill_circle-01-example.txt new file mode 100644 index 000000000..5ad29bdc7 --- /dev/null +++ b/public/usage-examples/graphics/fill_circle-01-example.txt @@ -0,0 +1 @@ +Shows drawing basics in SplashKit: clear screen, fill_circle, fill_rectangle, draw_line; refresh each frame. diff --git a/public/usage-examples/input/01-mouse-position.mdx b/public/usage-examples/input/01-mouse-position.mdx deleted file mode 100644 index 4d77550b5..000000000 --- a/public/usage-examples/input/01-mouse-position.mdx +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: "Mouse Position" -description: "Display the user's current mouse position using SplashKit." -language: cpp ---- - -```cpp -#include "splashkit.h" - -int main() -{ - open_window("Mouse Example", 800, 600); - - while (!quit_requested()) - { - process_events(); - clear_screen(COLOR_WHITE); - - draw_text("Mouse X: " + to_string(mouse_x()), COLOR_BLACK, 20, 20); - draw_text("Mouse Y: " + to_string(mouse_y()), COLOR_BLACK, 20, 45); - - refresh_screen(); - } - - return 0; -} diff --git a/public/usage-examples/input/mouse_x-01-example-oop.cs b/public/usage-examples/input/mouse_x-01-example-oop.cs new file mode 100644 index 000000000..7864b4a56 --- /dev/null +++ b/public/usage-examples/input/mouse_x-01-example-oop.cs @@ -0,0 +1,14 @@ +using SplashKitSDK; + +public static class Program { + public static void Main() { + new Window("Mouse Example", 800, 600); + while (!SplashKit.QuitRequested()) { + SplashKit.ProcessEvents(); + SplashKit.ClearScreen(Color.White); + SplashKit.DrawText("Mouse X: " + SplashKit.MouseX().ToString(), Color.Black, 20, 20); + SplashKit.DrawText("Mouse Y: " + SplashKit.MouseY().ToString(), Color.Black, 20, 45); + SplashKit.RefreshScreen(); + } + } +} diff --git a/public/usage-examples/input/mouse_x-01-example-top-level.cs b/public/usage-examples/input/mouse_x-01-example-top-level.cs new file mode 100644 index 000000000..392fbcf07 --- /dev/null +++ b/public/usage-examples/input/mouse_x-01-example-top-level.cs @@ -0,0 +1,10 @@ +using SplashKitSDK; + +new Window("Mouse Example", 800, 600); +while (!SplashKit.QuitRequested()) { + SplashKit.ProcessEvents(); + SplashKit.ClearScreen(Color.White); + SplashKit.DrawText("Mouse X: " + SplashKit.MouseX().ToString(), Color.Black, 20, 20); + SplashKit.DrawText("Mouse Y: " + SplashKit.MouseY().ToString(), Color.Black, 20, 45); + SplashKit.RefreshScreen(); +} diff --git a/public/usage-examples/input/mouse_x-01-example.cpp b/public/usage-examples/input/mouse_x-01-example.cpp new file mode 100644 index 000000000..817a1fe40 --- /dev/null +++ b/public/usage-examples/input/mouse_x-01-example.cpp @@ -0,0 +1,13 @@ +#include "splashkit.h" + +int main() { + open_window("Mouse Example", 800, 600); + while (!quit_requested()) { + process_events(); + clear_screen(COLOR_WHITE); + draw_text("Mouse X: " + to_string(mouse_x()), COLOR_BLACK, 20, 20); + draw_text("Mouse Y: " + to_string(mouse_y()), COLOR_BLACK, 20, 45); + refresh_screen(); + } + return 0; +} diff --git a/public/usage-examples/input/mouse_x-01-example.png b/public/usage-examples/input/mouse_x-01-example.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/usage-examples/input/mouse_x-01-example.py b/public/usage-examples/input/mouse_x-01-example.py new file mode 100644 index 000000000..d2ef889ef --- /dev/null +++ b/public/usage-examples/input/mouse_x-01-example.py @@ -0,0 +1,9 @@ +from splashkit import * + +open_window("Mouse Example", 800, 600) +while not quit_requested(): + process_events() + clear_screen(color_white()) + draw_text("Mouse X: " + str(mouse_x()), color_black(), 20, 20) + draw_text("Mouse Y: " + str(mouse_y()), color_black(), 20, 45) + refresh_screen() diff --git a/public/usage-examples/input/mouse_x-01-example.txt b/public/usage-examples/input/mouse_x-01-example.txt new file mode 100644 index 000000000..25134c3e2 --- /dev/null +++ b/public/usage-examples/input/mouse_x-01-example.txt @@ -0,0 +1 @@ +Displays current mouse position using mouse_x and mouse_y; updates every frame. diff --git a/public/usage-examples/sprites/01-basic-sprite.mdx b/public/usage-examples/sprites/01-basic-sprite.mdx deleted file mode 100644 index 8154054ee..000000000 --- a/public/usage-examples/sprites/01-basic-sprite.mdx +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Basic Sprite" -description: "Load and draw a sprite on the screen using SplashKit." -language: cpp ---- - -```cpp -#include "splashkit.h" - -int main() -{ - open_window("Sprite Example", 800, 600); - - // Load a bitmap and convert to a sprite - bitmap bmp = load_bitmap("player", "player.png"); - sprite player = create_sprite(bmp); - - while (!quit_requested()) - { - process_events(); - clear_screen(COLOR_WHITE); - - draw_sprite(player); - - refresh_screen(); - } - - return 0; -} diff --git a/public/usage-examples/sprites/create_sprite-01-example-oop.cs b/public/usage-examples/sprites/create_sprite-01-example-oop.cs new file mode 100644 index 000000000..147f75f2b --- /dev/null +++ b/public/usage-examples/sprites/create_sprite-01-example-oop.cs @@ -0,0 +1,15 @@ +using SplashKitSDK; + +public static class Program { + public static void Main() { + new Window("Sprite Example", 800, 600); + Bitmap bmp = SplashKit.LoadBitmap("player", "images/player.png"); + Sprite player = SplashKit.CreateSprite(bmp); + while (!SplashKit.QuitRequested()) { + SplashKit.ProcessEvents(); + SplashKit.ClearScreen(Color.White); + SplashKit.DrawSprite(player); + SplashKit.RefreshScreen(); + } + } +} diff --git a/public/usage-examples/sprites/create_sprite-01-example-resources.zip b/public/usage-examples/sprites/create_sprite-01-example-resources.zip new file mode 100644 index 0000000000000000000000000000000000000000..27cfc0454a9a7dd41ad5cfe3caad2f2e16881162 GIT binary patch literal 215 zcmWIWW@Zs#U|`^2n7*Vpx?TORpFNQ00>sil9F$s|Us{x$S{##^o0txy3UU%FQ;YNp z^3q@Pd?78GjGB4=;>Ra+MW3wyciPxsZ_1x* yJC@e)2Fy5k`Re)9xxr4t3<2JZOd<@pZ3bG71n{^cz?+o~q>>Q`J%MxuSQ`MP07G8@ literal 0 HcmV?d00001 diff --git a/public/usage-examples/sprites/create_sprite-01-example-top-level.cs b/public/usage-examples/sprites/create_sprite-01-example-top-level.cs new file mode 100644 index 000000000..b56bc9adc --- /dev/null +++ b/public/usage-examples/sprites/create_sprite-01-example-top-level.cs @@ -0,0 +1,11 @@ +using SplashKitSDK; + +new Window("Sprite Example", 800, 600); +Bitmap bmp = SplashKit.LoadBitmap("player", "images/player.png"); +Sprite player = SplashKit.CreateSprite(bmp); +while (!SplashKit.QuitRequested()) { + SplashKit.ProcessEvents(); + SplashKit.ClearScreen(Color.White); + SplashKit.DrawSprite(player); + SplashKit.RefreshScreen(); +} diff --git a/public/usage-examples/sprites/create_sprite-01-example.cpp b/public/usage-examples/sprites/create_sprite-01-example.cpp new file mode 100644 index 000000000..bf72febff --- /dev/null +++ b/public/usage-examples/sprites/create_sprite-01-example.cpp @@ -0,0 +1,14 @@ +#include "splashkit.h" + +int main() { + open_window("Sprite Example", 800, 600); + bitmap bmp = load_bitmap("player", "images/player.png"); + sprite player = create_sprite(bmp); + while (!quit_requested()) { + process_events(); + clear_screen(COLOR_WHITE); + draw_sprite(player); + refresh_screen(); + } + return 0; +} diff --git a/public/usage-examples/sprites/create_sprite-01-example.png b/public/usage-examples/sprites/create_sprite-01-example.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/usage-examples/sprites/create_sprite-01-example.py b/public/usage-examples/sprites/create_sprite-01-example.py new file mode 100644 index 000000000..96f1321d4 --- /dev/null +++ b/public/usage-examples/sprites/create_sprite-01-example.py @@ -0,0 +1,11 @@ +from splashkit import * + +open_window("Sprite Example", 800, 600) +bmp = load_bitmap("player", "images/player.png") +player = create_sprite(bmp) + +while not quit_requested(): + process_events() + clear_screen(color_white()) + draw_sprite(player) + refresh_screen() diff --git a/public/usage-examples/sprites/create_sprite-01-example.txt b/public/usage-examples/sprites/create_sprite-01-example.txt new file mode 100644 index 000000000..338ccb511 --- /dev/null +++ b/public/usage-examples/sprites/create_sprite-01-example.txt @@ -0,0 +1 @@ +Loads a bitmap, creates a sprite, and draws it each frame. Requires Resources/images/player.png (see resources zip). From fb40b3f9681cdaac8ab2871d0fcaf5e609d278d7 Mon Sep 17 00:00:00 2001 From: Sparshdeep Singh <66513733+Sparsh300@users.noreply.github.com> Date: Thu, 18 Dec 2025 16:36:32 +1100 Subject: [PATCH 3/4] feat(usage-examples): add key_down input example --- .../input/key_down-01-example-oop.cs | 26 +++++++++++++++++++ .../input/key_down-01-example-top-level.cs | 20 ++++++++++++++ .../input/key_down-01-example.cpp | 25 ++++++++++++++++++ .../input/key_down-01-example.png | 0 .../input/key_down-01-example.py | 14 ++++++++++ .../input/key_down-01-example.txt | 2 ++ 6 files changed, 87 insertions(+) create mode 100644 public/usage-examples/input/key_down-01-example-oop.cs create mode 100644 public/usage-examples/input/key_down-01-example-top-level.cs create mode 100644 public/usage-examples/input/key_down-01-example.cpp create mode 100644 public/usage-examples/input/key_down-01-example.png create mode 100644 public/usage-examples/input/key_down-01-example.py create mode 100644 public/usage-examples/input/key_down-01-example.txt diff --git a/public/usage-examples/input/key_down-01-example-oop.cs b/public/usage-examples/input/key_down-01-example-oop.cs new file mode 100644 index 000000000..23d945127 --- /dev/null +++ b/public/usage-examples/input/key_down-01-example-oop.cs @@ -0,0 +1,26 @@ +using SplashKitSDK; + +public static class Program +{ + public static void Main() + { + new Window("Key Down Example", 800, 600); + + while (!SplashKit.QuitRequested()) + { + SplashKit.ProcessEvents(); + SplashKit.ClearScreen(Color.White); + + if (SplashKit.KeyDown(KeyCode.SpaceKey)) + { + SplashKit.DrawText("Space key is pressed", Color.Black, 200, 300); + } + else + { + SplashKit.DrawText("Press the space key", Color.Black, 200, 300); + } + + SplashKit.RefreshScreen(); + } + } +} diff --git a/public/usage-examples/input/key_down-01-example-top-level.cs b/public/usage-examples/input/key_down-01-example-top-level.cs new file mode 100644 index 000000000..cffb66649 --- /dev/null +++ b/public/usage-examples/input/key_down-01-example-top-level.cs @@ -0,0 +1,20 @@ +using SplashKitSDK; + +new Window("Key Down Example", 800, 600); + +while (!SplashKit.QuitRequested()) +{ + SplashKit.ProcessEvents(); + SplashKit.ClearScreen(Color.White); + + if (SplashKit.KeyDown(KeyCode.SpaceKey)) + { + SplashKit.DrawText("Space key is pressed", Color.Black, 200, 300); + } + else + { + SplashKit.DrawText("Press the space key", Color.Black, 200, 300); + } + + SplashKit.RefreshScreen(); +} diff --git a/public/usage-examples/input/key_down-01-example.cpp b/public/usage-examples/input/key_down-01-example.cpp new file mode 100644 index 000000000..91de7a278 --- /dev/null +++ b/public/usage-examples/input/key_down-01-example.cpp @@ -0,0 +1,25 @@ +#include "splashkit.h" + +int main() +{ + open_window("Key Down Example", 800, 600); + + while (!quit_requested()) + { + process_events(); + clear_screen(COLOR_WHITE); + + if (key_down(SPACE_KEY)) + { + draw_text("Space key is pressed", COLOR_BLACK, 200, 300); + } + else + { + draw_text("Press the space key", COLOR_BLACK, 200, 300); + } + + refresh_screen(); + } + + return 0; +} diff --git a/public/usage-examples/input/key_down-01-example.png b/public/usage-examples/input/key_down-01-example.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/usage-examples/input/key_down-01-example.py b/public/usage-examples/input/key_down-01-example.py new file mode 100644 index 000000000..2e5ce7976 --- /dev/null +++ b/public/usage-examples/input/key_down-01-example.py @@ -0,0 +1,14 @@ +from splashkit import * + +open_window("Key Down Example", 800, 600) + +while not quit_requested(): + process_events() + clear_screen(color_white()) + + if key_down(SPACE_KEY): + draw_text("Space key is pressed", color_black(), 200, 300) + else: + draw_text("Press the space key", color_black(), 200, 300) + + refresh_screen() diff --git a/public/usage-examples/input/key_down-01-example.txt b/public/usage-examples/input/key_down-01-example.txt new file mode 100644 index 000000000..400e9eea8 --- /dev/null +++ b/public/usage-examples/input/key_down-01-example.txt @@ -0,0 +1,2 @@ +Demonstrates how to detect keyboard input using key_down() in SplashKit. +The example displays a message when the space key is pressed. From c72d70d0052a5d84a003d981dc85283c3a01be78 Mon Sep 17 00:00:00 2001 From: Sparshdeep Singh <66513733+Sparsh300@users.noreply.github.com> Date: Thu, 18 Dec 2025 16:52:17 +1100 Subject: [PATCH 4/4] docs: add checklist and naming example for usage examples --- public/usage-examples/CONTRIBUTING.mdx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/public/usage-examples/CONTRIBUTING.mdx b/public/usage-examples/CONTRIBUTING.mdx index 5dffdbae9..06548d492 100644 --- a/public/usage-examples/CONTRIBUTING.mdx +++ b/public/usage-examples/CONTRIBUTING.mdx @@ -14,6 +14,20 @@ To contribute a function usage example, you need to create the following files: - **Code files** with the example code. This must be a complete code example, not just a snippet of code. - ***Zip file*** (*only if your code requires resource files*) containing the "Resources" folder created with the `skm resources` command, with any resources needed for your example code to run. (More info about adding this at the end.) +## Quick checklist before you open a PR + +- Files are placed in: `/public/usage-examples//` +- File naming follows: `--example.` + - Example: `key_down-1-example.cpp` +- Each example includes: + - `.txt` (title/description, and optional Resources link callout) + - `.cpp` + - `-oop.cs` + - `-top-level.cs` + - `.py` + - output file: `.png` (or `.gif` if interactive, or `.webm` if audio) +- If the example needs assets, include a `*-resources.zip` containing a `Resources/` folder (created using `skm resources`). + ## File Location Place the following files into the folder with the **unique global name** located in `/public/usage-examples/`: