Include a stripped-down version of FLTK in tree and add a USE_INCLUDED_FLTK option to build against it.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4603 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/fltk/FL/Xutf8.h b/common/fltk/FL/Xutf8.h
new file mode 100644
index 0000000..b122d2e
--- /dev/null
+++ b/common/fltk/FL/Xutf8.h
@@ -0,0 +1,189 @@
+/* "$Id: Xutf8.h 8399 2011-02-07 22:22:16Z ianmacarthur $"
+ *
+ * Author: Jean-Marc Lienher ( http://oksid.ch )
+ * Copyright 2000-2010 by O'ksi'D.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA.
+ *
+ * Please report all bugs and problems on the following page:
+ *
+ *     http://www.fltk.org/str.php
+ */
+
+#ifndef _Xutf8_h
+#define _Xutf8_h
+
+#  ifdef __cplusplus
+extern "C" {
+#  endif
+
+#include <X11/X.h>
+#include <X11/Xlib.h>
+#include <X11/Xlocale.h>
+#include <X11/Xutil.h>
+
+typedef struct {
+	int nb_font;
+	char **font_name_list;
+	int *encodings;
+	XFontStruct **fonts;
+	Font fid;
+	int ascent;
+	int descent;
+	int *ranges;
+} XUtf8FontStruct;
+
+XUtf8FontStruct *
+XCreateUtf8FontStruct (
+	Display         *dpy,
+	const char      *base_font_name_list);
+
+void
+XUtf8DrawString(
+        Display         	*display,
+        Drawable        	d,
+        XUtf8FontStruct  *font_set,
+        GC              	gc,
+        int             	x,
+        int             	y,
+        const char      	*string,
+        int             	num_bytes);
+
+void
+XUtf8_measure_extents(
+        Display         	*display,
+        Drawable        	d,
+        XUtf8FontStruct  *font_set,
+        GC              	gc,
+        int             	*xx,
+        int             	*yy,
+        int             	*ww,
+        int             	*hh,
+        const char      	*string,
+        int             	num_bytes);
+
+void
+XUtf8DrawRtlString(
+        Display         	*display,
+        Drawable        	d,
+        XUtf8FontStruct  *font_set,
+        GC              	gc,
+        int             	x,
+        int             	y,
+        const char      	*string,
+        int             	num_bytes);
+
+void
+XUtf8DrawImageString(
+        Display         *display,
+        Drawable        d,
+        XUtf8FontStruct         *font_set,
+        GC              gc,
+        int             x,
+        int             y,
+        const char      *string,
+        int             num_bytes);
+
+int
+XUtf8TextWidth(
+        XUtf8FontStruct  *font_set,
+        const char      	*string,
+        int             	num_bytes);
+int
+XUtf8UcsWidth(
+	XUtf8FontStruct  *font_set,
+	unsigned int            ucs);
+
+int
+XGetUtf8FontAndGlyph(
+        XUtf8FontStruct  *font_set,
+        unsigned int            ucs,
+        XFontStruct     **fnt,
+        unsigned short  *id);
+
+void
+XFreeUtf8FontStruct(
+        Display         	*dpy,
+        XUtf8FontStruct 	*font_set);
+
+
+int
+XConvertUtf8ToUcs(
+	const unsigned char 	*buf,
+	int 			len,
+	unsigned int 		*ucs);
+
+int
+XConvertUcsToUtf8(
+	unsigned int 		ucs,
+	char 			*buf);
+
+int
+XUtf8CharByteLen(
+	const unsigned char 	*buf,
+	int 			len);
+
+int
+XCountUtf8Char(
+	const unsigned char *buf,
+	int len);
+
+int
+XFastConvertUtf8ToUcs(
+	const unsigned char 	*buf,
+	int 			len,
+	unsigned int 		*ucs);
+
+long
+XKeysymToUcs(
+	KeySym 	keysym);
+
+int
+XUtf8LookupString(
+    XIC                 ic,
+    XKeyPressedEvent*   event,
+    char*               buffer_return,
+    int                 bytes_buffer,
+    KeySym*             keysym,
+    Status*             status_return);
+
+unsigned short
+XUtf8IsNonSpacing(
+	unsigned int ucs);
+
+unsigned short
+XUtf8IsRightToLeft(
+        unsigned int ucs);
+
+
+int
+XUtf8Tolower(
+        int ucs);
+
+int
+XUtf8Toupper(
+        int ucs);
+
+
+#  ifdef __cplusplus
+}
+#  endif
+
+#endif
+
+/*
+ *  End of "$Id: Xutf8.h 8399 2011-02-07 22:22:16Z ianmacarthur $".
+ */