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