blob: a7f108e91ad18eac8979f0ce1f9700ef86c0859a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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++);
}
}
|