/*
  lib.h - riscos wimp functions

  created  12/2021
*/

#ifndef lib_h
#define lib_h

typedef struct slider_s
{
  int lo;     // left/bottom range limit
  int hi;     // right/top range limit
  int flags;  // see below
} slider_t;
// flags values
#define HORIZONTAL     0
#define VERTICAL       1
#define PROGRESS_BAR   0
#define SLIDER_CONTROL 2

char *itoa(int i);
void set_filetype(char *filename, int filetype);
void open_menu(int x, int y, int menu_tag, int menu_struct);
void open_window(int window);
void drag_start(int window, int icon);
void drag_return(void);
int  slider_get_posn(int blk[], int slider);
void slider_display_value(int value, int slider, int window, int icon);
void report_error_number(int err, int fatal);
int  report_error(char *, int);
int* loadsprites(const char *sprites);
int  loadtemplate(const char *, int *);
void icon_colour_change(int colour, int window, int icon);
void icon_disabled_change(int state, int window, int icon);
void icon_state_change(int state, int window, int icon);
void icon_text_change(char *, int, int);
int  msg_open(char * name);
void msg_close(void);
int  msg_lookup(char * token, int num, char * dest);
char *msg_load_menu(char *token, char *str, menu_t *menu);
void update_menu(menu_item_t *item, int num, int cur);
char *create_numeric_menu(menu_item_t *item, int num, const int *value, char *str);

#endif

