summaryrefslogtreecommitdiff
path: root/frontends/calculator/CEdev/examples/gfx_floodfill/src
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_floodfill/src
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_floodfill/src')
-rw-r--r--frontends/calculator/CEdev/examples/gfx_floodfill/src/main.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/frontends/calculator/CEdev/examples/gfx_floodfill/src/main.c b/frontends/calculator/CEdev/examples/gfx_floodfill/src/main.c
new file mode 100644
index 0000000..31a2090
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_floodfill/src/main.c
@@ -0,0 +1,50 @@
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <tice.h>
+
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <graphx.h>
+
+void main(void) {
+ int pts[10], i;
+
+ int rx = 100;
+ int ry = 100;
+ int cx = LCD_WIDTH / 2;
+ int cy = LCD_HEIGHT / 2;
+
+ /* Build the coordinates of the polygon */
+ double theta = -M_PI / 2;
+ double dtheta = 4 * M_PI / 5;
+ for (i = 0; i < 10; i += 2) {
+ pts[i+0] = (int)(cx + rx * cos(theta)),
+ pts[i+1] = (int)(cy + ry * sin(theta));
+ theta += dtheta;
+ }
+
+ /* Initialize the 8bpp graphics */
+ gfx_Begin();
+
+ /* Set up the palette */
+ gfx_SetColor(gfx_black);
+
+ /* Draw a polygon on the buffer */
+ gfx_Polygon(pts, 5);
+
+ /* Pause */
+ while (!os_GetCSC());
+
+ /* Flood fill the rest of the screen */
+ gfx_FloodFill(0, 0, 0);
+
+ /* Pause */
+ while (!os_GetCSC());
+
+ /* Close the graphics */
+ gfx_End();
+}