#include <iostream>
#include <functional>
#include <cstdint>
#include <unistd.h>
#include "src/cgui.hpp"
void write_rect(CGui w, uint32_t x1, uint32_t y1, uint32_t x2, uint32_t y2, uint8_t red, uint8_t green, uint8_t blue) {
for (int x=x1; x < x2; x++) {
for (int y=y1; y < y2; y++) {
w.write_px(x, y, red, green, blue);
}
}
}
int main(int argc, char** argv) {
std::cout << "Inside C++ code..." << std::endl;
CGui w;
w.init();
int square_size = 5;
int x = 15;
int y = 15;
while (true) {
std::string event = w.event_tick();
std::cout << "got event " << event << std::endl;
if (event == "WinShown") {
write_rect(w, 0,0, 300,200, 0,0,0);
write_rect(w, x,y, x+square_size,y+square_size, 255,255,255);
w.redraw_dirty();
}
else if (event == "KeyPress,q") {
break;
}
else if (event == "KeyPress,w" || event == "KeyPress,a" || event == "KeyPress,s" || event == "KeyPress,d") {
write_rect(w, x,y, x+square_size,y+square_size, 0,0,0);
if (event == "KeyPress,w" && y - square_size > 0) {
y -= square_size;
}
else if (event == "KeyPress,a" && x - square_size > 0) {
x -= square_size;
}
else if (event == "KeyPress,s" && y + square_size < 300) {
y += square_size;
}
else if (event == "KeyPress,d" && x + square_size < 300) {
x += square_size;
}
write_rect(w, x,y, x+square_size,y+square_size, 255,255,255);
w.redraw_dirty();
}
}
return 0;
}