summaryrefslogtreecommitdiff
path: root/src/contrib/SDL-3.2.20/examples/README.md
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-08-30 16:53:58 -0700
committer3gg <3gg@shellblade.net>2025-08-30 16:53:58 -0700
commit6aaedb813fa11ba0679c3051bc2eb28646b9506c (patch)
tree34acbfc9840e02cb4753e6306ea7ce978bf8b58e /src/contrib/SDL-3.2.20/examples/README.md
parent8f228ade99dd3d4c8da9b78ade1815c9adf85c8f (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.md67
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
5In here are a collection of standalone SDL application examples. Unless
6otherwise stated, they should work on all supported platforms out of the box.
7If 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
12SDL can optionally build apps as a collection of callbacks instead of the
13usual program structure that starts and ends in a function called `main`.
14The examples use this format for two reasons.
15
16First, it allows the examples to work when built as web applications without
17a pile of ugly `#ifdef`s, and all of these examples are published on the web
18at [examples.libsdl.org](https://examples.libsdl.org/), so you can easily see
19them in action.
20
21Second, it's example code! The callbacks let us cleanly break the program up
22into 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
29A detailed technical explanation of these callbacks is in
30docs/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
36When you build SDL with CMake, you can add `-DSDL_EXAMPLES=On` to the
37CMake command line. When you build SDL, these examples will be built with it.
38
39But most of these can just be built as a single .c file, as long as you point
40your 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
45All code in the examples directory is considered public domain! You can do
46anything you like with it, including copy/paste it into your closed-source
47project, sell it, and pretend you wrote it yourself. We do not require you to
48give us credit for this code (but we always appreciate if you do!).
49
50This 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
56This is what [examples.libsdl.org](https://examples.libsdl.org/) uses when
57generating the web versions of these example programs. You can ignore this,
58unless you are improving it, in which case we definitely would love to hear
59from you!
60
61
62## What is template.c in this directory?
63
64If writing new examples, this is the skeleton code we start from, to keep
65everything consistent. You can ignore it.
66
67