tetris/canvas.c

34 lines
710 B
C
Raw Normal View History

2024-03-08 09:57:47 +01:00
#include <string.h>
#include <stdint.h>
#include "canvas.h"
#include "displayDriver.h"
static canvas_t canvas;
static uint8_t canvasStorage[CANVAS_WIDTH * CANVAS_HEIGHT];
void canvasInit() {
canvas.height = CANVAS_HEIGHT;
canvas.width = CANVAS_WIDTH;
canvas.size = CANVAS_HEIGHT * CANVAS_WIDTH;
canvas.canvas = canvasStorage;
// Bit7 signals need to be transfered for octet
memset(canvasStorage, 0x80, canvas.size);
displayDriverTransferCanvas();
}
canvas_t *canvasGet() {
return &canvas;
}
void canvasShow() {
displayDriverTransferCanvas();
}
2024-03-08 14:07:09 +01:00
void canvasSetPixel(uint8_t column, uint8_t row, uint8_t color) {
*((canvas.canvas) + (row * canvas.width + column)) = (color + 0x80);
}