Fix the scaling and add nonthreaded

This commit is contained in:
2025-02-22 16:35:53 +01:00
parent 274c99f98b
commit 8158d35065
3 changed files with 28 additions and 19 deletions

27
main.c
View File

@@ -218,15 +218,15 @@ int init() {
SDL_PauseAudioDevice(dev, 0);
init_seven_segment(&displayA, renderer, 480, 240, 60, 120);
init_seven_segment(&displayB, renderer, 545, 240, 60, 120);
init_seven_segment(&displayC, renderer, 610, 240, 60, 120);
init_seven_segment(&displayD, renderer, 675, 240, 60, 120);
init_seven_segment(&displayA, renderer, 477, 240, 60, 120);
init_seven_segment(&displayB, renderer, 542, 240, 60, 120);
init_seven_segment(&displayC, renderer, 607, 240, 60, 120);
init_seven_segment(&displayD, renderer, 672, 240, 60, 120);
init_seven_segment(&displayE, renderer, 480, 375, 60, 120);
init_seven_segment(&displayF, renderer, 545, 375, 60, 120);
init_seven_segment(&displayG, renderer, 610, 375, 60, 120);
init_seven_segment(&displayH, renderer, 675, 375, 60, 120);
init_seven_segment(&displayE, renderer, 477, 375, 60, 120);
init_seven_segment(&displayF, renderer, 542, 375, 60, 120);
init_seven_segment(&displayG, renderer, 607, 375, 60, 120);
init_seven_segment(&displayH, renderer, 672, 375, 60, 120);
init_switches(&switchesA, renderer, 500, 500, 100, 100);
init_switches(&switchesB, renderer, 625, 500, 100, 100);
@@ -644,10 +644,19 @@ int processEvent(SDL_Event e) {
}
}
} else if (e.type == SDL_MOUSEBUTTONDOWN) {
SDL_Rect viewport;
SDL_RenderGetViewport(renderer, &viewport);
SDL_Rect mouset;
mouset.w = 1;
mouset.h = 1;
SDL_GetMouseState(&mouset.x, &mouset.y);
// Translate mouse coordinates to viewport space
SDL_Rect mouse;
mouse.w = 1;
mouse.h = 1;
SDL_GetMouseState(&mouse.x, &mouse.y);
mouse.x = ((mouset.x - viewport.x) * SCREEN_WIDTH) / viewport.w;
mouse.y = (mouset.y - viewport.y) * SCREEN_HEIGHT / viewport.h;
toggle_switch(mouse, &switchesA);
toggle_switch(mouse, &switchesB);
toggle_switch(mouse, &switchesC);