diff options
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/nouiutil.c')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/nouiutil.c | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/nouiutil.c b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/nouiutil.c new file mode 100644 index 00000000000..c2298dcf43f --- /dev/null +++ b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/nouiutil.c @@ -0,0 +1,203 @@ +/* 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. + */ +#include "uiinterface.h" +#include "splinefont.h" +#include <stdarg.h> +#include <stdio.h> +#include <basics.h> +#include <ustring.h> + +static void NOUI_IError(const char *format,...) { + va_list ap; + va_start(ap,format); + fprintf(stderr, "Internal Error: " ); + vfprintf(stderr,format,ap); + va_end(ap); +} + +static void NOUI__LogError(const char *format,va_list ap) { + char buffer[400], *str; + vsnprintf(buffer,sizeof(buffer),format,ap); + str = (char *)buffer; + fprintf(stderr,"%s",str); + if ( str[strlen(str)-1]!='\n' ) + putc('\n',stderr); +/* free(str);*/ +} + +static void NOUI_LogError(const char *format,...) { + va_list ap; + + va_start(ap,format); + NOUI__LogError(format,ap); + va_end(ap); +} + +static void NOUI_post_notice(const char *title,const char *statement,...) { + va_list ap; + (void)title; + va_start(ap,statement); + NOUI__LogError(statement,ap); + va_end(ap); +} + +static void NOUI_post_error(const char *title,const char *statement,...) { + va_list ap; + (void)title; + va_start(ap,statement); + NOUI__LogError(statement,ap); + va_end(ap); +} + +static int NOUI_ask(const char *title, const char **answers, + int def, int cancel,const char *question,...) { + (void)title; + (void)answers; + (void)def; + (void)cancel; + (void)question; +return( def ); +} + +static int NOUI_choose(const char *title, const char **choices,int cnt, int def, + const char *question,...) { + (void)title; + (void)choices; + (void)def; + (void)cnt; + (void)question; +return( def ); +} + +static int NOUI_choose_multiple(char *title, const char **choices,char *sel, + int cnt, char *buts[2], const char *question,...) { + (void)title; + (void)choices; + (void)sel; + (void)cnt; + (void)buts; + (void)question; +return( -1 ); +} + +static char *NOUI_ask_string(const char *title, const char *def, + const char *question,...) { + (void)title; + (void)def; + (void)question; +return( (char *) def ); +} + +static char *NOUI_open_file(const char *title, const char *defaultfile, + const char *initial_filter) { + (void)title; + (void)defaultfile; + (void)initial_filter; +return( NULL ); +} + +static char *NOUI_saveas_file(const char *title, const char *defaultfile, + const char *initial_filter) { + (void)title; + (void)initial_filter; +return( copy(defaultfile) ); +} + +static void NOUI_progress_start(int delay, const char *title, const char *line1, + const char *line2, int tot, int stages) { + (void)delay; + (void)title; + (void)line1; + (void)line2; + (void)tot; + (void)stages; +} + +static void NOUI_void_void_noop(void) { +} + +static void NOUI_void_int_noop(int useless) { + (void)useless; +} + +static int NOUI_int_int_noop(int useless) { + (void)useless; +return( true ); +} + +static void NOUI_void_str_noop(const char * useless) { + (void)useless; +} + +static int NOUI_alwaystrue(void) { +return( true ); +} + +static int NOUI_DefaultStrokeFlags(void) { +return( sf_correctdir ); +} + +static struct ui_interface noui_interface = { + NOUI_IError, + NOUI_post_error, + NOUI_LogError, + NOUI_post_notice, + NOUI_ask, + NOUI_choose, + NOUI_choose_multiple, + NOUI_ask_string, + NOUI_ask_string, /* password */ + NOUI_open_file, + NOUI_saveas_file, + + NOUI_progress_start, + NOUI_void_void_noop, + NOUI_void_void_noop, + NOUI_void_int_noop, + NOUI_alwaystrue, + NOUI_alwaystrue, + NOUI_int_int_noop, + NOUI_void_str_noop, + NOUI_void_str_noop, + NOUI_void_void_noop, + NOUI_void_void_noop, + NOUI_void_int_noop, + NOUI_void_int_noop, + NOUI_alwaystrue, + + NOUI_void_void_noop, + + NOUI_TTFNameIds, + NOUI_MSLangString, + + NOUI_DefaultStrokeFlags +}; +struct ui_interface *ui_interface = &noui_interface; + +void FF_SetUiInterface(struct ui_interface *uii) { + ui_interface = uii; +} |