[Change] Major toolkit change to simplify things a lot, makes it more "object orientated"
This commit is contained in:
parent
7893d5e0ec
commit
b4c29d1157
18
src/save.c
18
src/save.c
@ -37,9 +37,9 @@ extern int diff_load(xmlNodePtr parent);
|
|||||||
extern void menu_main_close(void);
|
extern void menu_main_close(void);
|
||||||
/* Static. */
|
/* Static. */
|
||||||
static int save_data(xmlTextWriterPtr writer);
|
static int save_data(xmlTextWriterPtr writer);
|
||||||
static void load_menu_close(char* str);
|
static void load_menu_close(unsigned int wdw, char* str);
|
||||||
static void load_menu_load(char* str);
|
static void load_menu_load(unsigned int wdw, char* str);
|
||||||
static void load_menu_delete(char* str);
|
static void load_menu_delete(unsigned wdw, char* str);
|
||||||
static int load_game(char* file);
|
static int load_game(char* file);
|
||||||
|
|
||||||
/* Save all the game data. */
|
/* Save all the game data. */
|
||||||
@ -151,13 +151,13 @@ void load_game_menu(void) {
|
|||||||
window_setAccept(wid, load_menu_load);
|
window_setAccept(wid, load_menu_load);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void load_menu_close(char* str) {
|
static void load_menu_close(unsigned int wdw, char* str) {
|
||||||
(void)str;
|
(void)str;
|
||||||
|
|
||||||
window_destroy(window_get("Load Game"));
|
window_destroy(wdw);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void load_menu_load(char* str) {
|
static void load_menu_load(unsigned int wdw, char* str) {
|
||||||
(void)str;
|
(void)str;
|
||||||
char* save, path[PATH_MAX];
|
char* save, path[PATH_MAX];
|
||||||
int wid;
|
int wid;
|
||||||
@ -171,11 +171,11 @@ static void load_menu_load(char* str) {
|
|||||||
|
|
||||||
snprintf(path, PATH_MAX, "%ssaves/%s.ls", lfile_basePath(), save);
|
snprintf(path, PATH_MAX, "%ssaves/%s.ls", lfile_basePath(), save);
|
||||||
load_game(path);
|
load_game(path);
|
||||||
load_menu_close(NULL);
|
load_menu_close(wdw, NULL);
|
||||||
menu_main_close();
|
menu_main_close();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void load_menu_delete(char* str) {
|
static void load_menu_delete(unsigned int wdw, char* str) {
|
||||||
(void)str;
|
(void)str;
|
||||||
char* save, path[PATH_MAX];
|
char* save, path[PATH_MAX];
|
||||||
int wid;
|
int wid;
|
||||||
@ -194,7 +194,7 @@ static void load_menu_delete(char* str) {
|
|||||||
unlink(path);
|
unlink(path);
|
||||||
|
|
||||||
/* Need to reload the menu. */
|
/* Need to reload the menu. */
|
||||||
load_menu_close(NULL);
|
load_menu_close(wdw, NULL);
|
||||||
load_game_menu();
|
load_game_menu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
10
src/ship.c
10
src/ship.c
@ -26,7 +26,6 @@ static Ship* ship_stack = NULL;
|
|||||||
static int ship_nstack = 0;
|
static int ship_nstack = 0;
|
||||||
|
|
||||||
static Ship* ship_parse(xmlNodePtr parent);
|
static Ship* ship_parse(xmlNodePtr parent);
|
||||||
static void ship_view_close(char* btn);
|
|
||||||
|
|
||||||
/* Get a ship based on it's name. */
|
/* Get a ship based on it's name. */
|
||||||
Ship* ship_get(const char* name) {
|
Ship* ship_get(const char* name) {
|
||||||
@ -393,7 +392,8 @@ void ships_free(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Used to visualize the ships status. */
|
/* Used to visualize the ships status. */
|
||||||
void ship_view(char* shipname) {
|
void ship_view(unsigned int unused, char* shipname) {
|
||||||
|
(void) unused;
|
||||||
Ship* s;
|
Ship* s;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
unsigned int wid;
|
unsigned int wid;
|
||||||
@ -453,10 +453,6 @@ void ship_view(char* shipname) {
|
|||||||
snprintf(buf, 37, "close%s", shipname);
|
snprintf(buf, 37, "close%s", shipname);
|
||||||
window_addButton(wid, -20, 20,
|
window_addButton(wid, -20, 20,
|
||||||
BUTTON_WIDTH, BUTTON_HEIGHT,
|
BUTTON_WIDTH, BUTTON_HEIGHT,
|
||||||
buf, "Close", ship_view_close);
|
buf, "Close", window_close);
|
||||||
}
|
|
||||||
|
|
||||||
static void ship_view_close(char* btn) {
|
|
||||||
window_destroy(window_get(btn+5)); /* "closefoo -> Foo" */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,5 +88,5 @@ int ships_load(void);
|
|||||||
void ships_free(void);
|
void ships_free(void);
|
||||||
|
|
||||||
/* Toolkit. */
|
/* Toolkit. */
|
||||||
void ship_view(char* shipname);
|
void ship_view(unsigned int unused, char* shipname);
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ typedef struct Widget_ {
|
|||||||
union {
|
union {
|
||||||
/* Widget button. */
|
/* Widget button. */
|
||||||
struct {
|
struct {
|
||||||
void(*fptr) (char*); /* Active callback. */
|
void(*fptr) (unsigned int, char*); /* Active callback. */
|
||||||
char* display; /* Stored text. */
|
char* display; /* Stored text. */
|
||||||
int disabled;
|
int disabled;
|
||||||
} btn;
|
} btn;
|
||||||
@ -70,7 +70,7 @@ typedef struct Widget_ {
|
|||||||
int noptions; /* total number of options. */
|
int noptions; /* total number of options. */
|
||||||
int selected; /* Currently selected option. */
|
int selected; /* Currently selected option. */
|
||||||
int pos; /* Current topmost option (in view). */
|
int pos; /* Current topmost option (in view). */
|
||||||
void (*fptr) (char*); /* Modify callback. */
|
void (*fptr) (unsigned int, char*); /* Modify callback. */
|
||||||
} lst;
|
} lst;
|
||||||
/* Widget rect. */
|
/* Widget rect. */
|
||||||
struct {
|
struct {
|
||||||
@ -81,7 +81,7 @@ typedef struct Widget_ {
|
|||||||
struct {
|
struct {
|
||||||
int border;
|
int border;
|
||||||
void(*render) (double bx, double by, double bw, double bh);
|
void(*render) (double bx, double by, double bw, double bh);
|
||||||
void(*mouse) (SDL_Event* event, double bx, double by);
|
void(*mouse) (unsigned int wid, SDL_Event* event, double bx, double by);
|
||||||
} cst;
|
} cst;
|
||||||
struct {
|
struct {
|
||||||
/* Widget input. */
|
/* Widget input. */
|
||||||
@ -98,7 +98,7 @@ typedef struct Widget_ {
|
|||||||
double pos; /**< Current y position. */
|
double pos; /**< Current y position. */
|
||||||
int iw; /**< Image width to use. */
|
int iw; /**< Image width to use. */
|
||||||
int ih; /**< Image height to use. */
|
int ih; /**< Image height to use. */
|
||||||
void(*fptr)(char*); /**< Modify callback - triggered on selection. */
|
void(*fptr)(unsigned int, char*); /**< Modify callback - triggered on selection. */
|
||||||
} iar; /**< WIDGET_IMAGEARRAY */
|
} iar; /**< WIDGET_IMAGEARRAY */
|
||||||
} dat;
|
} dat;
|
||||||
} Widget;
|
} Widget;
|
||||||
@ -110,9 +110,9 @@ typedef struct Window_ {
|
|||||||
int hidden; /* Is it hidden? */
|
int hidden; /* Is it hidden? */
|
||||||
int focus; /* Which window is focused. */
|
int focus; /* Which window is focused. */
|
||||||
|
|
||||||
void(*accept_fptr)(char*); /**< Triggered by hitting 'enter' with no widget
|
void(*accept_fptr)(unsigned int, char*); /**< Triggered by hitting 'enter' with no widget
|
||||||
that catches the keypress. */
|
that catches the keypress. */
|
||||||
void(*cancel_fptr)(char*); /**< Triggered by hitting 'escape' with no
|
void(*cancel_fptr)(unsigned int, char*); /**< Triggered by hitting 'escape' with no
|
||||||
widget that catches the keypress. */
|
widget that catches the keypress. */
|
||||||
|
|
||||||
double x,y; /* Position. */
|
double x,y; /* Position. */
|
||||||
@ -188,7 +188,7 @@ static void toolkit_setPos(Window* wdw, Widget* wgt, int x, int y) {
|
|||||||
/* only parameter. */
|
/* only parameter. */
|
||||||
void window_addButton(const unsigned int wid, const int x, const int y,
|
void window_addButton(const unsigned int wid, const int x, const int y,
|
||||||
const int w, const int h, char* name,
|
const int w, const int h, char* name,
|
||||||
char* display, void (*call)(char*)) {
|
char* display, void (*call)(unsigned int, char*)) {
|
||||||
|
|
||||||
Window* wdw = window_wget(wid);
|
Window* wdw = window_wget(wid);
|
||||||
Widget* wgt = window_newWidget(wdw);
|
Widget* wgt = window_newWidget(wdw);
|
||||||
@ -266,7 +266,7 @@ void window_addImage(const unsigned int wid, const int x, const int y,
|
|||||||
|
|
||||||
void window_addList(const unsigned int wid, const int x, const int y,
|
void window_addList(const unsigned int wid, const int x, const int y,
|
||||||
const int w, const int h, char* name, char** items, int nitems,
|
const int w, const int h, char* name, char** items, int nitems,
|
||||||
int defitem, void(*call) (char*)) {
|
int defitem, void(*call) (unsigned int, char*)) {
|
||||||
|
|
||||||
Window *wdw = window_wget(wid);
|
Window *wdw = window_wget(wid);
|
||||||
Widget* wgt = window_newWidget(wdw);
|
Widget* wgt = window_newWidget(wdw);
|
||||||
@ -315,7 +315,7 @@ void window_addRect(const unsigned int wid, const int x, const int y,
|
|||||||
void window_addCust(const unsigned int wid, const int x, const int y,
|
void window_addCust(const unsigned int wid, const int x, const int y,
|
||||||
const int w, const int h, char* name, const int border,
|
const int w, const int h, char* name, const int border,
|
||||||
void(*render) (double x, double y, double w, double h),
|
void(*render) (double x, double y, double w, double h),
|
||||||
void(*mouse) (SDL_Event* event, double x, double y)) {
|
void(*mouse) (unsigned int wid, SDL_Event* event, double x, double y)) {
|
||||||
|
|
||||||
Window* wdw = window_wget(wid);
|
Window* wdw = window_wget(wid);
|
||||||
Widget* wgt = window_newWidget(wdw);
|
Widget* wgt = window_newWidget(wdw);
|
||||||
@ -382,7 +382,7 @@ void window_addImageArray(const unsigned int wid,
|
|||||||
const int w, const int h, /* Size. */
|
const int w, const int h, /* Size. */
|
||||||
char* name, const int iw, const int ih, /* Name and image sizes. */
|
char* name, const int iw, const int ih, /* Name and image sizes. */
|
||||||
glTexture** tex, char** caption, int nelem, /* Elements. */
|
glTexture** tex, char** caption, int nelem, /* Elements. */
|
||||||
void(*call) (char*)) {
|
void(*call) (unsigned int, char*)) {
|
||||||
|
|
||||||
Window* wdw = window_wget(wid);
|
Window* wdw = window_wget(wid);
|
||||||
Widget* wgt = window_newWidget(wdw);
|
Widget* wgt = window_newWidget(wdw);
|
||||||
@ -532,7 +532,6 @@ unsigned int window_get(const char* wdwname) {
|
|||||||
for(i = 0; i < nwindows; i++)
|
for(i = 0; i < nwindows; i++)
|
||||||
if(strcmp(windows[i].name, wdwname)==0)
|
if(strcmp(windows[i].name, wdwname)==0)
|
||||||
return windows[i].id;
|
return windows[i].id;
|
||||||
DEBUG("Window '%s' not found in windows stack", wdwname);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -596,7 +595,7 @@ unsigned int window_create(char* name, const int x, const int y,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fn void window_setAccept(const unsigned int wid, void(*accept)(char*))
|
* @fn void window_setAccept(const unsigned int wid, void(*accept)(unsigned int, char*))
|
||||||
*
|
*
|
||||||
* @brief Set the default accept function of the window.
|
* @brief Set the default accept function of the window.
|
||||||
*
|
*
|
||||||
@ -606,7 +605,7 @@ unsigned int window_create(char* name, const int x, const int y,
|
|||||||
* @param accept Function to trigger when window is "accepted". Parameter
|
* @param accept Function to trigger when window is "accepted". Parameter
|
||||||
* passed is window name.
|
* passed is window name.
|
||||||
*/
|
*/
|
||||||
void window_setAccept(const unsigned int wid, void(*accept)(char*)) {
|
void window_setAccept(const unsigned int wid, void(*accept)(unsigned int, char*)) {
|
||||||
Window* wdw;
|
Window* wdw;
|
||||||
|
|
||||||
wdw = window_wget(wid);
|
wdw = window_wget(wid);
|
||||||
@ -614,7 +613,7 @@ void window_setAccept(const unsigned int wid, void(*accept)(char*)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fn void window_setCancel(const unsigned int wid, void(*cancel)(char*))
|
* @fn void window_setCancel(const unsigned int wid, void(*cancel)(unsigned int, char*))
|
||||||
*
|
*
|
||||||
* @brief Set the default cancel function of the window.
|
* @brief Set the default cancel function of the window.
|
||||||
*
|
*
|
||||||
@ -624,7 +623,7 @@ void window_setAccept(const unsigned int wid, void(*accept)(char*)) {
|
|||||||
* @param cancel Function to trigger when window is "cancelled".
|
* @param cancel Function to trigger when window is "cancelled".
|
||||||
* Parameter passed is the window name.
|
* Parameter passed is the window name.
|
||||||
*/
|
*/
|
||||||
void window_setCancel(const unsigned int wid, void(*cancel)(char*)) {
|
void window_setCancel(const unsigned int wid, void(*cancel)(unsigned int, char*)) {
|
||||||
Window* wdw;
|
Window* wdw;
|
||||||
|
|
||||||
wdw = window_wget(wid);
|
wdw = window_wget(wid);
|
||||||
@ -668,6 +667,19 @@ static void widget_cleanup(Widget* widget) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @fn void window_close(unsigned int wid, char* str)
|
||||||
|
*
|
||||||
|
* @brief Helper function to automatically close the window calling it.
|
||||||
|
* @param wid Window to close.
|
||||||
|
* @param str Unused.
|
||||||
|
*/
|
||||||
|
void window_close(unsigned int wid, char* str) {
|
||||||
|
(void) str;
|
||||||
|
window_destroy(wid);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Destroy a window. */
|
/* Destroy a window. */
|
||||||
void window_destroy(const unsigned int wid) {
|
void window_destroy(const unsigned int wid) {
|
||||||
int i, j;
|
int i, j;
|
||||||
@ -1406,7 +1418,7 @@ static void toolkit_mouseEvent(SDL_Event* event) {
|
|||||||
(y > wgt->y) && (y < (wgt->y + wgt->h))) {
|
(y > wgt->y) && (y < (wgt->y + wgt->h))) {
|
||||||
/* Custom widgets take it from here. */
|
/* Custom widgets take it from here. */
|
||||||
if((wgt->type == WIDGET_CUST) && wgt->dat.cst.mouse)
|
if((wgt->type == WIDGET_CUST) && wgt->dat.cst.mouse)
|
||||||
(*wgt->dat.cst.mouse)(event, x-wgt->x, y-wgt->y);
|
(*wgt->dat.cst.mouse)(w->id, event, x-wgt->x, y-wgt->y);
|
||||||
else
|
else
|
||||||
switch(event->type) {
|
switch(event->type) {
|
||||||
case SDL_MOUSEMOTION:
|
case SDL_MOUSEMOTION:
|
||||||
@ -1463,16 +1475,17 @@ static void toolkit_mouseEvent(SDL_Event* event) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* Otherwise custom widgets can get stuck on mousedown. */
|
||||||
else if((wgt->type == WIDGET_CUST) &&
|
else if((wgt->type == WIDGET_CUST) &&
|
||||||
(event->type == SDL_MOUSEBUTTONUP) && wgt->dat.cst.mouse)
|
(event->type == SDL_MOUSEBUTTONUP) && wgt->dat.cst.mouse)
|
||||||
(*wgt->dat.cst.mouse) (event, x-wgt->x, y-wgt->y);
|
(*wgt->dat.cst.mouse) (w->id, event, x-wgt->x, y-wgt->y);
|
||||||
else if(!mouse_down)
|
else if(!mouse_down)
|
||||||
wgt->status = WIDGET_STATUS_NORMAL;
|
wgt->status = WIDGET_STATUS_NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We trigger this at the end in case it destroys the window that is calling
|
/* We trigger this at the end in case it destroys the window that is calling
|
||||||
* this function. Otherwise ugly segfaults appear. */
|
* this function. Otherwise ugly segfaults appear. */
|
||||||
if(wgt_func) (*wgt_func->dat.btn.fptr)(wgt_func->name);
|
if(wgt_func) (*wgt_func->dat.btn.fptr)(w->id, wgt_func->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Handle the key events. */
|
/* Handle the key events. */
|
||||||
@ -1529,7 +1542,7 @@ static int toolkit_keyEvent(SDL_Event* event) {
|
|||||||
case SDLK_ESCAPE:
|
case SDLK_ESCAPE:
|
||||||
if(event->type == SDL_KEYDOWN)
|
if(event->type == SDL_KEYDOWN)
|
||||||
if(wdw->cancel_fptr != NULL) {
|
if(wdw->cancel_fptr != NULL) {
|
||||||
(*wdw->cancel_fptr)(wdw->name);
|
(*wdw->cancel_fptr)(wdw->id, wdw->name);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -1631,13 +1644,13 @@ static void toolkit_triggerFocus(void) {
|
|||||||
|
|
||||||
switch(wgt->type) {
|
switch(wgt->type) {
|
||||||
case WIDGET_BUTTON:
|
case WIDGET_BUTTON:
|
||||||
if(wgt->dat.btn.fptr)(*wgt->dat.btn.fptr)(wgt->name);
|
if(wgt->dat.btn.fptr)(*wgt->dat.btn.fptr)(wdw->id, wgt->name);
|
||||||
else DEBUG("Toolkit: Button '%s' of Window '%s'"
|
else DEBUG("Toolkit: Button '%s' of Window '%s'"
|
||||||
"Doesn't have a function trigger",
|
"Doesn't have a function trigger",
|
||||||
wgt->name, wdw->name);
|
wgt->name, wdw->name);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if(wdw->accept_fptr)(*wdw->accept_fptr)(wgt->name);
|
if(wdw->accept_fptr)(*wdw->accept_fptr)(wdw->id, wgt->name);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1647,15 +1660,18 @@ static void toolkit_listScroll(Widget* wgt, int direction) {
|
|||||||
double w, h;
|
double w, h;
|
||||||
int xelem, yelem;
|
int xelem, yelem;
|
||||||
double hmax;
|
double hmax;
|
||||||
|
Window* wdw;
|
||||||
|
|
||||||
if(wgt == NULL) return;
|
if(wgt == NULL) return;
|
||||||
|
|
||||||
|
wdw = &windows[nwindows-1]; /* Get active window. */
|
||||||
|
|
||||||
switch(wgt->type) {
|
switch(wgt->type) {
|
||||||
case WIDGET_LIST:
|
case WIDGET_LIST:
|
||||||
wgt->dat.lst.selected -= direction;
|
wgt->dat.lst.selected -= direction;
|
||||||
wgt->dat.lst.selected = MAX(0, wgt->dat.lst.selected);
|
wgt->dat.lst.selected = MAX(0, wgt->dat.lst.selected);
|
||||||
wgt->dat.lst.selected = MIN(wgt->dat.lst.selected, wgt->dat.lst.noptions-1);
|
wgt->dat.lst.selected = MIN(wgt->dat.lst.selected, wgt->dat.lst.noptions-1);
|
||||||
if(wgt->dat.lst.fptr) (*wgt->dat.lst.fptr)(wgt->name);
|
if(wgt->dat.lst.fptr) (*wgt->dat.lst.fptr)(wdw->id, wgt->name);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WIDGET_IMAGEARRAY:
|
case WIDGET_IMAGEARRAY:
|
||||||
@ -1678,7 +1694,7 @@ static void toolkit_listScroll(Widget* wgt, int direction) {
|
|||||||
/* Boundry check. */
|
/* Boundry check. */
|
||||||
wgt->dat.iar.pos = MAX(wgt->dat.iar.pos, 0.);
|
wgt->dat.iar.pos = MAX(wgt->dat.iar.pos, 0.);
|
||||||
wgt->dat.iar.pos = MIN(wgt->dat.iar.pos, hmax);
|
wgt->dat.iar.pos = MIN(wgt->dat.iar.pos, hmax);
|
||||||
if(wgt->dat.iar.fptr)(*wgt->dat.iar.fptr)(wgt->name);
|
if(wgt->dat.iar.fptr)(*wgt->dat.iar.fptr)(wdw->id, wgt->name);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -1758,6 +1774,9 @@ static void toolkit_imgarrFocus(Widget* iar, double bx, double by) {
|
|||||||
double x, y, w, h, ycurs, xcurs;
|
double x, y, w, h, ycurs, xcurs;
|
||||||
double scroll_pos, hmax;
|
double scroll_pos, hmax;
|
||||||
int xelem, xspace, yelem;
|
int xelem, xspace, yelem;
|
||||||
|
Window* wdw;
|
||||||
|
|
||||||
|
wdw = &windows[nwindows-1]; /* Get active window. */
|
||||||
|
|
||||||
/* Positions. */
|
/* Positions. */
|
||||||
x = bx + iar->x;
|
x = bx + iar->x;
|
||||||
@ -1788,7 +1807,7 @@ static void toolkit_imgarrFocus(Widget* iar, double bx, double by) {
|
|||||||
(by > ycurs) && (by < ycurs+h-4.)) {
|
(by > ycurs) && (by < ycurs+h-4.)) {
|
||||||
iar->dat.iar.selected = j*xelem+i;
|
iar->dat.iar.selected = j*xelem+i;
|
||||||
if(iar->dat.iar.fptr != NULL)
|
if(iar->dat.iar.fptr != NULL)
|
||||||
(*iar->dat.iar.fptr)(iar->name);
|
(*iar->dat.iar.fptr)(wdw->id, iar->name);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
xcurs += xspace + w;
|
xcurs += xspace + w;
|
||||||
|
@ -11,7 +11,7 @@ unsigned int window_create(char* name, const int x, const int y,
|
|||||||
|
|
||||||
void window_addButton(const unsigned int wid, const int x, const int y,
|
void window_addButton(const unsigned int wid, const int x, const int y,
|
||||||
const int w, const int h, char* name, char* display,
|
const int w, const int h, char* name, char* display,
|
||||||
void(*call)(char*));
|
void(*call)(unsigned int, char*));
|
||||||
|
|
||||||
void window_addText(const unsigned int wid, const int x, const int y,
|
void window_addText(const unsigned int wid, const int x, const int y,
|
||||||
const int w, const int h, const int centered, char* name,
|
const int w, const int h, const int centered, char* name,
|
||||||
@ -24,7 +24,7 @@ void window_addList(const unsigned int wid,
|
|||||||
const int x, const int y, /* Position. */
|
const int x, const int y, /* Position. */
|
||||||
const int w, const int h, /* Size. */
|
const int w, const int h, /* Size. */
|
||||||
char* name, char** items, int nitems, int defitem,
|
char* name, char** items, int nitems, int defitem,
|
||||||
void(*call)(char*));
|
void(*call)(unsigned int, char*));
|
||||||
|
|
||||||
void window_addRect(const unsigned int wid,
|
void window_addRect(const unsigned int wid,
|
||||||
const int x, const int y, /* Position. */
|
const int x, const int y, /* Position. */
|
||||||
@ -36,7 +36,7 @@ void window_addCust(const unsigned int wid,
|
|||||||
const int w, const int h, /* Size. */
|
const int w, const int h, /* Size. */
|
||||||
char* name, const int border,
|
char* name, const int border,
|
||||||
void(*render) (double x, double y, double w, double h),
|
void(*render) (double x, double y, double w, double h),
|
||||||
void(*mouse) (SDL_Event* event, double x, double y));
|
void(*mouse) (unsigned int wid, SDL_Event* event, double x, double y));
|
||||||
|
|
||||||
void window_addInput(const unsigned int wid,
|
void window_addInput(const unsigned int wid,
|
||||||
const int x, const int y,
|
const int x, const int y,
|
||||||
@ -48,11 +48,11 @@ void window_addImageArray(const unsigned int wid,
|
|||||||
const int w, const int h, /* Size. */
|
const int w, const int h, /* Size. */
|
||||||
char* name, const int iw, const int ih, /* Name and images sizes. */
|
char* name, const int iw, const int ih, /* Name and images sizes. */
|
||||||
glTexture** tex, char** caption, int nelem, /* Elements. */
|
glTexture** tex, char** caption, int nelem, /* Elements. */
|
||||||
void(*call)(char*));
|
void(*call)(unsigned int, char*));
|
||||||
|
|
||||||
/* Modification. */
|
/* Modification. */
|
||||||
void window_setAccept(const unsigned int wid, void(*fptr)(char*));
|
void window_setAccept(const unsigned int wid, void(*fptr)(unsigned int, char*));
|
||||||
void window_setCancel(const unsigned int wid, void(*cancel)(char*));
|
void window_setCancel(const unsigned int wid, void(*cancel)(unsigned int, char*));
|
||||||
/* Text. */
|
/* Text. */
|
||||||
void window_modifyText(const unsigned int wid, char* name, char* newstring);
|
void window_modifyText(const unsigned int wid, char* name, char* newstring);
|
||||||
/* Button. */
|
/* Button. */
|
||||||
@ -77,6 +77,7 @@ int toolkit_getListPos(const unsigned int wid, char* name);
|
|||||||
glTexture* window_getImage(const unsigned int wid, char* name);
|
glTexture* window_getImage(const unsigned int wid, char* name);
|
||||||
|
|
||||||
/* Destroy window. */
|
/* Destroy window. */
|
||||||
|
void window_close(unsigned int wid, char* str);
|
||||||
void window_destroy(const unsigned int wid);
|
void window_destroy(const unsigned int wid);
|
||||||
void window_destroyWidget(unsigned wid, const char* wgtname);
|
void window_destroyWidget(unsigned wid, const char* wgtname);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user