mirror of
https://github.com/usatiuk/cardboy.git
synced 2025-10-28 15:17:48 +01:00
54 lines
1.6 KiB
C++
54 lines
1.6 KiB
C++
//
|
|
// Created by Stepan Usatiuk on 02.03.2025.
|
|
//
|
|
|
|
#ifndef CB_DISP_TOOLS_HPP
|
|
#define CB_DISP_TOOLS_HPP
|
|
|
|
#include <display.hpp>
|
|
|
|
namespace DispTools {
|
|
static void clear() {
|
|
for (int y = 0; y < DISP_HEIGHT; y++) {
|
|
for (int x = 0; x < DISP_WIDTH; x++) {
|
|
SMD::set_pixel(x, y, true);
|
|
}
|
|
}
|
|
}
|
|
static bool get_pixel(int x, int y) {
|
|
if (x < 0 || x >= DISP_WIDTH || y < 0 || y >= DISP_HEIGHT)
|
|
assert(false);
|
|
assert(false); // Not implemented
|
|
return true;
|
|
// return disp_frame[y][x];
|
|
}
|
|
static void reset_pixel(int x, int y) {
|
|
if (x < 0 || x >= DISP_WIDTH || y < 0 || y >= DISP_HEIGHT)
|
|
assert(false);
|
|
SMD::set_pixel(x, y, false);
|
|
}
|
|
static void set_pixel(int x, int y) {
|
|
if (x < 0 || x >= DISP_WIDTH || y < 0 || y >= DISP_HEIGHT)
|
|
assert(false);
|
|
|
|
SMD::set_pixel(x, y, true);
|
|
}
|
|
static void set_pixel(int x, int y, bool on) {
|
|
if (on) {
|
|
set_pixel(x, y);
|
|
} else {
|
|
reset_pixel(x, y);
|
|
}
|
|
}
|
|
// New simplified async pipeline wrappers
|
|
static void async_frame_start() { SMD::async_draw_wait(); } // call at frame start
|
|
static void async_frame_end() { SMD::async_draw_start(); } // call after rendering
|
|
// Legacy names (temporary) mapped to new API in case of straggling calls
|
|
static void draw_to_display_async_start() { SMD::async_draw_start(); }
|
|
static void draw_to_display_async_wait() { SMD::async_draw_wait(); }
|
|
static bool draw_to_display_async_busy() { return SMD::async_draw_busy(); }
|
|
};
|
|
|
|
|
|
#endif // DISP_TOOLS_HPP
|