added SDL backend for easier testing
[winnie] / src / main.cc
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 #include "winnie.h"
5
6 static void display(Window *win);
7 static void keyboard(Window *win, int key, bool pressed);
8 static void cleanup();
9
10 int main()
11 {
12         winnie_init();
13         atexit(cleanup);
14
15         Window *win1 = new Window;
16         win1->set_title("title1");
17         win1->move(5, 10);
18         win1->resize(200, 300);
19         win1->set_display_callback(display);
20         win1->set_keyboard_callback(keyboard);
21
22         wm->add_window(win1);
23
24         while(1) {
25                 process_events();
26         }
27 }
28
29 static void display(Window *win)
30 {
31         if(wm->get_focused_window() != win) {
32                 fill_rect(win->get_rect(), 106, 106, 250);
33                 printf("drawing unfocused\n");
34         }
35         else {
36                 fill_rect(win->get_rect(), 0, 0, 255);
37                 printf("drawing FOCUSED\n");
38         }
39 }
40
41 static void keyboard(Window *win, int key, bool pressed)
42 {
43         switch(key) {
44         case 'q':
45                 exit(0);
46         }
47 }
48
49 static void cleanup()
50 {
51         winnie_shutdown();
52 }