From 60699af63f92f43cc4b4b9e3050fcdd2a8468281 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Wed, 10 Apr 2019 15:14:00 -0400 Subject: add opengl fronend, remove sdl frontend, refactor build system --- .../CEdev/examples/gfx_floodfill/autotester.json | 36 +++++++++++++++ .../CEdev/examples/gfx_floodfill/makefile | 15 +++++++ .../CEdev/examples/gfx_floodfill/readme.md | 10 +++++ .../CEdev/examples/gfx_floodfill/screenshot.gif | Bin 0 -> 8036 bytes .../CEdev/examples/gfx_floodfill/src/main.c | 50 +++++++++++++++++++++ 5 files changed, 111 insertions(+) create mode 100644 frontends/calculator/CEdev/examples/gfx_floodfill/autotester.json create mode 100644 frontends/calculator/CEdev/examples/gfx_floodfill/makefile create mode 100644 frontends/calculator/CEdev/examples/gfx_floodfill/readme.md create mode 100644 frontends/calculator/CEdev/examples/gfx_floodfill/screenshot.gif create mode 100644 frontends/calculator/CEdev/examples/gfx_floodfill/src/main.c (limited to 'frontends/calculator/CEdev/examples/gfx_floodfill') diff --git a/frontends/calculator/CEdev/examples/gfx_floodfill/autotester.json b/frontends/calculator/CEdev/examples/gfx_floodfill/autotester.json new file mode 100644 index 0000000..01e94ee --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_floodfill/autotester.json @@ -0,0 +1,36 @@ +{ + "rom": "84pce_515.rom", + "transfer_files": [ + "bin/DEMO.8xp" + ], + "target": { + "name": "DEMO", + "isASM": true + }, + "sequence": [ + "action|launch", + "delay|300", + "hash|1", + "key|enter", + "delay|300", + "hash|2", + "delay|300", + "key|enter", + "delay|300" + ], + "hashes": { + "1": { + "description": "A black star outline is drawn to the screen", + "start": "vram_start", + "size": "vram_8_size", + "expected_CRCs": [ "7EA01B1B" ] + }, + "2": { + "description": "The rest of the screen will be filled a solid black", + "start": "vram_start", + "size": "vram_8_size", + "expected_CRCs": [ "4CECC590" ] + } + } +} + diff --git a/frontends/calculator/CEdev/examples/gfx_floodfill/makefile b/frontends/calculator/CEdev/examples/gfx_floodfill/makefile new file mode 100644 index 0000000..1f1b36b --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_floodfill/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_floodfill/readme.md b/frontends/calculator/CEdev/examples/gfx_floodfill/readme.md new file mode 100644 index 0000000..e94fd0d --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_floodfill/readme.md @@ -0,0 +1,10 @@ +### GraphX Flood Fill Demo + +This example demonstrates using the flood fill algorithim implemented in GraphX + +![Screenshot](screenshot.gif) + +--- + +This demo is a part of the C SDK Toolchain for use on the CE. + diff --git a/frontends/calculator/CEdev/examples/gfx_floodfill/screenshot.gif b/frontends/calculator/CEdev/examples/gfx_floodfill/screenshot.gif new file mode 100644 index 0000000..f6408ab Binary files /dev/null and b/frontends/calculator/CEdev/examples/gfx_floodfill/screenshot.gif differ 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 +#include +#include +#include + +#include +#include +#include +#include + +#include + +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(); +} -- cgit v1.2.3-101-g0448