blob: da7b90cc573678365e277fdf128ca2e3b20ac502 (
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
|
#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>
/* This tutorial is meant to be played around with to get a feeling for how blitting works */
void main(void) {
uint8_t c;
/* Initialize the 8bpp graphics, screen cleared to white */
gfx_Begin();
/* Draw to buffer instead of directly to screen */
gfx_SetDrawBuffer(); // This is the same as gfx_SetDraw(gfx_buffer)
/* Draw a gradient (to the buffer) */
for (c = 0; c < 8; c++) {
gfx_SetColor(c);
gfx_FillRectangle_NoClip(c * (LCD_WIDTH / 8), 0, LCD_WIDTH / 8, LCD_HEIGHT);
}
/* Wait for a key */
while (!os_GetCSC());
/* Copy parts of the buffer to the screen */
gfx_BlitLines(gfx_buffer, LCD_HEIGHT - 32, 32);
gfx_BlitRectangle(gfx_buffer, LCD_WIDTH / 4, LCD_HEIGHT / 4, LCD_WIDTH / 2, LCD_HEIGHT / 2);
/* Wait for a key */
while (!os_GetCSC());
/* Copy the full buffer to the screen */
gfx_BlitBuffer(); // This is the same as gfx_Blit(gfx_buffer)
/* Wait for a key */
while (!os_GetCSC());
/* Close the graphics */
gfx_End();
}
|