[Add] Added options menu for audio and faders.
This commit is contained in:
parent
6a65458f90
commit
f8701e4bdc
@ -45,7 +45,7 @@
|
|||||||
#define DEATH_WIDTH 130 /**< Death menu width. */
|
#define DEATH_WIDTH 130 /**< Death menu width. */
|
||||||
#define DEATH_HEIGHT 150 /**< Death menu height. */
|
#define DEATH_HEIGHT 150 /**< Death menu height. */
|
||||||
|
|
||||||
#define OPTIONS_WIDTH 249 /**< Options menu width. */
|
#define OPTIONS_WIDTH 260 /**< Options menu width. */
|
||||||
#define OPTIONS_HEIGHT 90 /**< Options menu height. */
|
#define OPTIONS_HEIGHT 90 /**< Options menu height. */
|
||||||
|
|
||||||
#define BUTTON_WIDTH 90 /**< Button width, standard across menus. */
|
#define BUTTON_WIDTH 90 /**< Button width, standard across menus. */
|
||||||
@ -647,6 +647,9 @@ void menu_options(void) {
|
|||||||
window_addButton(wid, -20 - (BUTTON_WIDTH+20), 20,
|
window_addButton(wid, -20 - (BUTTON_WIDTH+20), 20,
|
||||||
BUTTON_WIDTH, BUTTON_HEIGHT,
|
BUTTON_WIDTH, BUTTON_HEIGHT,
|
||||||
"btnKeybinds", "Keybindings", (void(*)(unsigned int,char*))opt_menuKeybinds);
|
"btnKeybinds", "Keybindings", (void(*)(unsigned int,char*))opt_menuKeybinds);
|
||||||
|
window_addButton(wid, -20 - 2 * (BUTTON_WIDTH+20), 20,
|
||||||
|
BUTTON_WIDTH, BUTTON_HEIGHT,
|
||||||
|
"btnAudio", "Audio", (void(*)(unsigned int, char*))opt_menuAudio);
|
||||||
menu_Open(MENU_OPTIONS);
|
menu_Open(MENU_OPTIONS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file menu.h
|
* @file options.c
|
||||||
*
|
*
|
||||||
* @brief Handle the important game menus.
|
* @brief Options menu.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -11,11 +11,16 @@
|
|||||||
#include "lephisto.h"
|
#include "lephisto.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
#include "toolkit.h"
|
#include "toolkit.h"
|
||||||
|
#include "sound.h"
|
||||||
|
#include "music.h"
|
||||||
#include "options.h"
|
#include "options.h"
|
||||||
|
|
||||||
#define KEYBINDS_WIDTH 440 /**< Options menu width. */
|
#define KEYBINDS_WIDTH 440 /**< Options menu width. */
|
||||||
#define KEYBINDS_HEIGHT 300 /**< Options menu height. */
|
#define KEYBINDS_HEIGHT 300 /**< Options menu height. */
|
||||||
|
|
||||||
|
#define AUDIO_WIDTH 340 /**< Options menu width. */
|
||||||
|
#define AUDIO_HEIGHT 200 /**< Options menu height. */
|
||||||
|
|
||||||
#define BUTTON_WIDTH 90 /**< Button width, standard across menus. */
|
#define BUTTON_WIDTH 90 /**< Button width, standard across menus. */
|
||||||
#define BUTTON_HEIGHT 30 /**< Button height, standard across menus. */
|
#define BUTTON_HEIGHT 30 /**< Button height, standard across menus. */
|
||||||
|
|
||||||
@ -25,6 +30,9 @@ extern const char* keybindNames[]; /* input.c */
|
|||||||
static const char* modToText(SDLMod mod);
|
static const char* modToText(SDLMod mod);
|
||||||
static void menuKeybinds_update(unsigned int wid, char* name);
|
static void menuKeybinds_update(unsigned int wid, char* name);
|
||||||
|
|
||||||
|
static void opt_setSFXLevel(unsigned int wid, char* str);
|
||||||
|
static void opt_setMusicLevel(unsigned int wid, char* str);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Opens the keybindings menu.
|
* @brief Opens the keybindings menu.
|
||||||
*/
|
*/
|
||||||
@ -163,3 +171,55 @@ static void menuKeybinds_update(unsigned int wid, char* name) {
|
|||||||
window_modifyText(wid, "txtDesc", buf);
|
window_modifyText(wid, "txtDesc", buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Callback to set the sound level.
|
||||||
|
*/
|
||||||
|
static void opt_setSFXLevel(unsigned int wid, char* str) {
|
||||||
|
double vol;
|
||||||
|
vol = window_getFaderValue(wid, str);
|
||||||
|
sound_volume(vol);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Callback to set the music level.
|
||||||
|
*/
|
||||||
|
static void opt_setMusicLevel(unsigned int wid, char* str) {
|
||||||
|
double vol;
|
||||||
|
vol = window_getFaderValue(wid, str);
|
||||||
|
music_volume(vol);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Opens the audio settings menu.
|
||||||
|
*/
|
||||||
|
void opt_menuAudio(void) {
|
||||||
|
unsigned int wid;
|
||||||
|
|
||||||
|
/* Create the window. */
|
||||||
|
wid = window_create("Audio", -1, -1, AUDIO_WIDTH, AUDIO_HEIGHT);
|
||||||
|
|
||||||
|
/* Sound fader. */
|
||||||
|
if(!sound_disabled) {
|
||||||
|
window_addFader(wid, 20, -40, 160, 20, "fadSound", 0., 1.,
|
||||||
|
sound_defVolume, opt_setSFXLevel);
|
||||||
|
window_addText(wid, 200, -40, AUDIO_WIDTH-220, 20, 1, "txtSound",
|
||||||
|
NULL, NULL, "Sound Volume");
|
||||||
|
} else
|
||||||
|
window_addText(wid, 200, -40, AUDIO_WIDTH-220, 20, 1, "txtSound",
|
||||||
|
NULL, NULL, "Sound Disabled");
|
||||||
|
|
||||||
|
/* Music fader. */
|
||||||
|
if(!music_disabled) {
|
||||||
|
window_addFader(wid, 20, -80, 160, 20, "fadMusic", 0., 1.,
|
||||||
|
music_defVolume, opt_setMusicLevel);
|
||||||
|
window_addText(wid, 200, -80, AUDIO_WIDTH-220, 20, 1, "txtMusic",
|
||||||
|
NULL, NULL, "Music Volume");
|
||||||
|
} else
|
||||||
|
window_addText(wid, 200, -80, AUDIO_WIDTH-220, 20, 1, "txtMusic",
|
||||||
|
NULL, NULL, "Music Disabled");
|
||||||
|
|
||||||
|
/* Close button. */
|
||||||
|
window_addButton(wid, -20, 20, BUTTON_WIDTH, BUTTON_HEIGHT,
|
||||||
|
"btnClose", "Close", window_close);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
void opt_menuKeybinds(void);
|
void opt_menuKeybinds(void);
|
||||||
|
void opt_menuAudio(void);
|
||||||
|
|
||||||
|
184
src/toolkit.c
184
src/toolkit.c
@ -25,7 +25,9 @@ typedef enum WidgetType_ {
|
|||||||
WIDGET_RECT,
|
WIDGET_RECT,
|
||||||
WIDGET_CUST,
|
WIDGET_CUST,
|
||||||
WIDGET_INPUT,
|
WIDGET_INPUT,
|
||||||
WIDGET_IMAGEARRAY
|
WIDGET_IMAGEARRAY,
|
||||||
|
WIDGET_SCROLLBAR,
|
||||||
|
WIDGET_FADER
|
||||||
} WidgetType;
|
} WidgetType;
|
||||||
|
|
||||||
typedef enum WidgetStatus_ {
|
typedef enum WidgetStatus_ {
|
||||||
@ -101,6 +103,16 @@ typedef struct Widget_ {
|
|||||||
int ih; /**< Image height to use. */
|
int ih; /**< Image height to use. */
|
||||||
void(*fptr)(unsigned int, char*); /**< Modify callback - triggered on selection. */
|
void(*fptr)(unsigned int, char*); /**< Modify callback - triggered on selection. */
|
||||||
} iar; /**< WIDGET_IMAGEARRAY */
|
} iar; /**< WIDGET_IMAGEARRAY */
|
||||||
|
struct {
|
||||||
|
double value; /**< Current value. */
|
||||||
|
} scb; /**< WIDGET_SCROLLBAR */
|
||||||
|
|
||||||
|
struct {
|
||||||
|
double value; /**< Current value. */
|
||||||
|
double min; /**< Minimum value. */
|
||||||
|
double max; /**< Maximum value. */
|
||||||
|
void(*fptr)(unsigned int, char*); /**< Modify callback - triggered on value change. */
|
||||||
|
} fad; /**< WIDGET_FADER */
|
||||||
} dat;
|
} dat;
|
||||||
} Widget;
|
} Widget;
|
||||||
|
|
||||||
@ -162,6 +174,7 @@ static Widget* toolkit_getFocus(void);
|
|||||||
static void toolkit_listScroll(Widget* wgt, int direction);
|
static void toolkit_listScroll(Widget* wgt, int direction);
|
||||||
static void toolkit_listFocus(Widget* lst, double bx, double by);
|
static void toolkit_listFocus(Widget* lst, double bx, double by);
|
||||||
static void toolkit_imgarrFocus(Widget* iar, double dx, double by);
|
static void toolkit_imgarrFocus(Widget* iar, double dx, double by);
|
||||||
|
static void toolkit_faderSetValue(Widget* fad, double value);
|
||||||
/* Render. */
|
/* Render. */
|
||||||
static void window_render(Window* w);
|
static void window_render(Window* w);
|
||||||
static void toolkit_renderButton(Widget* btn, double bx, double by);
|
static void toolkit_renderButton(Widget* btn, double bx, double by);
|
||||||
@ -172,6 +185,8 @@ static void toolkit_renderRect(Widget* rct, double bx, double by);
|
|||||||
static void toolkit_renderCust(Widget* cst, double bx, double by);
|
static void toolkit_renderCust(Widget* cst, double bx, double by);
|
||||||
static void toolkit_renderInput(Widget* inp, double bx, double by);
|
static void toolkit_renderInput(Widget* inp, double bx, double by);
|
||||||
static void toolkit_renderImageArray(Widget* iar, double bx, double by);
|
static void toolkit_renderImageArray(Widget* iar, double bx, double by);
|
||||||
|
static void toolkit_renderScrollbar(Widget* scb, double bx, double by);
|
||||||
|
static void toolkit_renderFader(Widget* fad, double bx, double by);
|
||||||
static void toolkit_drawOutline(double x, double y, double w,
|
static void toolkit_drawOutline(double x, double y, double w,
|
||||||
double h, double b, glColour* c, glColour* lc);
|
double h, double b, glColour* c, glColour* lc);
|
||||||
static void toolkit_drawScrollbar(double x, double y, double w, double h, double pos);
|
static void toolkit_drawScrollbar(double x, double y, double w, double h, double pos);
|
||||||
@ -420,6 +435,60 @@ void window_addImageArray(const unsigned int wid,
|
|||||||
toolkit_nextFocus();
|
toolkit_nextFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void window_addScrollbar(const unsigned int wid,
|
||||||
|
const int x, const int y, /* Position. */
|
||||||
|
const int w, const int h, /* Size. */
|
||||||
|
char* name, double value) {
|
||||||
|
|
||||||
|
Window* wdw = window_wget(wid);
|
||||||
|
Widget* wgt = window_newWidget(wdw);
|
||||||
|
|
||||||
|
/* Genetic. */
|
||||||
|
wgt->type = WIDGET_SCROLLBAR;
|
||||||
|
wgt->name = strdup(name);
|
||||||
|
|
||||||
|
/* Specific. */
|
||||||
|
wgt->dat.scb.value = value;
|
||||||
|
|
||||||
|
/* Position/size. */
|
||||||
|
wgt->w = (double)w;
|
||||||
|
wgt->h = (double)h;
|
||||||
|
toolkit_setPos(wdw, wgt, x, y);
|
||||||
|
|
||||||
|
if(wdw->focus == -1) /* Initialize the focus. */
|
||||||
|
toolkit_nextFocus();
|
||||||
|
}
|
||||||
|
|
||||||
|
void window_addFader(const unsigned int wid,
|
||||||
|
const int x, const int y, /* Position. */
|
||||||
|
const int w, const int h, /* Size, if w > h fader is horizontal, else vertical. */
|
||||||
|
char* name, const double min, const double max, /* Name, min/max values. */
|
||||||
|
const double def,
|
||||||
|
void(*call)(unsigned int, char*)) {
|
||||||
|
|
||||||
|
Window* wdw = window_wget(wid);
|
||||||
|
Widget* wgt = window_newWidget(wdw);
|
||||||
|
|
||||||
|
/* Generic. */
|
||||||
|
wgt->type = WIDGET_FADER;
|
||||||
|
wgt->name = strdup(name);
|
||||||
|
|
||||||
|
/* Specific. */
|
||||||
|
wgt->dat.fad.value = min;
|
||||||
|
wgt->dat.fad.min = min;
|
||||||
|
wgt->dat.fad.max = max;
|
||||||
|
wgt->dat.fad.value = MAX(min, MIN(max,def));
|
||||||
|
wgt->dat.fad.fptr = call;
|
||||||
|
|
||||||
|
/* Position/size. */
|
||||||
|
wgt->w = (double)w;
|
||||||
|
wgt->h = (double)h;
|
||||||
|
toolkit_setPos(wdw, wgt, x, y);
|
||||||
|
|
||||||
|
if(wdw->focus == -1) /* Initialize the focus. */
|
||||||
|
toolkit_nextFocus();
|
||||||
|
}
|
||||||
|
|
||||||
/* Return pointer to newly allocated widget. */
|
/* Return pointer to newly allocated widget. */
|
||||||
static Widget* window_newWidget(Window* w) {
|
static Widget* window_newWidget(Window* w) {
|
||||||
Widget* wgt = NULL;
|
Widget* wgt = NULL;
|
||||||
@ -515,6 +584,33 @@ void window_imgColour(const unsigned int wid, char* name, glColour* colour) {
|
|||||||
wgt->dat.img.colour = colour;
|
wgt->dat.img.colour = colour;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set scrollbar value.
|
||||||
|
*/
|
||||||
|
void window_scrollbarValue(const unsigned int wid,
|
||||||
|
char* name, double value) {
|
||||||
|
Widget* wgt = window_getwgt(wid, name);
|
||||||
|
|
||||||
|
wgt->dat.scb.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set fader value. */
|
||||||
|
void window_faderValue(const unsigned int wid,
|
||||||
|
char* name, double value) {
|
||||||
|
Widget* wgt = window_getwgt(wid, name);
|
||||||
|
toolkit_faderSetValue(wgt, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set minimum and maximum fader values. */
|
||||||
|
void window_faderBounds(const unsigned int wid,
|
||||||
|
char* name, double min, double max) {
|
||||||
|
Widget* wgt = window_getwgt(wid, name);
|
||||||
|
wgt->dat.fad.min = min;
|
||||||
|
wgt->dat.fad.max = max;
|
||||||
|
double value = MAX(MIN(value, wgt->dat.fad.max), wgt->dat.fad.min);
|
||||||
|
toolkit_faderSetValue(wgt, value);
|
||||||
|
}
|
||||||
|
|
||||||
glTexture* window_getImage(const unsigned int wid, char* name) {
|
glTexture* window_getImage(const unsigned int wid, char* name) {
|
||||||
Widget* wgt = window_getwgt(wid, name);
|
Widget* wgt = window_getwgt(wid, name);
|
||||||
return (wgt) ? wgt->dat.img.image : NULL;
|
return (wgt) ? wgt->dat.img.image : NULL;
|
||||||
@ -526,6 +622,18 @@ char* window_getInput(const unsigned int wid, char* name) {
|
|||||||
return(wgt) ? wgt->dat.inp.input : NULL;
|
return(wgt) ? wgt->dat.inp.input : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Get the value from a scrollbar widget. */
|
||||||
|
double window_getScrollbarValue(const unsigned int wid, char* name) {
|
||||||
|
Widget* wgt = window_getwgt(wid, name);
|
||||||
|
return (wgt) ? wgt->dat.scb.value : 0.;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Get value of fader. */
|
||||||
|
double window_getFaderValue(const unsigned int wid, char* name) {
|
||||||
|
Widget* wgt = window_getwgt(wid, name);
|
||||||
|
return (wgt) ? wgt->dat.fad.value : 0.;
|
||||||
|
}
|
||||||
|
|
||||||
/* Check if a window exists. */
|
/* Check if a window exists. */
|
||||||
int window_exists(const char* wdwname) {
|
int window_exists(const char* wdwname) {
|
||||||
int i;
|
int i;
|
||||||
@ -1059,6 +1167,13 @@ static void window_render(Window* w) {
|
|||||||
case WIDGET_IMAGEARRAY:
|
case WIDGET_IMAGEARRAY:
|
||||||
toolkit_renderImageArray(&w->widgets[i], x, y);
|
toolkit_renderImageArray(&w->widgets[i], x, y);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WIDGET_SCROLLBAR:
|
||||||
|
toolkit_renderScrollbar(&w->widgets[i], x, y);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WIDGET_FADER:
|
||||||
|
toolkit_renderFader(&w->widgets[i], x, y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Focus widget. */
|
/* Focus widget. */
|
||||||
@ -1387,6 +1502,53 @@ static void toolkit_drawScrollbar(double x, double y, double w, double h, double
|
|||||||
toolkit_drawOutline(x, sy, w, 30., 0., toolkit_colDark, NULL);
|
toolkit_drawOutline(x, sy, w, 30., 0., toolkit_colDark, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Render a scrollbar.
|
||||||
|
* @param scb WIDGET_SCROLLBAR widget to render.
|
||||||
|
* @param bx Base X position.
|
||||||
|
* @param by Base Y position.
|
||||||
|
*/
|
||||||
|
static void toolkit_renderScrollbar(Widget* scb, double bx, double by) {
|
||||||
|
toolkit_drawScrollbar(bx + scb->x, by + scb->y,
|
||||||
|
scb->w, scb->h,
|
||||||
|
scb->dat.scb.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Render a fader.
|
||||||
|
* @param fad WIDGET_FADER widget to render.
|
||||||
|
* @param bx Base X position.
|
||||||
|
* @param by Base Y position.
|
||||||
|
*/
|
||||||
|
static void toolkit_renderFader(Widget* fad, double bx, double by) {
|
||||||
|
double pos;
|
||||||
|
double w, h;
|
||||||
|
double tx, ty, tw, th;
|
||||||
|
double kx, ky, kw, kh;
|
||||||
|
|
||||||
|
/* Some values. */
|
||||||
|
pos = fad->dat.fad.value / (fad->dat.fad.max - fad->dat.fad.min);
|
||||||
|
w = fad->w;
|
||||||
|
h = fad->h;
|
||||||
|
|
||||||
|
/* Track. */
|
||||||
|
tx = bx + fad->x + (h > w ? (w - 5.) / 2 : 0);
|
||||||
|
ty = by + fad->y + (h < w ? (h - 5.) / 2 : 0);
|
||||||
|
tw = (h < w ? w : 5.);
|
||||||
|
th = (h > w ? h : 5.);
|
||||||
|
toolkit_drawRect(tx, ty, tw, th, toolkit_colDark, toolkit_colDark);
|
||||||
|
|
||||||
|
/* Knob. */
|
||||||
|
kx = bx + fad->x + (h < w ? w * pos - 5. : 0);
|
||||||
|
ky = by + fad->y + (h > w ? h * pos - 5. : 0);
|
||||||
|
kw = (h < w ? 15. : w);
|
||||||
|
kh = (h > w ? 15. : h);
|
||||||
|
|
||||||
|
/* Draw. */
|
||||||
|
toolkit_drawRect(kx, ky, kw, kh, toolkit_colDark, toolkit_colLight);
|
||||||
|
toolkit_drawOutline(kx, ky, kw, kh, 1., &cBlack, toolkit_colDark);
|
||||||
|
}
|
||||||
|
|
||||||
/* Handle input for input widget. */
|
/* Handle input for input widget. */
|
||||||
static int toolkit_inputInput(Uint8 type, Widget* inp, SDLKey key) {
|
static int toolkit_inputInput(Uint8 type, Widget* inp, SDLKey key) {
|
||||||
int n;
|
int n;
|
||||||
@ -1488,6 +1650,7 @@ int toolkit_input(SDL_Event* event) {
|
|||||||
static int mouse_down = 0;
|
static int mouse_down = 0;
|
||||||
static void toolkit_mouseEvent(SDL_Event* event) {
|
static void toolkit_mouseEvent(SDL_Event* event) {
|
||||||
int i;
|
int i;
|
||||||
|
double d;
|
||||||
double x, y, rel_x, rel_y;
|
double x, y, rel_x, rel_y;
|
||||||
Window* w;
|
Window* w;
|
||||||
Widget* wgt, *wgt_func;
|
Widget* wgt, *wgt_func;
|
||||||
@ -1541,6 +1704,12 @@ static void toolkit_mouseEvent(SDL_Event* event) {
|
|||||||
toolkit_listMove(wgt, y-wgt->y);
|
toolkit_listMove(wgt, y-wgt->y);
|
||||||
if(wgt->type == WIDGET_IMAGEARRAY)
|
if(wgt->type == WIDGET_IMAGEARRAY)
|
||||||
toolkit_imgarrMove(wgt, rel_y);
|
toolkit_imgarrMove(wgt, rel_y);
|
||||||
|
if(wgt->type == WIDGET_SCROLLBAR)
|
||||||
|
wgt->dat.scb.value -= rel_y / wgt->h;
|
||||||
|
if(wgt->type == WIDGET_FADER) {
|
||||||
|
d = (wgt->w > wgt->h) ? rel_x / wgt->w : rel_y / wgt->h;
|
||||||
|
toolkit_faderSetValue(wgt, wgt->dat.fad.value + d);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SDL_MOUSEBUTTONDOWN:
|
case SDL_MOUSEBUTTONDOWN:
|
||||||
@ -1838,8 +2007,17 @@ static void toolkit_listScroll(Widget* wgt, int direction) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fn char* toolkit_getList(const unsigned int wid, char* name)
|
* @brief Change fader value.
|
||||||
*
|
*/
|
||||||
|
static void toolkit_faderSetValue(Widget* fad, double value) {
|
||||||
|
Window* w = &windows[nwindows-1];
|
||||||
|
value = MAX(MIN(value, fad->dat.fad.max), fad->dat.fad.min);
|
||||||
|
fad->dat.fad.value = value;
|
||||||
|
if(fad->dat.fad.fptr != NULL)
|
||||||
|
(*fad->dat.fad.fptr)(w->id, fad->name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
* @brief Get what is selected currently in a list.
|
* @brief Get what is selected currently in a list.
|
||||||
*
|
*
|
||||||
* List included Image Array.
|
* List included Image Array.
|
||||||
|
@ -50,6 +50,18 @@ void window_addImageArray(const unsigned int wid,
|
|||||||
glTexture** tex, char** caption, int nelem, /* Elements. */
|
glTexture** tex, char** caption, int nelem, /* Elements. */
|
||||||
void(*call)(unsigned int, char*));
|
void(*call)(unsigned int, char*));
|
||||||
|
|
||||||
|
void window_addScrollbar(const unsigned int wid,
|
||||||
|
const int x, const int y, /* Position. */
|
||||||
|
const int w, const int h, /* Size. */
|
||||||
|
char* name, double value); /* Value. */
|
||||||
|
|
||||||
|
void window_addFader(const unsigned int wid,
|
||||||
|
const int x, const int y, /* Position. */
|
||||||
|
const int w, const int h, /* Size, if w > h fader is horizontal, else vertical. */
|
||||||
|
char* name, const double min, const double max, /* name, min * max values. */
|
||||||
|
const double def, /* Default pos. */
|
||||||
|
void(*call)(unsigned int, char*)); /* Function to call on value change. */
|
||||||
|
|
||||||
/* Modification. */
|
/* Modification. */
|
||||||
void window_setAccept(const unsigned int wid, void(*fptr)(unsigned int, char*));
|
void window_setAccept(const unsigned int wid, void(*fptr)(unsigned int, char*));
|
||||||
void window_setCancel(const unsigned int wid, void(*cancel)(unsigned int, char*));
|
void window_setCancel(const unsigned int wid, void(*cancel)(unsigned int, char*));
|
||||||
@ -61,6 +73,13 @@ void window_enableButton(const unsigned int wid, char* name);
|
|||||||
/* Image. */
|
/* Image. */
|
||||||
void window_modifyImage(const unsigned int wid, char* name, glTexture* image);
|
void window_modifyImage(const unsigned int wid, char* name, glTexture* image);
|
||||||
void window_imgColour(const unsigned int wid, char* name, glColour* colour);
|
void window_imgColour(const unsigned int wid, char* name, glColour* colour);
|
||||||
|
/* Scroll bar. */
|
||||||
|
void window_scrollbarValue(const unsigned int wid,
|
||||||
|
char* name, double value);
|
||||||
|
void faderValue(const unsigned int wid,
|
||||||
|
char* name, double value);
|
||||||
|
void faderBounds(const unsigned int wid,
|
||||||
|
char* name, double min, double max);
|
||||||
|
|
||||||
/* Get. */
|
/* Get. */
|
||||||
/* Generic. */
|
/* Generic. */
|
||||||
@ -77,6 +96,9 @@ char* toolkit_getList(const unsigned int wid, char* name);
|
|||||||
int toolkit_getListPos(const unsigned int wid, char* name);
|
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);
|
||||||
|
|
||||||
|
double window_getScrollbarValue(const unsigned int wid, char* name);
|
||||||
|
double window_getFaderValue(const unsigned wid, char* name);
|
||||||
|
|
||||||
/* Destroy window. */
|
/* Destroy window. */
|
||||||
void window_close(unsigned int wid, char* str);
|
void window_close(unsigned int wid, char* str);
|
||||||
void window_destroy(const unsigned int wid);
|
void window_destroy(const unsigned int wid);
|
||||||
|
Loading…
Reference in New Issue
Block a user