diff options
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/luafontloader/fontforge/inc/gwidget.h')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/luafontloader/fontforge/inc/gwidget.h | 222 |
1 files changed, 222 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/inc/gwidget.h b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/inc/gwidget.h new file mode 100644 index 00000000000..3b701ec5799 --- /dev/null +++ b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/inc/gwidget.h @@ -0,0 +1,222 @@ +/* Copyright (C) 2000-2008 by George Williams */ +/* + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + + * The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef _GWIDGET_H +#define _GWIDGET_H + +#include <stdarg.h> +#include "gdraw.h" +#include "gprogress.h" +#include "ggadget.h" + +struct ggadget; +struct ggadgetcreatedata; +struct gtimer; + +typedef GWindow GWidget; + +typedef struct gwidgetcreatedata { + GRect r; + struct ggadgetcreatedata *gcd; + struct gwidgetcreatedata *wcd; + unichar_t *title; + unsigned int trap_input: 1; + unsigned int tab_navigation: 1; + unsigned int arrow_navigation: 1; + unsigned int do_default: 1; + unsigned int do_cancel: 1; + Color fore, back; + void (*e_h)(GWindow, GEvent *); /* User's event function for window, our eh will call it */ +#if 0 /* should expect these events: */ + void (*create)(Widget *); + void (*close)(Widget *); + void (*expose)(Widget *,XEvent *); + void (*mouse)(Widget *,XEvent *,int count); + void (*key)(Widget *,XEvent *); + void (*resize)(Widget *,XEvent *); + void (*map)(Widget *,XEvent *); + void (*time)(Widget *,struct timer *timer); + void (*paste)(Widget *,void *data, long length); +#endif +} GWidgetData; + +typedef struct gwidgetcreatordata { + GWidget *(*creator)(GWidget *parent, GWidgetData *, void *data); + GWidgetData wd; + void *data; +} GWidgetCreateData; + +extern GWindow GWidgetCreateTopWindow(GDisplay *gdisp, GRect *pos, int (*eh)(GWindow,GEvent *), void *user_data, GWindowAttrs *wattrs); +extern GWindow GWidgetCreateSubWindow(GWindow w, GRect *pos, int (*eh)(GWindow,GEvent *), void *user_data, GWindowAttrs *wattrs); +extern GWindow GWidgetCreatePalette(GWindow w, GRect *pos, int (*eh)(GWindow,GEvent *), void *user_data, GWindowAttrs *wattrs); + +GWindow GWindowGetCurrentFocusTopWindow(void); +GWindow GWidgetGetCurrentFocusWindow(void); +GWindow GWidgetGetPreviousFocusTopWindow(void); +struct ggadget *GWindowGetCurrentFocusGadget(void); +struct ggadget *GWindowGetFocusGadgetOfWindow(GWindow gw); +void GWindowClearFocusGadgetOfWindow(GWindow gw); +void GWidgetIndicateFocusGadget(struct ggadget *g); +void GWidgetNextFocus(GWindow); +void GWidgetPrevFocus(GWindow); +void GWidgetRequestVisiblePalette(GWindow palette,int visible); +void GWidgetHidePalettes(void); +void GPaletteDock(GWindow palette,int x, int y); +void GPaletteUndock(GWindow palette,int x, int y); +int GPaletteIsDocked(GWindow palette); +void GWidgetReparentWindow(GWindow child,GWindow newparent, int x,int y); + +struct ggadget *GWidgetGetControl(GWindow gw, int cid); +struct ggadget *_GWidgetGetGadgets(GWindow gw); +GWindow GWidgetGetParent(GWindow gw); +GWindow GWidgetGetTopWidget(GWindow gw); +extern GDrawEH GWidgetGetEH(GWindow w); +extern void GWidgetSetEH(GWindow w,GDrawEH e_h); +extern void GWidgetFlowGadgets(GWindow gw); +extern void GWidgetToDesiredSize(GWindow gw); + + /* Built in dialogs */ +unichar_t *GWidgetOpenFile(const unichar_t *title, const unichar_t *defaultfile, + const unichar_t *initial_filter, unichar_t **mimetypes,GFileChooserFilterType filter); +unichar_t *GWidgetSaveAsFile(const unichar_t *title, const unichar_t *defaultfile, + const unichar_t *initial_filter, unichar_t **mimetypes,GFileChooserFilterType filter ); +unichar_t *GWidgetSaveAsFileWithGadget(const unichar_t *title, const unichar_t *defaultfile, + const unichar_t *initial_filter, unichar_t **mimetypes, + GFileChooserFilterType filter, GGadgetCreateData *optional_gcd); +char *GWidgetOpenFile8(const char *title, const char *defaultfile, + const char *initial_filter, char **mimetypes,GFileChooserFilterType filter); +char *GWidgetSaveAsFileWithGadget8(const char *title, const char *defaultfile, + const char *initial_filter, char **mimetypes, + GFileChooserFilterType filter, GGadgetCreateData *optional_gcd); +char *GWidgetSaveAsFile8(const char *title, const char *defaultfile, + const char *initial_filter, char **mimetypes,GFileChooserFilterType filter ); +int GWidgetAsk(const unichar_t *title, const unichar_t **answers, const unichar_t *mn, + int def, int cancel,const unichar_t *question,...); +int GWidgetAskCentered(const unichar_t *title, + const unichar_t ** answers, const unichar_t *mn, int def, int cancel,const unichar_t *question,...); +unichar_t *GWidgetAskString(const unichar_t *title, + const unichar_t *def,const unichar_t *question,...); +void GWidgetPostNotice(const unichar_t *title,const unichar_t *statement,...); +void GWidgetError(const unichar_t *title,const unichar_t *statement,...); +void GWidgetErrorR(int title,int statement,...); +int GWidgetAskR(int title, int *answers, int def, int cancel,int question,...); +int GWidgetAskR_(int title, int *answers, int def, int cancel,const unichar_t *question,...); +int GWidgetAskCenteredR(int title, int *answers, int def, int cancel,int question,...); +int GWidgetAskCenteredR_(int title, int *answers, int def, int cancel,const unichar_t *question,...); +unichar_t *GWidgetAskStringR(int title, const unichar_t *def,int question,...); +void GWidgetPostNoticeR(int title,int statement,...); +int GWidgetAsk8(const char *title, const char **answers, + int def, int cancel,const char *question,...); +int GWidgetAskCentered8(const char *title, + const char ** answers, int def, int cancel,const char *question,...); +char *GWidgetAskString8(const char *title, + const char *def,const char *question,...); +char *GWidgetAskPassword8(const char *title, + const char *def,const char *question,...); +void GWidgetPostNotice8(const char *title,const char *statement,...); +void _GWidgetPostNotice8(const char *title,const char *statement,va_list ap,int timeout); +void GWidgetPostNoticeTimeout8(int timeout, const char *title,const char *statement,...); +int GWidgetPostNoticeActive8(const char *title); +void GWidgetError8(const char *title,const char *statement,...); + +int GWidgetChoicesR(int title, const unichar_t **choices,int cnt, int def,int question,...); +int GWidgetChoicesBR(int title, const unichar_t **choices, int cnt, int def, + int buts[2],int question,...); +int GWidgetChoicesBRM(int title, const unichar_t **choices,char *sel, + int cnt, int buts[2], int question,...); +int GWidgetChoices8(const char *title, const char **choices,int cnt, int def, + const char *question,...); +int GWidgetChoicesB8(char *title, const char **choices, int cnt, int def, + char *buts[2], const char *question,...); +int GWidgetChoicesBM8(char *title, const char **choices,char *sel, + int cnt, char *buts[2], const char *question,...); + +extern struct hslrgb GWidgetColor(const char *title,struct hslrgb *defcol,struct hslrgb fontcols[6]); + +#define gwwv_choose_multiple GWidgetChoicesBM8 +#define gwwv_choose_with_buttons GWidgetChoicesB8 +#define gwwv_choose GWidgetChoices8 +#define gwwv_ask_string GWidgetAskString8 +#define gwwv_ask_password GWidgetAskPassword8 +#define gwwv_ask GWidgetAsk8 +#define gwwv_ask_centered GWidgetAskCentered8 +#define gwwv_post_error GWidgetError8 +#define gwwv_post_notice GWidgetPostNotice8 +#define gwwv_post_notice_timeout GWidgetPostNoticeTimeout8 +#define gwwv_open_filename(tit,def,filter,filtfunc) GWidgetOpenFile8(tit,def,filter,NULL,filtfunc) +#define gwwv_save_filename(tit,def,filter) GWidgetSaveAsFile8(tit,def,filter,NULL,NULL) +#define gwwv_save_filename_with_gadget(tit,def,filter,gcd) GWidgetSaveAsFileWithGadget8(tit,def,filter,NULL,NULL,gcd) + +void GWidgetCreateInsChar(void); /* takes input even when a modal dlg is active */ + /* but is not modal itself */ +void GInsCharSetChar(unichar_t ch); /* Sets current selection in ins char dlg */ + +extern GIC *GWidgetCreateInputContext(GWindow w,enum gic_style def_style); +extern GIC *GWidgetGetInputContext(GWindow w); + + +#if 0 +Widget *CreateCenteredDialog(Widget *parent, WidgetData *wd,void *data); +Widget *CreateDialog(Widget *parent, WidgetData *wd,void *data); +Widget *CreateTopWindow(Widget *parent, WidgetData *wd,void *data); +Widget *CreateCanvas(Widget *parent, WidgetData *wd,void *data); +Widget *CreateWidgets(Widget *parent, WidgetCreateData *wcd); + +unichar_t *CreateFileDialog(unichar_t *title,unichar_t *dir,unichar_t *file,unichar_t *mimetypes, unichar_t *wildcard, unichar_t *open, unichar_t *cancel); +int CreateQuestionDialog(unichar_t *title, unichar_t *question,unichar_t *but1, unichar_t *but2, unichar_t *but3, unichar_t *but4, unichar_t *but5); +unichar_t *CreateStringDialog(unichar_t *title, unichar_t *question, unichar_t *def, unichar_t *ok, unichar_t *cancel); +TextInfo *CreateListDialog(unichar_t *title, unichar_t *question, TextInfo *list, unichar_t *ok, unichar_t *cancel); +void CreateNoteDlg(unichar_t *title,unichar_t *text,unichar_t *ok); /* does not take focus, vanishes if ignored */ +void CreateWarningDlg(unichar_t *title,unichar_t *text,unichar_t *ok); /* does not take focus, vanishes if ignored */ +void CreateErrorDlg(unichar_t *title,unichar_t *text,unichar_t *ok); /* does take focus */ +void CreateFatalDlg(unichar_t *title,unichar_t *text,unichar_t *ok); /* does not return, preallocated */ +void CreateCharDialog(); /* takes input even when a modal dlg is active */ + /* but is not modal itself */ +void CreatePrefsDialog(); + +void WidgetSetTitle(Widget *widg,unichar_t *title); +unichar_t_t WidgetGetTitle(Widget *widg); + +void WidgetChangeMenu(Widget *widg,MenuItem *bar); +void WidgetChangeInvisibleCommands(Widget *widg,MenuItem *invisible); +MenuItem *WidgetGetMenu(Widget *widg); +MenuItem *WidgetGetInvisibleCommands(Widget *widg); + +enum handler_mask { hm_close=1, hm_expose=2, hm_mouse=4, hm_key=8, hm_resize=16, hm_map=32, hm_time=64, hm_paste=128 }; +void WidgetSetHandlers(Widget *widg,enum handler_mask hm, WidgetData *wd); + +void WidgetMove(Widget *widg, int x, int y); +void WidgetResize(Widget *widg, int width, int height); +void WidgetReposition(Widget *widg, Rect *r); +Rect *WidgetGetPos(Widget *widg); + +void WidgetRaise(Widget *widg); +void WidgetLower(Widget *widg); + +void WidgetSetIconName(Widget *widg,unichar_t *name); +void WidgetSetIconPixmap(Widget *widg,Pixmap p); +#endif +#endif |