summaryrefslogtreecommitdiff
path: root/examples/pixels.c
blob: c47ac3596c75d071d2ab0addd5d54ecbaadfaf42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#define MIN_PIXEL_SIZE 16
#include "../graphics.c"

i64 t = 0;
f64 x = 100.;
f64 y = 100.;

void update_and_render_frame(void) {
  p_handle_events();

  i64 time_elapsed = p_time() - t;
  t += time_elapsed;

  if (g_platform.key_down[KEY_LEFT])  x -= .01 * time_elapsed;
  if (g_platform.key_down[KEY_RIGHT]) x += .01 * time_elapsed;
  if (g_platform.key_down[KEY_UP])    y -= .01 * time_elapsed;
  if (g_platform.key_down[KEY_DOWN])  y += .01 * time_elapsed;

  Brush white = RGB(1.f, 1.f, 1.f);
  Brush black = RGB(0.f, 0.f, 0.f);

  black.antialiasing = 1;

  fill_rectangle(white, 0., 0., g_platform.real_width, g_platform.real_height);
  fill_rectangle(black,  x,  y, 40.,   40.);

  p_render_frame();
  p_sleep_for(0);
}

i32 main(i32 argc, c8 **argv) {
  (void) argc;
  (void) argv;

  g_platform = (Platform) {
    .title = "Pixels",
  };

  t = p_time();

  p_event_loop();

  return 0;
}