28 lines
851 B
C++
28 lines
851 B
C++
#include <daguerre.hpp>
|
|
|
|
int main(int, char **) {
|
|
|
|
auto hfb = daguerre::get_hilbert_framebuffer();
|
|
daguerre::image<daguerre::rgb24> bim;
|
|
|
|
std::FILE *burdon = std::fopen("/assets/burden.ppm", "r");
|
|
daguerre::try_load_ppm(burdon, bim);
|
|
std::fclose(burdon);
|
|
|
|
unsigned width = bim.width < hfb.width ? bim.width : hfb.width;
|
|
unsigned height = bim.height < hfb.height ? bim.height : hfb.height;
|
|
unsigned x = (hfb.width - width) / 2;
|
|
unsigned y = (hfb.height - height) / 2;
|
|
|
|
while (1) {
|
|
daguerre::copy_region<>(hfb, bim, 0, 0, x, y, width, height);
|
|
while ((__euler_read_key_packet() & 0x0400ff) != 0x00005a)
|
|
;
|
|
for (unsigned i = 0; i < bim.width * bim.height; ++i) {
|
|
bim.buffer[i].r = 255 - bim.buffer[i].r;
|
|
bim.buffer[i].g = 255 - bim.buffer[i].g;
|
|
bim.buffer[i].b = 255 - bim.buffer[i].b;
|
|
}
|
|
}
|
|
|
|
}
|