summaryrefslogtreecommitdiff
path: root/app/demo
diff options
context:
space:
mode:
Diffstat (limited to 'app/demo')
-rw-r--r--app/demo/CMakeLists.txt15
-rw-r--r--app/demo/main.c47
2 files changed, 62 insertions, 0 deletions
diff --git a/app/demo/CMakeLists.txt b/app/demo/CMakeLists.txt
new file mode 100644
index 0000000..bbb3aae
--- /dev/null
+++ b/app/demo/CMakeLists.txt
@@ -0,0 +1,15 @@
1cmake_minimum_required(VERSION 3.0)
2
3project(gfxappdemo)
4
5set(CMAKE_C_STANDARD 17)
6set(CMAKE_C_STANDARD_REQUIRED On)
7set(CMAKE_C_EXTENSIONS Off)
8
9add_executable(gfxappdemo
10 main.c)
11
12target_link_libraries(gfxappdemo PRIVATE
13 gfx-app)
14
15target_compile_options(gfxappdemo PRIVATE -Wall -Wextra -Wpedantic)
diff --git a/app/demo/main.c b/app/demo/main.c
new file mode 100644
index 0000000..0b83711
--- /dev/null
+++ b/app/demo/main.c
@@ -0,0 +1,47 @@
1#include <gfx/app.h>
2
3#include <assert.h>
4
5const int WIDTH = 960;
6const int HEIGHT = 600;
7const int MAX_FPS = 60;
8const char* TITLE = "iso3d";
9
10typedef struct GfxAppState {
11 int unused;
12} GfxAppState;
13
14bool Init(GfxAppState* state, int argc, const char** argv) {
15 assert(state);
16
17 (void)argc;
18 (void)argv;
19
20 return true;
21}
22
23void Shutdown(GfxAppState* state) {
24 assert(state);
25 //
26}
27
28void Update(GfxAppState* state, double t, double dt) {
29 assert(state);
30
31 (void)t;
32 (void)dt;
33}
34
35void Render(GfxAppState* state) {
36 assert(state);
37 //
38}
39
40void Resize(GfxAppState* state, int width, int height) {
41 assert(state);
42
43 (void)width;
44 (void)height;
45}
46
47GFX_APP_MAIN(WIDTH, HEIGHT, MAX_FPS, TITLE)