|
|
| version 1.11, 2007/01/10 18:02:21 | version 1.12, 2008/03/13 16:27:39 |
|---|---|
| Line 28 | Line 28 |
| #ifndef NP2_X11_TOOLKIT_H__ | #ifndef NP2_X11_TOOLKIT_H__ |
| #define NP2_X11_TOOLKIT_H__ | #define NP2_X11_TOOLKIT_H__ |
| typedef struct { | /* for toolkit_msgbox() */ |
| const char* (*get_toolkit)(void); | #define TK_MB_OK (1U << 0) |
| BOOL (*arginit)(int* argc, char*** argv); | #define TK_MB_CANCEL (1U << 1) |
| void (*terminate)(void); | #define TK_MB_YES (1U << 2) |
| void (*widget_create)(void); | #define TK_MB_NO (1U << 3) |
| void (*widget_show)(void); | #define TK_MB_OKCANCEL (TK_MB_OK|TK_MB_CANCEL) |
| void (*widget_mainloop)(void); | #define TK_MB_YESNO (TK_MB_YES|TK_MB_NO) |
| void (*widget_quit)(void); | #define TK_MB_BTN_MASK (TK_MB_OK|TK_MB_CANCEL|TK_MB_YESNO) |
| void (*event_process)(void); | #define TK_MB_ICON_INFO (1U << 16) |
| void (*set_window_title)(const char* str); | #define TK_MB_ICON_WARNING (1U << 17) |
| void (*messagebox)(const char *title, const char *msg); | #define TK_MB_ICON_ERROR (1U << 18) |
| } gui_toolkit_t; | #define TK_MB_ICON_QUESTION (1U << 19) |
| #define TK_MB_ICON_MASK (TK_MB_ICON_INFO \ | |
| void toolkit_msgbox(const char *title, const char *msg); | |TK_MB_ICON_WARNING \ |
| |TK_MB_ICON_ERROR \ | |
| #if (USE_GTK2 + USE_SDL) > 1 | |TK_MB_ICON_QUESTION) |
| extern gui_toolkit_t* toolkitp; | |
| void toolkit_initialize(void); | |
| #define toolkit_terminate() (*toolkitp->terminate)() | |
| #define toolkit_arginit(argcp, argvp) (*toolkitp->arginit)(argcp, argvp) | |
| #define toolkit_widget_create() (*toolkitp->widget_create)() | |
| #define toolkit_widget_show() (*toolkitp->widget_show)() | |
| #define toolkit_widget_mainloop() (*toolkitp->widget_mainloop)() | |
| #define toolkit_widget_quit() (*toolkitp->widget_quit)() | |
| #define toolkit_event_process() (*toolkitp->event_process)() | |
| #define toolkit_set_window_title(s) (*toolkitp->set_window_title)(s) | |
| #define toolkit_messagebox(t,m) (*toolkitp->messagebox)(t,m) | |
| #elif USE_GTK2 > 0 | |
| #include "gtk2/gtk_toolkit.h" | #include "gtk2/gtk_toolkit.h" |
| Line 71 void toolkit_initialize(void); | Line 56 void toolkit_initialize(void); |
| #define toolkit_widget_quit() gui_gtk_widget_quit() | #define toolkit_widget_quit() gui_gtk_widget_quit() |
| #define toolkit_event_process() gui_gtk_event_process() | #define toolkit_event_process() gui_gtk_event_process() |
| #define toolkit_set_window_title(s) gui_gtk_set_window_title(s) | #define toolkit_set_window_title(s) gui_gtk_set_window_title(s) |
| #define toolkit_messagebox(t,m) gui_gtk_messagebox(t,m) | #define toolkit_messagebox(t,m) gui_gtk_msgbox(t,m,TK_MB_OK|TK_MB_ICON_INFO) |
| #define toolkit_msgbox(t,m,f) gui_gtk_msgbox(t,m,f) | |
| #elif USE_SDL > 0 | |
| #include "sdl/sdl_toolkit.h" | |
| #define toolkit_initialize() | |
| #define toolkit_terminate() | |
| #define toolkit_arginit(argcp, argvp) gui_sdl_arginit(argcp, argvp) | |
| #define toolkit_widget_create() gui_sdl_widget_create() | |
| #define toolkit_widget_show() gui_sdl_widget_show() | |
| #define toolkit_widget_mainloop() gui_sdl_widget_mainloop() | |
| #define toolkit_widget_quit() gui_sdl_widget_quit() | |
| #define toolkit_event_process() gui_sdl_event_process() | |
| #define toolkit_set_window_title(s) gui_sdl_set_window_title(s) | |
| #define toolkit_messagebox(t,m) gui_sdl_messagebox(t,m) | |
| #else | |
| #error need to defined USE_GTK2 or USE_SDL !!! | |
| #endif | |
| #endif /* NP2_X11_TOOLKIT_H__ */ | #endif /* NP2_X11_TOOLKIT_H__ */ |