1 /* nuklear - v1.00 - public domain */
2
3 #define GUIRECT nk_rect(5,25, 364+10, 222)
4
5 typedef enum
6 {
7 GUI_NONE = 0,
8 GUI_BROWSE ,
9 GUI_VKBD ,
10 GUI_MAIN ,
11
12 } GUI_ACTION;
13
14 int GUISTATE=GUI_NONE;
15
16 extern int pauseg;
17 extern int NPAGE,SHIFTON;
18 extern int vkey_pressed;
19
20 extern char DISKA_NAME[512];
21 extern char DISKB_NAME[512];
22 extern char TAPE_NAME[512];
23
24 extern void emu_reset(void);
25 extern int loadadsk (char *arv,int drive);
26
27 static int
gui(struct file_browser * browser,struct nk_context * ctx)28 gui(struct file_browser *browser,struct nk_context *ctx)
29 {
30 struct nk_rect total_space;
31
32 /* window flags */
33 static int border = nk_true;
34 static int resize = nk_true;
35 static int movable = nk_true;
36 static int no_scrollbar = nk_false;
37 static nk_flags window_flags = 0;
38 static int minimizable = nk_false;//nk_true;//FIXME
39 static int title = nk_true;
40
41 /* window flags */
42 window_flags = 0;
43
44 if (border) window_flags |= NK_WINDOW_BORDER;
45 if (resize) window_flags |= NK_WINDOW_SCALABLE;
46 if (movable) window_flags |= NK_WINDOW_MOVABLE;
47 if (no_scrollbar || (pauseg==1 && LOADCONTENT==1) ) window_flags |= NK_WINDOW_NO_SCROLLBAR;
48 if (minimizable) window_flags |= NK_WINDOW_MINIMIZABLE;
49 if (title) window_flags |= NK_WINDOW_TITLE;
50
51 if(pauseg==1 && showkeyb==1)showkeyb=-1;
52 if(pauseg==0 && showkeyb==1)GUISTATE=GUI_VKBD;
53 if(pauseg==1 && showkeyb==-1 && LOADCONTENT==1)GUISTATE=GUI_BROWSE;
54 if(pauseg==1 && showkeyb==-1 && LOADCONTENT!=1)GUISTATE=GUI_MAIN;
55
56 switch(GUISTATE){
57
58 case GUI_VKBD:
59
60 if (nk_begin(ctx,"Cap32 keyboard", GUIRECT, window_flags)){
61 #include "vkboard.i"
62 nk_end(ctx);
63 }
64 break;
65
66 case GUI_BROWSE:
67
68 if (nk_begin(ctx,"File Select", GUIRECT,NK_WINDOW_TITLE| NK_WINDOW_BORDER|NK_WINDOW_NO_SCROLLBAR|NK_WINDOW_MOVABLE)){
69 #include "filebrowser.i"
70 nk_end(ctx);
71 }
72 break;
73
74 case GUI_MAIN:
75
76 if (nk_begin(ctx,"Cap32 GUI", GUIRECT, window_flags)){
77 #include "capmenu.i"
78 nk_end(ctx);
79 }
80 break;
81
82 default:
83 break;
84
85 }
86
87 if(pauseg==1 && showkeyb==1)showkeyb=-1;
88 if(pauseg==0 && showkeyb==1)GUISTATE=GUI_VKBD;
89 if(pauseg==1 && showkeyb==-1 && LOADCONTENT==1)GUISTATE=GUI_BROWSE;
90 if(pauseg==1 && showkeyb==-1 && LOADCONTENT!=1)GUISTATE=GUI_MAIN;
91
92 return GUISTATE;
93 }
94
95