-
Notifications
You must be signed in to change notification settings - Fork 0
/
lcd.c
52 lines (37 loc) · 1.01 KB
/
lcd.c
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
/********************************************************************************
* LCD
********************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include "includes/lcd.h"
#include "includes/bmp.h"
/* todo: add image data structure */
/* image representation compabible with bmp library */
static IMAGE image;
/* next pixel to write */
static WORD lcd_pixel_pointer;
void lcd_set_width(WORD width) {
/* set desired image width */
image.Width = width;
}
void lcd_set_height(WORD height) {
/* set desired image height */
image.Height = height;
}
void lcd_show_image() {
if(!bmp_save("output.bmp", &image)) {
printf("lcd_show_image(): failed to save file\n");
}
}
void lcd_reset_pointer() {
/* reset, ready for new image */
lcd_pixel_pointer = 0;
}
void lcd_set_pixel(BYTE pixel) {
image.Pixels[lcd_pixel_pointer++] = pixel;
}
void lcd_set_pixels(WORD pixels) {
/* todo: store (four) pixels */
/* update pixel pointer */
lcd_pixel_pointer += 4;
}