diff options
Diffstat (limited to 'frontends/calculator/CEdev/examples/gfx_char')
| -rw-r--r-- | frontends/calculator/CEdev/examples/gfx_char/autotester.json | 30 | ||||
| -rw-r--r-- | frontends/calculator/CEdev/examples/gfx_char/makefile | 15 | ||||
| -rw-r--r-- | frontends/calculator/CEdev/examples/gfx_char/readme.md | 10 | ||||
| -rw-r--r-- | frontends/calculator/CEdev/examples/gfx_char/screenshot.png | bin | 0 -> 967 bytes | |||
| -rw-r--r-- | frontends/calculator/CEdev/examples/gfx_char/src/main.c | 52 |
5 files changed, 107 insertions, 0 deletions
diff --git a/frontends/calculator/CEdev/examples/gfx_char/autotester.json b/frontends/calculator/CEdev/examples/gfx_char/autotester.json new file mode 100644 index 0000000..66dfe16 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_char/autotester.json @@ -0,0 +1,30 @@ +{ + "rom": "84pce_515.rom", + "transfer_files": [ + "bin/DEMO.8xp" + ], + "target": { + "name": "DEMO", + "isASM": true + }, + "sequence": [ + "action|launch", + "hashWait|1", + "key|enter", + "hashWait|2" + ], + "hashes": { + "1": { + "description": "Test flipped text on black background", + "start": "vram_start", + "size": "vram_8_size", + "expected_CRCs": [ "198A8841" ] + }, + "2": { + "description": "Back to the home screen (exit check)", + "start": "vram_start", + "size": "vram_16_size", + "expected_CRCs": [ "FFAF89BA", "101734A5", "9DA19F44" ] + } + } +} diff --git a/frontends/calculator/CEdev/examples/gfx_char/makefile b/frontends/calculator/CEdev/examples/gfx_char/makefile new file mode 100644 index 0000000..1f1b36b --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_char/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_char/readme.md b/frontends/calculator/CEdev/examples/gfx_char/readme.md new file mode 100644 index 0000000..7889ac8 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_char/readme.md @@ -0,0 +1,10 @@ +### GraphX Character Demo + +A simple demo showing an upside down string. + + + +--- + +This demo is a part of the C SDK Toolchain for use on the CE. + diff --git a/frontends/calculator/CEdev/examples/gfx_char/screenshot.png b/frontends/calculator/CEdev/examples/gfx_char/screenshot.png Binary files differnew file mode 100644 index 0000000..6eefa42 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_char/screenshot.png diff --git a/frontends/calculator/CEdev/examples/gfx_char/src/main.c b/frontends/calculator/CEdev/examples/gfx_char/src/main.c new file mode 100644 index 0000000..7d1b5ec --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_char/src/main.c @@ -0,0 +1,52 @@ +#include <stdbool.h> +#include <stddef.h> +#include <stdint.h> +#include <tice.h> + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include <graphx.h> + +/* Use some random color as the transparent one */ +#define TRANSPARENT_COLOR 10 +#define FONT_WIDTH 8 +#define FONT_HEIGHT 8 + +/* Function prototypes */ +void printu(char *str, int x, int y); + +const char *my_str = "!!DEPPILF si txet sihT"; + +void main(void) { + /* Initialize the 8bpp graphics */ + gfx_Begin(); + gfx_FillScreen(gfx_black); + + /* Setup the colors */ + gfx_SetTextFGColor(gfx_white); + + /* Set the transparent text background color */ + gfx_SetTextBGColor(TRANSPARENT_COLOR); + gfx_SetTextTransparentColor(TRANSPARENT_COLOR); + gfx_SetMonospaceFont(FONT_WIDTH); + + /* Print some upside down text */ + printu(my_str, (LCD_WIDTH - gfx_GetStringWidth(my_str)) / 2, (LCD_HEIGHT - FONT_HEIGHT) / 2); + + /* Wait for key */ + while (!os_GetCSC()); + + /* Finish the graphics */ + gfx_End(); +} + +void printu(char *str, int x, int y) { + gfx_TempSprite(my_char, 8, 8); + + while (*str) { + gfx_TransparentSprite(gfx_RotateSpriteHalf(gfx_GetSpriteChar(*str), my_char), x, y); + x += gfx_GetCharWidth(*str++); + } +} |