Rev 1497 | Rev 1526 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1497 | Rev 1525 | ||
---|---|---|---|
Line 28... | Line 28... | ||
28 | 28 | ||
29 | #include <screenbuffer.h> |
29 | #include <screenbuffer.h> |
30 | #include <malloc.h> |
30 | #include <malloc.h> |
31 | #include <unistd.h> |
31 | #include <unistd.h> |
32 | 32 | ||
33 | /** Get field from buffer that corresponds to character at position x,y at screen |
33 | /** Store one character to screenbuffer. Its position is determined by scr->position_x and scr->position_y. |
34 | * |
34 | * @param scr screenbuffer |
- | 35 | * @param c stored character |
|
35 | */ |
36 | */ |
36 | - | ||
37 | int screenbuffer_putchar(screenbuffer_t *scr, char c) |
37 | void screenbuffer_putchar(screenbuffer_t *scr, char c) |
38 | { |
38 | { |
39 | keyfield_t *field; |
39 | keyfield_t *field; |
40 | 40 | ||
41 | field = get_field_at(scr, scr->position_x, scr->position_y); |
41 | field = get_field_at(scr, scr->position_x, scr->position_y); |
42 | 42 | ||
43 | field->character = c; |
43 | field->character = c; |
44 | field->style = scr->style; |
44 | field->style = scr->style; |
45 | - | ||
46 | return 1; |
- | |
47 | } |
45 | } |
48 | 46 | ||
- | 47 | /** Initilize screenbuffer. Allocate space for screen content in accordance to given size. |
|
- | 48 | * @param scr initialized screenbuffer |
|
- | 49 | * @param size_x |
|
- | 50 | * @param size_y |
|
- | 51 | */ |
|
49 | screenbuffer_t *screenbuffer_init(screenbuffer_t *scr, int size_x, int size_y) |
52 | screenbuffer_t *screenbuffer_init(screenbuffer_t *scr, int size_x, int size_y) |
50 | { |
53 | { |
51 | if ((scr->buffer = (keyfield_t *)malloc(sizeof(keyfield_t) * size_x * size_y)) == NULL) { |
54 | if ((scr->buffer = (keyfield_t *)malloc(sizeof(keyfield_t) * size_x * size_y)) == NULL) { |
52 | return NULL; |
55 | return NULL; |
53 | } |
56 | } |
Line 100... | Line 103... | ||
100 | } |
103 | } |
101 | 104 | ||
102 | void screenbuffer_goto(screenbuffer_t *scr, unsigned int x, unsigned int y) |
105 | void screenbuffer_goto(screenbuffer_t *scr, unsigned int x, unsigned int y) |
103 | { |
106 | { |
104 | scr->position_x = x % scr->size_x; |
107 | scr->position_x = x % scr->size_x; |
105 | scr->position_y = y % scr->size_y; |
108 | scr->position_y = y % scr->size_y; |
- | 109 | } |
|
- | 110 | ||
- | 111 | void screenbuffer_set_style(screenbuffer_t *scr, unsigned int fg_color, unsigned int bg_color) |
|
- | 112 | { |
|
- | 113 | scr->style.fg_color = fg_color; |
|
- | 114 | scr->style.bg_color = bg_color; |
|
106 | } |
115 | } |
107 | 116 |