mirror of
https://gitlab.freedesktop.org/xorg/lib/libx11.git
synced 2026-01-06 08:30:13 +01:00
bug #216 provide better compatibility semantics in Xlib for people who are compiling or linking against older Xlibs that have XFree86's UTF-8 functions.
This goes away if Sun's I18N people recommend adopting the functions and the xorg_arch list agree, but for now we have this hackery to deal with third parties who scribbled non-standard functions in our API.
This commit is contained in:
parent
11fc1fad02
commit
1f42e6ce18
6 changed files with 200 additions and 11 deletions
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: lib/X11/include/X11/Xlib.h,v 1.1.4.6 2003-12-20 00:28:22 kaleb Exp $ */
|
||||
/* $XdotOrg: lib/X11/include/X11/Xlib.h,v 1.1.4.7 2004-02-24 20:26:32 kaleb Exp $ */
|
||||
/* $Xorg: Xlib.h,v 1.6 2001/02/09 02:03:38 xorgcvs Exp $ */
|
||||
/*
|
||||
|
||||
|
|
@ -3659,6 +3659,9 @@ extern int XFree86utf8TextEscapement(
|
|||
_Xconst char* /* text */,
|
||||
int /* bytes_text */
|
||||
);
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#define Xutf8TextEscapement XFree86utf8TextEscapement
|
||||
#endif
|
||||
|
||||
extern int XmbTextExtents(
|
||||
XFontSet /* font_set */,
|
||||
|
|
@ -3683,6 +3686,9 @@ extern int XFree86utf8TextExtents(
|
|||
XRectangle* /* overall_ink_return */,
|
||||
XRectangle* /* overall_logical_return */
|
||||
);
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#define Xutf8TextExtents XFree86utf8TextExtents
|
||||
#endif
|
||||
|
||||
extern Status XmbTextPerCharExtents(
|
||||
XFontSet /* font_set */,
|
||||
|
|
@ -3719,6 +3725,9 @@ extern Status XFree86utf8TextPerCharExtents(
|
|||
XRectangle* /* overall_ink_return */,
|
||||
XRectangle* /* overall_logical_return */
|
||||
);
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#define Xutf8TextPerCharExtents XFree86utf8TextPerCharExtents
|
||||
#endif
|
||||
|
||||
extern void XmbDrawText(
|
||||
Display* /* display */,
|
||||
|
|
@ -3749,6 +3758,9 @@ extern void XFree86utf8DrawText(
|
|||
XmbTextItem* /* text_items */,
|
||||
int /* nitems */
|
||||
);
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#define Xutf8DrawText XFree86utf8DrawText
|
||||
#endif
|
||||
|
||||
extern void XmbDrawString(
|
||||
Display* /* display */,
|
||||
|
|
@ -3782,6 +3794,9 @@ extern void XFree86utf8DrawString(
|
|||
_Xconst char* /* text */,
|
||||
int /* bytes_text */
|
||||
);
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#define Xutf8DrawString XFree86utf8DrawString
|
||||
#endif
|
||||
|
||||
extern void XmbDrawImageString(
|
||||
Display* /* display */,
|
||||
|
|
@ -3815,6 +3830,9 @@ extern void XFree86utf8DrawImageString(
|
|||
_Xconst char* /* text */,
|
||||
int /* bytes_text */
|
||||
);
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#define Xutf8DrawImageString XFree86utf8DrawImageString
|
||||
#endif
|
||||
|
||||
extern XIM XOpenIM(
|
||||
Display* /* dpy */,
|
||||
|
|
@ -3870,6 +3888,9 @@ extern char *XmbResetIC(
|
|||
extern char *XFree86utf8ResetIC(
|
||||
XIC /* ic */
|
||||
);
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#define Xutf8ResetIC XFree86utf8ResetIC
|
||||
#endif
|
||||
|
||||
extern char *XSetICValues(
|
||||
XIC /* ic */, ...
|
||||
|
|
@ -3914,6 +3935,9 @@ extern int XFree86utf8LookupString(
|
|||
KeySym* /* keysym_return */,
|
||||
Status* /* status_return */
|
||||
);
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#define Xutf8LookupString XFree86utf8LookupString
|
||||
#endif
|
||||
|
||||
extern XVaNestedList XVaCreateNestedList(
|
||||
int /*unused*/, ...
|
||||
|
|
|
|||
|
|
@ -683,6 +683,9 @@ extern void XFree86utf8SetWMProperties(
|
|||
XWMHints* /* wm_hints */,
|
||||
XClassHint* /* class_hints */
|
||||
);
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#define Xutf8SetWMProperties XFree86utf8SetWMProperties
|
||||
#endif
|
||||
|
||||
extern void XSetWMSizeHints(
|
||||
Display* /* display */,
|
||||
|
|
@ -751,6 +754,9 @@ extern int XFree86utf8TextListToTextProperty(
|
|||
XICCEncodingStyle style,
|
||||
XTextProperty* text_prop_return
|
||||
);
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#define Xutf8TextListToTextProperty XFree86utf8TextListToTextProperty
|
||||
#endif
|
||||
|
||||
extern void XwcFreeStringList(
|
||||
wchar_t** list
|
||||
|
|
@ -782,6 +788,9 @@ extern int XFree86utf8TextPropertyToTextList(
|
|||
char*** list_return,
|
||||
int* count_return
|
||||
);
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#define Xutf8TextPropertyToTextList XFree86utf8TextPropertyToTextList
|
||||
#endif
|
||||
|
||||
extern int XUnionRectWithRegion(
|
||||
XRectangle* /* rectangle */,
|
||||
|
|
|
|||
|
|
@ -391,8 +391,7 @@ XwcResetIC(ic)
|
|||
}
|
||||
|
||||
char *
|
||||
XFree86utf8ResetIC(ic)
|
||||
XIC ic;
|
||||
XFree86utf8ResetIC(XIC ic)
|
||||
{
|
||||
if (ic->core.im) {
|
||||
if (ic->methods->utf8_reset)
|
||||
|
|
@ -403,6 +402,15 @@ XFree86utf8ResetIC(ic)
|
|||
return (char *)NULL;
|
||||
}
|
||||
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#undef Xutf8ResetIC
|
||||
char *
|
||||
Xutf8ResetIC(XIC ic)
|
||||
{
|
||||
return XFree86utf8ResetIC(ic);
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
XmbLookupString(ic, ev, buffer, nbytes, keysym, status)
|
||||
XIC ic;
|
||||
|
|
@ -434,13 +442,13 @@ XwcLookupString(ic, ev, buffer, nchars, keysym, status)
|
|||
}
|
||||
|
||||
int
|
||||
XFree86utf8LookupString(ic, ev, buffer, nbytes, keysym, status)
|
||||
XIC ic;
|
||||
register XKeyEvent *ev;
|
||||
char *buffer;
|
||||
int nbytes;
|
||||
KeySym *keysym;
|
||||
Status *status;
|
||||
XFree86utf8LookupString(
|
||||
XIC ic,
|
||||
register XKeyEvent *ev,
|
||||
char *buffer,
|
||||
int nbytes,
|
||||
KeySym *keysym,
|
||||
Status *status)
|
||||
{
|
||||
if (ic->core.im) {
|
||||
if (ic->methods->utf8_lookup_string)
|
||||
|
|
@ -452,3 +460,18 @@ XFree86utf8LookupString(ic, ev, buffer, nbytes, keysym, status)
|
|||
}
|
||||
return XLookupNone;
|
||||
}
|
||||
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#undef Xutf8LookupString
|
||||
int
|
||||
Xutf8LookupString(
|
||||
XIC ic,
|
||||
register XKeyEvent *ev,
|
||||
char *buffer,
|
||||
int nbytes,
|
||||
KeySym *keysym,
|
||||
Status *status)
|
||||
{
|
||||
return XFree86utf8LookupString(ic, ev, buffer, nbytes, keysym, status);
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -420,6 +420,18 @@ XFree86utf8TextPropertyToTextList(
|
|||
return (*lcd->methods->utf8_text_prop_to_list)(lcd, dpy, text_prop,
|
||||
list_ret, count_ret);
|
||||
}
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#undef Xutf8TextPropertyToTextList
|
||||
int
|
||||
Xutf8TextPropertyToTextList(
|
||||
Display *dpy,
|
||||
const XTextProperty *text_prop,
|
||||
char ***list_ret,
|
||||
int *count_ret)
|
||||
{
|
||||
return XFree86utf8TextPropertyToTextList(dpy, text_prop, list_ret, count_ret);
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
XmbTextListToTextProperty(
|
||||
|
|
@ -471,6 +483,19 @@ XFree86utf8TextListToTextProperty(
|
|||
return (*lcd->methods->utf8_text_list_to_prop)(lcd, dpy, list, count,
|
||||
style, text_prop);
|
||||
}
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#undef Xutf8TextListToTextProperty
|
||||
int
|
||||
Xutf8TextListToTextProperty(
|
||||
Display *dpy,
|
||||
char **list,
|
||||
int count,
|
||||
XICCEncodingStyle style,
|
||||
XTextProperty *text_prop)
|
||||
{
|
||||
return XFree86utf8TextListToTextProperty(dpy, list, count, style, text_prop);
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
XwcFreeStringList(
|
||||
|
|
|
|||
|
|
@ -88,3 +88,21 @@ XFree86utf8SetWMProperties (
|
|||
|
||||
/* Note: The WM_LOCALE_NAME property is set by XSetWMProperties. */
|
||||
}
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#undef Xutf8SetWMProperties
|
||||
void
|
||||
Xutf8SetWMProperties (
|
||||
Display *dpy,
|
||||
Window w,
|
||||
_Xconst char *windowName,
|
||||
_Xconst char *iconName,
|
||||
char **argv,
|
||||
int argc,
|
||||
XSizeHints *sizeHints,
|
||||
XWMHints *wmHints,
|
||||
XClassHint *classHints)
|
||||
{
|
||||
XFree86utf8SetWMProperties (dpy, w, windowName, iconName, argv, argc,
|
||||
sizeHints, wmHints, classHints);
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -109,6 +109,21 @@ XFree86utf8DrawText(
|
|||
x += esc;
|
||||
}
|
||||
}
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#undef Xutf8DrawText
|
||||
void
|
||||
Xutf8DrawText(
|
||||
Display *dpy,
|
||||
Drawable d,
|
||||
GC gc,
|
||||
int x,
|
||||
int y,
|
||||
XmbTextItem *text_items,
|
||||
int nitems)
|
||||
{
|
||||
XFree86utf8DrawText(dpy, d, gc, x, y, text_items, nitems);
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
XFree86utf8DrawString(
|
||||
|
|
@ -124,7 +139,22 @@ XFree86utf8DrawString(
|
|||
(void)(*font_set->methods->utf8_draw_string) (dpy, d, font_set, gc, x, y,
|
||||
(char *)text, text_len);
|
||||
}
|
||||
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#undef Xutf8DrawString
|
||||
void
|
||||
Xutf8DrawString(
|
||||
Display *dpy,
|
||||
Drawable d,
|
||||
XFontSet font_set,
|
||||
GC gc,
|
||||
int x,
|
||||
int y,
|
||||
_Xconst char *text,
|
||||
int text_len)
|
||||
{
|
||||
XFree86utf8DrawString(dpy, d, font_set, gc, x, y, text, text_len);
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
XFree86utf8DrawImageString(
|
||||
|
|
@ -140,6 +170,22 @@ XFree86utf8DrawImageString(
|
|||
(*font_set->methods->utf8_draw_image_string) (dpy, d, font_set, gc, x, y,
|
||||
(char *)text, text_len);
|
||||
}
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#undef Xutf8DrawImageString
|
||||
void
|
||||
Xutf8DrawImageString(
|
||||
Display *dpy,
|
||||
Drawable d,
|
||||
XFontSet font_set,
|
||||
GC gc,
|
||||
int x,
|
||||
int y,
|
||||
_Xconst char *text,
|
||||
int text_len)
|
||||
{
|
||||
XFree86utf8DrawImageString(dpy, d, font_set, gc, x, y, text, text_len);
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
XFree86utf8TextEscapement(
|
||||
|
|
@ -150,6 +196,17 @@ XFree86utf8TextEscapement(
|
|||
return (*font_set->methods->utf8_escapement) (font_set,
|
||||
(char *)text, text_len);
|
||||
}
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#undef Xutf8TextEscapement
|
||||
int
|
||||
Xutf8TextEscapement(
|
||||
XFontSet font_set,
|
||||
_Xconst char *text,
|
||||
int text_len)
|
||||
{
|
||||
return XFree86utf8TextEscapement(font_set, text, text_len);
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
XFree86utf8TextExtents(
|
||||
|
|
@ -164,6 +221,20 @@ XFree86utf8TextExtents(
|
|||
overall_ink_extents,
|
||||
overall_logical_extents);
|
||||
}
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#undef Xutf8TextExtents
|
||||
int
|
||||
Xutf8TextExtents(
|
||||
XFontSet font_set,
|
||||
_Xconst char *text,
|
||||
int text_len,
|
||||
XRectangle *overall_ink_extents,
|
||||
XRectangle *overall_logical_extents)
|
||||
{
|
||||
return XFree86utf8TextExtents(font_set, text, text_len,
|
||||
overall_ink_extents, overall_logical_extents);
|
||||
}
|
||||
#endif
|
||||
|
||||
Status
|
||||
XFree86utf8TextPerCharExtents(
|
||||
|
|
@ -182,3 +253,22 @@ XFree86utf8TextPerCharExtents(
|
|||
ink_extents_buffer, logical_extents_buffer,
|
||||
buffer_size, num_chars, max_ink_extents, max_logical_extents);
|
||||
}
|
||||
#ifndef NOXFREE86COMPAT
|
||||
#undef Xutf8TextPerCharExtents
|
||||
Status
|
||||
Xutf8TextPerCharExtents(
|
||||
XFontSet font_set,
|
||||
_Xconst char *text,
|
||||
int text_len,
|
||||
XRectangle *ink_extents_buffer,
|
||||
XRectangle *logical_extents_buffer,
|
||||
int buffer_size,
|
||||
int *num_chars,
|
||||
XRectangle *max_ink_extents,
|
||||
XRectangle *max_logical_extents)
|
||||
{
|
||||
return XFree86utf8TextPerCharExtents(font_set, text, text_len,
|
||||
ink_extents_buffer, logical_extents_buffer, buffer_size,
|
||||
num_chars, max_ink_extents, max_logical_extents);
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue