summaryrefslogtreecommitdiff
path: root/frontends/calculator/CEdev/examples/gfx_template
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2019-04-10 15:14:00 -0400
committerAndrew Opalach <andrew@akon.city> 2019-04-10 15:14:00 -0400
commit60699af63f92f43cc4b4b9e3050fcdd2a8468281 (patch)
tree20a18af2774daa43ae7f4352dd032a24f7e06075 /frontends/calculator/CEdev/examples/gfx_template
parent4527bc20241068731c62101d0467d416119ec0c4 (diff)
downloadcetris-60699af63f92f43cc4b4b9e3050fcdd2a8468281.tar.gz
cetris-60699af63f92f43cc4b4b9e3050fcdd2a8468281.tar.bz2
cetris-60699af63f92f43cc4b4b9e3050fcdd2a8468281.zip
add opengl fronend, remove sdl frontend, refactor build system
Diffstat (limited to 'frontends/calculator/CEdev/examples/gfx_template')
-rw-r--r--frontends/calculator/CEdev/examples/gfx_template/iconc.pngbin0 -> 910 bytes
-rw-r--r--frontends/calculator/CEdev/examples/gfx_template/makefile15
-rw-r--r--frontends/calculator/CEdev/examples/gfx_template/readme.md12
-rw-r--r--frontends/calculator/CEdev/examples/gfx_template/src/main.c64
4 files changed, 91 insertions, 0 deletions
diff --git a/frontends/calculator/CEdev/examples/gfx_template/iconc.png b/frontends/calculator/CEdev/examples/gfx_template/iconc.png
new file mode 100644
index 0000000..125ca62
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_template/iconc.png
Binary files differ
diff --git a/frontends/calculator/CEdev/examples/gfx_template/makefile b/frontends/calculator/CEdev/examples/gfx_template/makefile
new file mode 100644
index 0000000..1f1b36b
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_template/makefile
@@ -0,0 +1,15 @@
+# ----------------------------
+# Set NAME to the program name
+# Set ICON to the png icon file name
+# Set DESCRIPTION to display within a compatible shell
+# Set COMPRESSED to "YES" to create a compressed program
+# ----------------------------
+
+NAME ?= DEMO
+COMPRESSED ?= NO
+ICON ?= iconc.png
+DESCRIPTION ?= "C SDK Demo"
+
+# ----------------------------
+
+include $(CEDEV)/include/.makefile
diff --git a/frontends/calculator/CEdev/examples/gfx_template/readme.md b/frontends/calculator/CEdev/examples/gfx_template/readme.md
new file mode 100644
index 0000000..9d807e1
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_template/readme.md
@@ -0,0 +1,12 @@
+### GraphX Template
+
+You can clone this directory for your own GraphX-based projects.
+
+To add code, fill in the begin, end, step, and draw functions in main.c. You can also create your own .c and .h files and add them to the directory; the Makefile included in this template will automatically find and compile the new .c files.
+
+In addition, you can also add your own .asm files, which will be detected and
+added appropriately to the proper segment.
+
+---
+
+This template is a part of the C SDK Toolchain for use on the CE.
diff --git a/frontends/calculator/CEdev/examples/gfx_template/src/main.c b/frontends/calculator/CEdev/examples/gfx_template/src/main.c
new file mode 100644
index 0000000..2904b0a
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_template/src/main.c
@@ -0,0 +1,64 @@
+/*
+ *--------------------------------------
+ * Program Name:
+ * Author:
+ * License:
+ * Description:
+ *--------------------------------------
+*/
+
+/* Keep these headers */
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <tice.h>
+
+/* Standard headers (recommended) */
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <graphx.h>
+
+/* Put your function prototypes here */
+void begin();
+void end();
+bool step();
+void draw();
+
+/* Put all your globals here */
+bool partial_redraw;
+
+void main() {
+ begin(); // No rendering allowed!
+ gfx_Begin();
+ gfx_SetDrawBuffer(); // Draw to the buffer to avoid rendering artifats
+
+ while (step()) { // No rendering allowed in step!
+ if (partial_redraw) // Only want to redraw part of the previous frame?
+ gfx_BlitScreen(); // Copy previous frame as a base for this frame
+ draw(); // As little non-rendering logic as possible
+ gfx_SwapDraw(); // Queue the buffered frame to be displayed
+ }
+
+ gfx_End();
+ end();
+}
+
+/* Put other functions here */
+void begin() {
+ /* Implement me! */
+}
+
+void end() {
+ /* Implement me! */
+}
+
+bool step() {
+ /* Implement me! */
+}
+
+void draw() {
+ /* Implement me! */
+}