(main)+camera

This will be useful for zooming in.
This commit is contained in:
2023-08-25 18:52:00 +01:00
parent 08bca7b68e
commit 32934c0c1a

8
main.c
View File

@@ -7,6 +7,7 @@
#include <stdio.h> #include <stdio.h>
#include <raylib.h> #include <raylib.h>
#include <raymath.h>
struct State struct State
{ {
@@ -49,15 +50,17 @@ int main(void)
state.data = calloc(state.dwidth * state.dwidth, sizeof(*state.data)); state.data = calloc(state.dwidth * state.dwidth, sizeof(*state.data));
state.multiplier = state.window_len / state.dwidth; state.multiplier = state.window_len / state.dwidth;
Camera2D camera = {0};
camera.zoom = 1.0f;
InitWindow(state.window_len, state.window_len, "Abelian sand pile"); InitWindow(state.window_len, state.window_len, "Abelian sand pile");
SetTargetFPS(60); SetTargetFPS(60);
while (!WindowShouldClose()) while (!WindowShouldClose())
{ {
step(&state); step(&state);
BeginDrawing(); BeginDrawing();
ClearBackground(BLACK); ClearBackground(BLACK);
DrawText("Hello, world!", 100, 100, 25, RAYWHITE); BeginMode2D(camera);
for (size_t i = 0; i < state.dwidth; ++i) for (size_t i = 0; i < state.dwidth; ++i)
for (size_t j = 0; j < state.dwidth; ++j) for (size_t j = 0; j < state.dwidth; ++j)
{ {
@@ -75,6 +78,7 @@ int main(void)
DrawRectangle(i * state.multiplier, j * state.multiplier, DrawRectangle(i * state.multiplier, j * state.multiplier,
state.multiplier, state.multiplier, c); state.multiplier, state.multiplier, c);
} }
EndMode2D();
EndDrawing(); EndDrawing();
} }
CloseWindow(); CloseWindow();