34 lines
723 B
C
34 lines
723 B
C
#define DONT_DECLARE_FRAMEBUFFER 1
|
|
#include "framebuffer.h"
|
|
|
|
FRAMEBUFFER;
|
|
|
|
#if FB_DEPTH==1
|
|
|
|
void fb_fill(uint8_t c) {
|
|
memset(framebuffer, c, sizeof(framebuffer[0][0]) * FB_HEIGHT * FB_WIDTH_BYTES);
|
|
}
|
|
|
|
void fb_shift(uint16_t newcol) {
|
|
int x, y;
|
|
uint8_t transfer = 0, tmp = 0;
|
|
for (y = 0; y < FB_HEIGHT; y++) {
|
|
for (x = FB_WIDTH_BYTES - 1; x >= 0; x--) {
|
|
tmp = transfer;
|
|
transfer = (framebuffer[y][x] & 1);
|
|
framebuffer[y][x] = (framebuffer[y][x] >> 1) | (tmp << 7);
|
|
}
|
|
transfer = 0;
|
|
FB_SET(FB_WIDTH - 1, y, newcol & 1);
|
|
newcol = newcol >> 1;
|
|
}
|
|
}
|
|
|
|
#elif FB_DEPTH==8
|
|
|
|
void fb_fill(uint8_t c) {
|
|
memset(framebuffer, c, sizeof(framebuffer[0][0]) * FB_HEIGHT * FB_WIDTH);
|
|
}
|
|
|
|
#endif
|