diff options
| author | Lauri Kasanen <cand@gmx.com> | 2014-08-23 08:41:58 +0000 |
|---|---|---|
| committer | Lauri Kasanen <cand@gmx.com> | 2014-08-23 08:41:58 +0000 |
| commit | bbc8782b6a13c897035948b5ca7493cfb508a8f3 (patch) | |
| tree | 92522f325c4978d92a77c8d9070e0a609c5eef10 /src/Xutf8.h | |
| parent | 0ddd4e4717b55801a9a1e99547e2f1451728d9ca (diff) | |
Move Xutf8.h to src/, update includes, refresh makedepends
This is an internal header.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10248 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Xutf8.h')
| -rw-r--r-- | src/Xutf8.h | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/src/Xutf8.h b/src/Xutf8.h new file mode 100644 index 000000000..51fc28291 --- /dev/null +++ b/src/Xutf8.h @@ -0,0 +1,184 @@ +/* "$Id$" + * + * Author: Jean-Marc Lienher ( http://oksid.ch ) + * Copyright 2000-2010 by O'ksi'D. + * + * This library is free software. Distribution and use rights are outlined in + * the file "COPYING" which should have been included with this file. If this + * file is missing or damaged, see the license at: + * + * http://www.fltk.org/COPYING.php + * + * Please report all bugs and problems on the following page: + * + * http://www.fltk.org/str.php + */ + +#if ! ( defined(_Xutf8_h) || defined(FL_DOXYGEN) ) +#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); + +#ifdef X_HAVE_UTF8_STRING +#define XUtf8LookupString Xutf8LookupString +#else +int +XUtf8LookupString( + XIC ic, + XKeyPressedEvent* event, + char* buffer_return, + int bytes_buffer, + KeySym* keysym, + Status* status_return); +#endif + +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$". + */ |
