--- previous/src/includes/sdlgui.h 2018/04/24 19:25:10 1.1 +++ previous/src/includes/sdlgui.h 2018/04/24 19:34:09 1.1.1.5 @@ -20,7 +20,9 @@ enum SGBUTTON, SGRADIOBUT, SGCHECKBOX, - SGPOPUP + SGPOPUP, + SGSCROLLBAR, + SGHIDDEN }; @@ -31,17 +33,19 @@ enum #define SG_CANCEL 8 /* Marks a cancel button, selectable with ESC key */ /* Object states: */ -#define SG_SELECTED 1 +#define SG_SELECTED 1 +#define SG_MOUSEDOWN 16 +#define SG_MOUSEUP (((int)-1) - SG_MOUSEDOWN) + /* Special characters: */ #define SGRADIOBUTTON_NORMAL 12 #define SGRADIOBUTTON_SELECTED 13 -#define SGCHECKBOX_NORMAL 14 -#define SGCHECKBOX_SELECTED 15 -#define SGARROWUP 1 -#define SGARROWDOWN 2 -#define SGFOLDER 5 - +#define SGCHECKBOX_NORMAL 14 +#define SGCHECKBOX_SELECTED 15 +#define SGARROWUP 1 +#define SGARROWDOWN 2 +#define SGFOLDER 5 /* Return codes: */ #define SDLGUI_ERROR -1 #define SDLGUI_QUIT -2 @@ -54,20 +58,24 @@ typedef struct int flags; /* Object flags */ int state; /* Object state */ int x, y; /* The offset to the upper left corner */ - int w, h; /* Width and height */ + int w, h; /* Width and height (for scrollbar : height and position) */ char *txt; /* Text string */ } SGOBJ; +int sdlgui_fontwidth; /* Width of the actual font */ +int sdlgui_fontheight; /* Height of the actual font */ -extern int SDLGui_Init(void); -extern int SDLGui_UnInit(void); -extern int SDLGui_SetScreen(SDL_Surface *pScrn); -extern void SDLGui_GetFontSize(int *width, int *height); -extern void SDLGui_Text(int x, int y, const char *txt); -extern void SDLGui_DrawDialog(const SGOBJ *dlg); -extern int SDLGui_DoDialog(SGOBJ *dlg, SDL_Event *pEventOut); -extern void SDLGui_CenterDlg(SGOBJ *dlg); -extern char* SDLGui_FileSelect(const char *path_and_name, char **zip_path, bool bAllowNew); -extern bool SDLGui_FileConfSelect(char *dlgname, char *confname, int maxlen, bool bAllowNew); +int SDLGui_Init(void); +int SDLGui_UnInit(void); +int SDLGui_SetScreen(SDL_Surface *pScrn); +void SDLGui_GetFontSize(int *width, int *height); +void SDLGui_Text(int x, int y, const char *txt); +void SDLGui_DrawDialog(const SGOBJ *dlg); +int SDLGui_DoDialog(SGOBJ *dlg, SDL_Event *pEventOut); +void SDLGui_CenterDlg(SGOBJ *dlg); +char* SDLGui_FileSelect(const char *path_and_name, char **zip_path, bool bAllowNew); +bool SDLGui_FileConfSelect(char *dlgname, char *confname, int maxlen, bool bAllowNew); +bool SDLGui_DiskSelect(char *dlgname, char *confname, int maxlen, bool *readonly); +bool SDLGui_DirectorySelect(char *dlgname, char *confname, int maxlen); #endif