foo
[cdmenu] / menu / src / menuscr.c
1 #include <string.h>
2 #include "app.h"
3 #include "rtk.h"
4
5 static int menu_init(void);
6 static void menu_destroy(void);
7 static int menu_start(void);
8 static void menu_stop(void);
9 static void menu_display(void);
10 static void menu_reshape(int x, int y);
11 static void menu_keyb(int key, int press);
12 static void menu_mouse(int bn, int press, int x, int y);
13 static void menu_motion(int x, int y);
14
15
16 struct app_screen menuscr = {
17         "menu",
18         menu_init, menu_destroy,
19         menu_start, menu_stop,
20         menu_display,
21         menu_keyb, menu_mouse, menu_motion
22 };
23
24 static rtk_screen *gui;
25
26
27 static int menu_init(void)
28 {
29         rtk_widget *win, *w;
30
31         if(!(gui = rtk_create_screen())) {
32                 return -1;
33         }
34         rtk_invalidate_screen(gui);
35
36         if(!(win = rtk_create_window(0, "CD menu", 100, 100, 400, 300, RTK_WIN_FRAME))) {
37                 return -1;
38         }
39         rtk_win_layout(win, RTK_NONE);
40         rtk_add_window(gui, win);
41
42         w = rtk_create_button(win, "foo", 0);
43         rtk_autosize(w, RTK_AUTOSZ_NONE);
44         rtk_move(w, 160, 130);
45         rtk_resize(w, 60, 25);
46
47         return 0;
48 }
49
50 static void menu_destroy(void)
51 {
52         rtk_free_screen(gui);
53 }
54
55 static int menu_start(void)
56 {
57         memset(framebuf, 0, SCR_WIDTH * SCR_HEIGHT);
58         return 0;
59 }
60
61 static void menu_stop(void)
62 {
63 }
64
65 static void menu_display(void)
66 {
67         rtk_draw_screen(gui);
68 }
69
70 static void menu_keyb(int key, int press)
71 {
72         if(!press) return;
73
74         switch(key) {
75         case 27:
76                 app_quit();
77                 break;
78         }
79 }
80
81 static void menu_mouse(int bn, int press, int x, int y)
82 {
83 }
84
85 static void menu_motion(int x, int y)
86 {
87 }