summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/inc/gwidget.h
diff options
context:
space:
mode:
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.h222
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