pure-data/src/g_all_guis.h

/* Copyright (c) 1997-1999 Miller Puckette.
* For information on usage and redistribution, and for a DISCLAIMER OF ALL
* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
/* g_7_guis.h written by Thomas Musil (c) IEM KUG Graz Austria 2000-2001 */

#ifndef __g_all_guis_h_

#include "g_canvas.h"

#define IEM_GUI_COLNR_WHITE
#define IEM_GUI_COLNR_ML_GREY
#define IEM_GUI_COLNR_D_GREY
#define IEM_GUI_COLNR_L_RED
#define IEM_GUI_COLNR_L_ORANGE
#define IEM_GUI_COLNR_L_YELLOW
#define IEM_GUI_COLNR_L_GREEN
#define IEM_GUI_COLNR_L_CYAN
#define IEM_GUI_COLNR_L_BLUE
#define IEM_GUI_COLNR_L_MAGENTA

#define IEM_GUI_COLNR_LL_GREY
#define IEM_GUI_COLNR_M_GREY
#define IEM_GUI_COLNR_DD_GREY
#define IEM_GUI_COLNR_RED
#define IEM_GUI_COLNR_ORANGE
#define IEM_GUI_COLNR_YELLOW
#define IEM_GUI_COLNR_GREEN
#define IEM_GUI_COLNR_CYAN
#define IEM_GUI_COLNR_BLUE
#define IEM_GUI_COLNR_MAGENTA

#define IEM_GUI_COLNR_L_GREY
#define IEM_GUI_COLNR_MD_GREY
#define IEM_GUI_COLNR_BLACK
#define IEM_GUI_COLNR_D_RED
#define IEM_GUI_COLNR_D_ORANGE
#define IEM_GUI_COLNR_D_YELLOW
#define IEM_GUI_COLNR_D_GREEN
#define IEM_GUI_COLNR_D_CYAN
#define IEM_GUI_COLNR_D_BLUE
#define IEM_GUI_COLNR_D_MAGENTA

#define IEM_GUI_COLOR_SELECTED
#define IEM_GUI_COLOR_NORMAL
#define IEM_GUI_COLOR_EDITED

#define IEM_GUI_MAX_COLOR

//#define IEM_GUI_DEFAULTSIZE 15
/* the "+3+2" = "+TMARGIN+BMARGIN" from g_rtext.c */
#define IEM_GUI_DEFAULTSIZE
#define IEM_GUI_DEFAULTSIZE_SCALE
#define IEM_GUI_MINSIZE
#define IEM_GUI_MAXSIZE
#define IEM_SL_DEFAULTSIZE
#define IEM_SL_MINSIZE
#define IEM_FONT_MINSIZE

#define IEM_BNG_DEFAULTHOLDFLASHTIME
#define IEM_BNG_DEFAULTBREAKFLASHTIME
#define IEM_BNG_MINHOLDFLASHTIME
#define IEM_BNG_MINBREAKFLASHTIME

#define IEM_VU_DEFAULTSIZE
#define IEM_VU_LARGESMALL
#define IEM_VU_MINSIZE
#define IEM_VU_MAXSIZE
#define IEM_VU_STEPS

#define IEM_VU_MINDB
#define IEM_VU_MAXDB
#define IEM_VU_OFFSET

#define IEM_RADIO_MAX

#define IEM_SYM_UNIQUE_SND
#define IEM_SYM_UNIQUE_RCV
#define IEM_SYM_UNIQUE_LAB
#define IEM_SYM_UNIQUE_ALL
#define IEM_FONT_STYLE_ALL

#define IEM_MAX_SYM_LEN

#define IEM_GUI_DRAW_MODE_UPDATE
#define IEM_GUI_DRAW_MODE_MOVE
#define IEM_GUI_DRAW_MODE_NEW
#define IEM_GUI_DRAW_MODE_SELECT
#define IEM_GUI_DRAW_MODE_ERASE
#define IEM_GUI_DRAW_MODE_CONFIG
#define IEM_GUI_DRAW_MODE_IO

#define IEM_GUI_IOHEIGHT

#define IS_A_POINTER(atom,index)
#define IS_A_FLOAT(atom,index)
#define IS_A_SYMBOL(atom,index)
#define IS_A_DOLLAR(atom,index)
#define IS_A_DOLLSYM(atom,index)

#define IEM_FSTYLE_FLAGS_ALL
#define IEM_INIT_ARGS_ALL

#define IEM_GUI_OLD_SND_FLAG
#define IEM_GUI_OLD_RCV_FLAG

#define IEMGUI_MAX_NUM_LEN

t_iem_orientation;

#define IEMGUI_ZOOM(x)

t_iem_fstyle_flags;

t_iem_init_symargs;

t_iemfunptr;

t_iemdrawfunptr;
t_iemgui_drawfunctions;
t_iemgui;

t_bng;

t_slider;

t_radio;

t_toggle;

t_my_canvas;


t_vu;

t_my_numbox;

extern int iemgui_color_hex[];
extern int iemgui_vu_db2i[];
extern int iemgui_vu_col[];
extern char *iemgui_vu_scale_str[];

EXTERN int iemgui_clip_size(int size);
EXTERN int iemgui_clip_font(int size);
EXTERN t_symbol *iemgui_dollararg2sym(t_symbol *s, int nth_arg, int tail_len, int pargc, t_atom *pargv);
EXTERN void iemgui_verify_snd_ne_rcv(t_iemgui *iemgui);
EXTERN void iemgui_all_sym2dollararg(t_iemgui *iemgui, t_symbol **srlsym);
EXTERN t_symbol *iemgui_new_dogetname(t_iemgui *iemgui, int indx, t_atom *argv);
EXTERN void iemgui_new_getnames(t_iemgui *iemgui, int indx, t_atom *argv);
EXTERN void iemgui_all_dollararg2sym(t_iemgui *iemgui, t_symbol **srlsym);
EXTERN void iemgui_all_loadcolors(t_iemgui *iemgui, t_atom*bcol, t_atom*fcol, t_atom*lcol);
EXTERN void iemgui_all_dollar2raute(t_symbol **srlsym);
EXTERN void iemgui_all_raute2dollar(t_symbol **srlsym);
EXTERN void iemgui_send(void *x, t_iemgui *iemgui, t_symbol *s);
EXTERN void iemgui_receive(void *x, t_iemgui *iemgui, t_symbol *s);
EXTERN void iemgui_label(void *x, t_iemgui *iemgui, t_symbol *s);
EXTERN void iemgui_label_pos(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av);
EXTERN void iemgui_label_font(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av);
EXTERN void iemgui_size(void *x, t_iemgui *iemgui);
EXTERN void iemgui_delta(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av);
EXTERN void iemgui_pos(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av);
EXTERN void iemgui_color(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av);
EXTERN void iemgui_displace(t_gobj *z, t_glist *glist, int dx, int dy);
EXTERN void iemgui_select(t_gobj *z, t_glist *glist, int selected);
EXTERN void iemgui_delete(t_gobj *z, t_glist *glist);
EXTERN void iemgui_vis(t_gobj *z, t_glist *glist, int vis);
EXTERN void iemgui_save(t_iemgui *iemgui, t_symbol **srl, t_symbol **bflcol);
EXTERN void iemgui_zoom(t_iemgui *iemgui, t_floatarg zoom);
EXTERN void iemgui_newzoom(t_iemgui *iemgui);
EXTERN void iemgui_properties(t_iemgui *iemgui, t_symbol **srl);
EXTERN int iemgui_dialog(t_iemgui *iemgui, t_symbol **srl, int argc, t_atom *argv);
EXTERN void iemgui_setdialogatoms(t_iemgui *iemgui, int argc, t_atom*argv);

EXTERN int canvas_getdollarzero(void);

EXTERN void iem_inttosymargs(t_iem_init_symargs *symargp, int n);
EXTERN int iem_symargstoint(t_iem_init_symargs *symargp);
EXTERN void iem_inttofstyle(t_iem_fstyle_flags *fstylep, int n);
EXTERN int iem_fstyletoint(t_iem_fstyle_flags *fstylep);
EXTERN void iemgui_setdrawfunctions(t_iemgui *iemgui, t_iemgui_drawfunctions *w);

#define IEMGUI_SETDRAWFUNCTIONS(x, prefix)


/* wrapper around pd_new() for classes that start with a t_iemgui
 * initializes the iemgui struct
 */
t_iemgui* iemgui_new(t_class*cls);

/* common destructor */
void iemgui_free(t_iemgui *x);

/* these are deliberately not exported for now */

/* update the label (both internally and on the GUI)
 * senditup=0 never-to-gui; senditup=1 always-to-gui; senditup<0 autodetect
 */
void iemgui_dolabel(void *x, t_iemgui *iemgui, t_symbol *s, int senditup);

void iemgui_new_dialog(void*x, t_iemgui*iemgui,
                       const char*objname,
                       t_float width,  t_float width_min,
                       t_float height, t_float height_min,
                       t_float range_min, t_float range_max, int range_checkmode,
                       int mode, /* lin0_log1 */
                       const char* mode_label0, const char* mode_label1,
                       int canloadbang, int steady, int number);


#define __g_all_guis_h_
#endif /* __g_all_guis_h_ */