diff options
author | 3gg <3gg@shellblade.net> | 2025-08-30 16:53:58 -0700 |
---|---|---|
committer | 3gg <3gg@shellblade.net> | 2025-08-30 16:53:58 -0700 |
commit | 6aaedb813fa11ba0679c3051bc2eb28646b9506c (patch) | |
tree | 34acbfc9840e02cb4753e6306ea7ce978bf8b58e /src/contrib/SDL-3.2.20/examples/README.md | |
parent | 8f228ade99dd3d4c8da9b78ade1815c9adf85c8f (diff) |
Update to SDL3
Diffstat (limited to 'src/contrib/SDL-3.2.20/examples/README.md')
-rw-r--r-- | src/contrib/SDL-3.2.20/examples/README.md | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/contrib/SDL-3.2.20/examples/README.md b/src/contrib/SDL-3.2.20/examples/README.md new file mode 100644 index 0000000..872e087 --- /dev/null +++ b/src/contrib/SDL-3.2.20/examples/README.md | |||
@@ -0,0 +1,67 @@ | |||
1 | # Examples | ||
2 | |||
3 | ## What is this? | ||
4 | |||
5 | In here are a collection of standalone SDL application examples. Unless | ||
6 | otherwise stated, they should work on all supported platforms out of the box. | ||
7 | If they don't [please file a bug to let us know](https://github.com/libsdl-org/SDL/issues/new). | ||
8 | |||
9 | |||
10 | ## What is this SDL_AppIterate thing? | ||
11 | |||
12 | SDL can optionally build apps as a collection of callbacks instead of the | ||
13 | usual program structure that starts and ends in a function called `main`. | ||
14 | The examples use this format for two reasons. | ||
15 | |||
16 | First, it allows the examples to work when built as web applications without | ||
17 | a pile of ugly `#ifdef`s, and all of these examples are published on the web | ||
18 | at [examples.libsdl.org](https://examples.libsdl.org/), so you can easily see | ||
19 | them in action. | ||
20 | |||
21 | Second, it's example code! The callbacks let us cleanly break the program up | ||
22 | into the four logical pieces most apps care about: | ||
23 | |||
24 | - Program startup | ||
25 | - Event handling | ||
26 | - What the program actually does in a single frame | ||
27 | - Program shutdown | ||
28 | |||
29 | A detailed technical explanation of these callbacks is in | ||
30 | docs/README-main-functions.md (or view that page on the web on | ||
31 | [the wiki](https://wiki.libsdl.org/SDL3/README/main-functions#main-callbacks-in-sdl3)). | ||
32 | |||
33 | |||
34 | ## I would like to build and run these examples myself. | ||
35 | |||
36 | When you build SDL with CMake, you can add `-DSDL_EXAMPLES=On` to the | ||
37 | CMake command line. When you build SDL, these examples will be built with it. | ||
38 | |||
39 | But most of these can just be built as a single .c file, as long as you point | ||
40 | your compiler at SDL3's headers and link against SDL. | ||
41 | |||
42 | |||
43 | ## What is the license on the example code? Can I paste this into my project? | ||
44 | |||
45 | All code in the examples directory is considered public domain! You can do | ||
46 | anything you like with it, including copy/paste it into your closed-source | ||
47 | project, sell it, and pretend you wrote it yourself. We do not require you to | ||
48 | give us credit for this code (but we always appreciate if you do!). | ||
49 | |||
50 | This is only true for the examples directory. The rest of SDL falls under the | ||
51 | [zlib license](https://github.com/libsdl-org/SDL/blob/main/LICENSE.txt). | ||
52 | |||
53 | |||
54 | ## What is template.html and highlight-plugin.lua in this directory? | ||
55 | |||
56 | This is what [examples.libsdl.org](https://examples.libsdl.org/) uses when | ||
57 | generating the web versions of these example programs. You can ignore this, | ||
58 | unless you are improving it, in which case we definitely would love to hear | ||
59 | from you! | ||
60 | |||
61 | |||
62 | ## What is template.c in this directory? | ||
63 | |||
64 | If writing new examples, this is the skeleton code we start from, to keep | ||
65 | everything consistent. You can ignore it. | ||
66 | |||
67 | |||