A bit of some clean up, API unifying, and some performance tweaks.

This commit is contained in:
Zed A. Shaw 2024-11-22 23:12:18 -05:00
parent a4926bedcb
commit fb1fd9d8bc
8 changed files with 72 additions and 42 deletions

View file

@ -81,10 +81,7 @@ int main(int argc, char *argv[]) {
// divide the image into cells
auto size = image.getSize();
const Point cell = {4, 6};
// create a grid panel to hold the cells
Panel panel(0, 0, 0, 0, true);
const Point cell = {3, 6};
println("IMAGE SIZE {},{}", size.x, size.y);
RGBColor avg{0,0,0};
@ -108,8 +105,11 @@ int main(int argc, char *argv[]) {
}
// average it for the cell size
RGBColor color = {avg.r / int(cell.x * cell.y),
avg.g / int(cell.x * cell.y), avg.b / int(cell.x * cell.y)};
RGBColor color = {
avg.r / int(cell.x * cell.y),
avg.g / int(cell.x * cell.y),
avg.b / int(cell.x * cell.y),
};
// add it
colors[i][j] = color;
@ -120,10 +120,9 @@ int main(int argc, char *argv[]) {
}
Canvas drawing;
// create a grid panel to hold the cells
Panel panel(0, 0, 0, 0, true);
SFMLRender renderer;
renderer.resize_grid(26, panel);
drawing = Canvas(panel.width * 2, panel.height * 4);
@ -142,8 +141,28 @@ int main(int argc, char *argv[]) {
sf::Event event;
int start_x = 0;
int start_y = 0;
int end_x = 600;
int end_y = 300;
int cur_x = start_x;
int cur_y = start_y;
sf::Texture texture;
texture.loadFromFile(image_file);
sf::Sprite sprite(texture);
panel.render();
while(renderer.is_open()) {
renderer.draw(panel);
cur_x = cur_x < end_x ? cur_x + 1 : start_x;
cur_y = cur_y < end_y ? cur_y + 1 : start_y;
// sprite.setPosition(cur_x, cur_y);
// renderer.$window.draw(sprite);
// renderer.display();
renderer.draw(panel, cur_x, cur_y);
renderer.display();
while(renderer.poll_event(event)) {
@ -151,8 +170,6 @@ int main(int argc, char *argv[]) {
renderer.close();
}
}
std::this_thread::sleep_for(100ms);
}
return 0;