/* IBM_PROLOG_BEGIN_TAG                                                   */
/* This is an automatically generated prolog.                             */
/*                                                                        */
/* gos420 src/gos/2d/XTOP/X11/Xi18nlib.h                                  */
/*                                                                        */
/* Licensed Materials - Property of IBM                                   */
/*                                                                        */
/* (C) COPYRIGHT International Business Machines Corp. 1988,1991          */
/* All Rights Reserved                                                    */
/*                                                                        */
/* US Government Users Restricted Rights - Use, duplication or            */
/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
/*                                                                        */
/* IBM_PROLOG_END_TAG                                                     */
/* @(#)16	1.1  src/gos/2d/XTOP/X11/Xi18nlib.h, xlib, gos420, 9613T 5/13/92 10:27:19 */
/*
 *   COMPONENT_NAME: X11
 *
 *   FUNCTIONS: defined
 *
 *   ORIGINS: 16,27,40,42
 *
 *
 *   (C) COPYRIGHT International Business Machines Corp. 1988,1991
 *   All Rights Reserved
 *   Licensed Materials - Property of IBM
 *   US Government Users Restricted Rights - Use, duplication or
 *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 */


/* 
 * Copyright 1990 OMRON Corporation
 */

#ifndef _XI18NLIB_H_
#define _XI18NLIB_H_

/* aix r4+ */
#ifndef	X11R4
#define	X11R4
#endif
/* end of aix r4+ */

/* For use xi18n-lib under X11R4 */
#ifdef X11R4
/* From <X11/Xfuncproto.h> */
/* Definitions to make function prototypes manageable */

#ifndef NeedFunctionPrototypes
#define NeedFunctionPrototypes 0
#endif /* NeedFunctionPrototypes */

#ifndef NeedVarargsPrototypes
#define NeedVarargsPrototypes 0
#endif /* NeedVarargsPrototypes */

#if NeedFunctionPrototypes

#ifndef NeedNestedPrototypes
#define NeedNestedPrototypes 0
#endif /* NeedNestedPrototypes */

#ifndef _Xconst
#define _Xconst
#endif /* _Xconst */

#ifndef NeedWidePrototypes
#define NeedWidePrototypes 0
#endif /* NeedWidePrototypes */

#endif /* NeedFunctionPrototypes */

#ifndef _XFUNCPROTOBEGIN
#define _XFUNCPROTOBEGIN
#define _XFUNCPROTOEND
#endif /* _XFUNCPROTOBEGIN */
/* end include Xfuncproto.h */

/** from <X11/Xlib.h> **/
/**** wchar_t should be defined by BOS
#if __STDC__ && !defined(NOSTDHDRS)
#include <stddef.h>
#else
#ifndef wchar_t
#define wchar_t unsigned long
#endif
#endif
****/

#define XBufferOverflow -4
#define XNoContextDependencies 0
#define XIsContextDependent -1

extern Bool XSupportsLocale();

extern char *XSetLocaleModifiers(
#if NeedFunctionPrototypes
    _Xconst char*	/* modifier_list */
#endif
);

extern XFontSet XCreateFontSet(
#if NeedFunctionPrototypes
    Display*		/* display */,
    _Xconst char*	/* base_font_name_list */,
    char***		/* missing_charset_list */,
    int*		/* missing_charset_count */,
    char**		/* def_string */
#endif
);

extern void XFreeFontSet(
#if NeedFunctionPrototypes
    Display*		/* display */,
    XFontSet		/* font_set */
#endif
);

extern void XFreeStringList(
#if NeedFunctionPrototypes
    char**		/* list */
#endif
);

extern int XFontsOfFontSet(
#if NeedFunctionPrototypes
    XFontSet		/* font_set */,
    XFontStruct***	/* font_struct_list */,
    char***		/* font_name_list */
#endif
);

/* aix r4+ */
extern char *XBaseFontNameListOfFontSet(
#if NeedFunctionPrototypes
    XFontSet          /* font_set */
#endif
);
/* end of aix r4+ */

extern char *XLocaleOfFontSet(
#if NeedFunctionPrototypes
    XFontSet		/* font_set */
#endif
);

extern XFontSetExtents *XExtentsOfFontSet(
#if NeedFunctionPrototypes
    XFontSet		/* font_set */
#endif
);

extern int XmbTextEscapement(
#if NeedFunctionPrototypes
    XFontSet		/* font_set */,
    _Xconst char*	/* text */,
    int			/* bytes_text */
#endif
);

extern int XmbTextExtents(
#if NeedFunctionPrototypes
    XFontSet		/* font_set */,
    _Xconst char*	/* text */,
    int			/* bytes_text */,
    XRectangle*		/* overall_ink_return */,
    XRectangle*		/* overall_logical_return */
#endif
);

extern Status XmbTextPerCharExtents(
#if NeedFunctionPrototypes
    XFontSet		/* font_set */,
    _Xconst char*	/* text */,
    int			/* bytes_text */,
    XRectangle*		/* ink_extents_buffer */,
    XRectangle*		/* logical_extents_buffer */,
    int			/* buffer_size */,
    int*		/* num_chars */,
    XRectangle*		/* overall_ink_return */,
    XRectangle*		/* overall_logical_return */
#endif
);

extern void XmbDrawText(
#if NeedFunctionPrototypes
    Display*		/* display */,
    Drawable		/* d */,
    GC			/* gc */,
    int			/* x */,
    int			/* y */,
    XmbTextItem*	/* text_items */,
    int			/* nitems */
#endif
);

extern void XmbDrawString(
#if NeedFunctionPrototypes
    Display*		/* display */,
    Drawable		/* d */,
    XFontSet		/* font_set */,
    GC			/* gc */,
    int			/* x */,
    int			/* y */,
    _Xconst char*	/* text */,
    int			/* bytes_text */
#endif
);

extern void XmbDrawImageString(
#if NeedFunctionPrototypes
    Display*		/* display */,
    Drawable		/* d */,
    XFontSet		/* font_set */,
    GC			/* gc */,
    int			/* x */,
    int			/* y */,
    _Xconst char*	/* text */,
    int			/* bytes_text */
#endif
);

#endif /* X11R4 */

/* aix r4+ */
/* in AIX,
 *    MB_LEN_MAX is defined in <sys/limits.h>.
 *    MB_CUR_MAX is defined in <stdlib.h>.
 */
#include <limits.h>
#include <stdlib.h>
/* end of aix r4+ */

typedef struct _XLocale *XLocale;

extern XLocale   _XSetLocale();
extern void      _XFreeLocale();

#define XDEFAULT_STATE 0xffffff  /* to specify default _State for XConvertXXToXX */

extern int       _XlcListLocale();

extern Display *
_XDisplayOfFontSet(
#if NeedFunctionPrototypes
    XFontSet		/* font_set */
#endif
);

extern int _XAscentOfFontSet(
#if NeedFunctionPrototypes
    XFontSet		/* font_set */
#endif
);

extern int _XDescentOfFontSet(
#if NeedFunctionPrototypes
    XFontSet          /* font_set */
#endif
);

/* aix r4+ */
extern XLocale _XLocaleStructOfFontSet(
#if NeedFunctionPrototypes
    XFontSet		/* font_set */
#endif
);
/* end of aix r4+ */

#endif /* _XI18NLIB_H_ */
