⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xi18nint.h

📁 早期freebsd实现
💻 H
字号:
/* * $XConsortium: Xi18nint.h,v 1.22 92/10/22 14:26:26 rws Exp $ *//* * Copyright 1990, 1991 by OMRON Corporation * Copyright 1991 by the Massachusetts Institute of Technology * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the names of OMRON and MIT not be used in * advertising or publicity pertaining to distribution of the software without * specific, written prior permission.  OMRON and MIT make no representations * about the suitability of this software for any purpose.  It is provided * "as is" without express or implied warranty. * * OMRON AND MIT DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO * EVENT SHALL OMRON OR MIT BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE.  * *	Author:	Seiji Kuwari	OMRON Corporation *				kuwa@omron.co.jp *				kuwa%omron.co.jp@uunet.uu.net */				#ifndef	_XI18NINT_H_#define	_XI18NINT_H_#include "Xlocaleint.h"/* we should create a data part, but it would affect too much existing code */typedef struct {    XFontSetMethods	methods;	/* methods of this font set */    XFontSetCoreRec	core;		/* core data of this font set */    Display		*display;	/* display */    XLocale		xlc;    int			*ctid;    XCharStruct		min_bounds;	/* min bounds of all fonts */    XCharStruct		max_bounds;	/* max bounds of all fonts */    int			ascent;		/* font set ascent */    int			descent;	/* font set descent */} XsiFontSetRec, *XsiFontSet;#ifdef XML#define XNQueryLanguage		"queryLanguage"#define XNUsingLanguage		"usingLanguage"#define XNCurrentLanguage	"currentLanguage"#define XNChangeLocaleCB	"changeLocaleCB"#endiftypedef struct _ICValues {    char	*res_name;    char	*res_class;#ifdef XML    char	*using_language;    char	*current_language;    int		(*ch_locale_cb)();#endif} ICValues;typedef struct _XIMQueue {    short type;				/* 0: XEvent, 1: String		 */    short string_is_mb;			/* 0: CT, 1: MB			 */    int length;				/* length of String or XEvent    */    KeySym keysym;			/* keysym			 */    unsigned int state;			/* state 			 */    int buf_max;			/* max of buffer		 */    char *ptr;				/* a pointer of String or XEvent */    struct _XIMQueue *next;} XIMQueue;#ifndef	NO_LOCAL_IM#define BITSIZ (sizeof(int) * 8)#define CHANGE_MAX 256/BITSIZtypedef struct {    KeySym	keysym;    unsigned int	state;    unsigned char	*str;} XipLocalKeySymTbl;typedef struct _XipLocalNestedKeySym {    KeySym keysym;    struct _XipLocalNestedKeySym *next;} XipLocalNestedKeySym;typedef struct {    XipLocalKeySymTbl	*fromkey;    Bool	com;    union {	XipLocalKeySymTbl	*tokey;	int			(*func)();    } to;} XipLocalCvtTbl;typedef struct {    int		cnt;    XipLocalKeySymTbl	*buf;    int		buf_cnt;    int		nmax;    int		check_flg[CHANGE_MAX];    Bool	off;    KeySym	bs;    XipLocalCvtTbl *tbl, off_tbl;    XipLocalNestedKeySym *no_filter;} XipLocalCvt;#endif	/* !NO_LOCAL_IM *//* we should create a data part, but it would affect too much existing code */typedef struct {    XICMethods		methods;		/* method list of this IC */    XICCoreRec		core;			/* core data of this IC */    struct _XIMQueue	*in, *out, *prev, overflow;    Bool		(*prototype_filter)();    XLocale		mb;    XLocale		wc;    XID			icid;    ICValues		values;    char		*ct_buf;    wchar_t		*wc_buf;    int			max_of_ct;    int			max_of_wc;#ifdef XML    XLocale		*mb_temp;    XLocale		*wc_temp;    int			xlc_num;#endif} XipICRec, *XipIC;#ifndef	NO_LOCAL_IMtypedef struct {    XICMethods		methods;		/* method list of this IC */    XICCoreRec		core;			/* core data of this IC */    struct _XIMQueue	*in, *out, *prev, overflow;    Bool		(*prototype_filter)();    XLocale		mb;    XLocale		wc;    XipLocalCvt		*xcvt;    ICValues		values;#ifdef XML    XLocale		*mb_temp;    XLocale		*wc_temp;    XipLocalCvt		**xcvt_temp;    int			xlc_num;#endif} XipLocalICRec, *XipLocalIC;#endif	/* !NO_LOCAL_IM */#ifdef	XML#define ICUsingLanguage		28#define ICCurrentLanguage	29#define ICChangeLocaleCB	30#define ICAllMask		0x73ffffff#else	/* XML */#define	ICAllMask		0x03ffffff#endif	/* XML */#define	StatusOffset		11/********************************************************************* * * IM XIM structure; * *********************************************************************/typedef struct _IMValues {    XIMStyles	input_styles;    char	*supported_language;} IMValues;#define	SEND_BUF_SZ	128#define	RECV_BUF_SZ	128/* we should create a data part, but it would affect too much existing code */typedef struct {    XIMMethods		methods;		/* method list of this IM */    XIMCoreRec		core;			/* core data of this IM */    XLocale		xlc;    int			fd;			/* file discripter of socket */    XipIC		default_ic;		/* default input context */    char 		*client_data;    unsigned long	default_mask;    XIMrmResourceList	resources;    int			num_resources;    long		major_version;		/* major version of protocol */    long		minor_version;		/* minor version of protocol */    IMValues		values;    char		send_buf[SEND_BUF_SZ];    char		recv_buf[RECV_BUF_SZ];    int			sp;    int			rp;    int			rc;} XipIMRec, *XipIM;#ifndef	NO_LOCAL_IMtypedef struct {    XIMMethods		methods;		/* method list of this IM */    XIMCoreRec		core;			/* core data of this IM */    XLocale		xlc;    XipLocalCvt		*xcvt;    XIMrmResourceList	resources;    int			num_resources;    IMValues		values;} XipLocalIMRec, *XipLocalIM;#endif	/* !NO_LOCAL_IM */#ifdef XML#define	IMQueryLanguage		1#endif_XFUNCPROTOBEGINextern XFontSet _XsiCreateFontSet(#if NeedFunctionPrototypes	XLCd, Display*, char*, char**, int, char***, int*#endif);extern XIM _XipOpenIM(#if NeedFunctionPrototypes	XLCd, Display*, XrmDatabase, char*, char*#endif);extern XFontStruct *_XsiQueryFontSetFromId(#if NeedFunctionPrototypes	XFontSet, int#endif);#ifdef XMLextern void _XsiQueryFontSetWithName(#if NeedFunctionPrototypes	XFontSet, char*#endif);#endifextern int _XsimbTextEscapement(#if NeedFunctionPrototypes	XFontSet, char*, int#endif);extern int _Xsimb8TextEscapement(#if NeedFunctionPrototypes	XFontSet, char*, int#endif);extern int _XsimbTextExtents(#if NeedFunctionPrototypes	XFontSet, char*, int, XRectangle*, XRectangle*#endif);extern int _Xsimb8TextExtents(#if NeedFunctionPrototypes	XFontSet, char*, int, XRectangle*, XRectangle*#endif);extern Status _XsimbTextPerCharExtents(#if NeedFunctionPrototypes	XFontSet, char*, int, XRectangle*, XRectangle*, int, int*,	XRectangle*, XRectangle*#endif);extern int _XsimbDrawString(#if NeedFunctionPrototypes	Display*, Drawable, XFontSet, GC, int, int, char*, int#endif);extern int _Xsimb8DrawString(#if NeedFunctionPrototypes	Display*, Drawable, XFontSet, GC, int, int, char*, int#endif);extern void _XsimbDrawImageString(#if NeedFunctionPrototypes	Display*, Drawable, XFontSet, GC, int, int, char*, int#endif);extern void _Xsimb8DrawImageString(#if NeedFunctionPrototypes	Display*, Drawable, XFontSet, GC, int, int, char*, int#endif);extern int _XsiwcTextEscapement(#if NeedFunctionPrototypes	XFontSet, wchar_t*, int#endif);extern int _XsiwcTextExtents(#if NeedFunctionPrototypes	XFontSet, wchar_t*, int, XRectangle*, XRectangle*#endif);extern Status _XsiwcTextPerCharExtents(#if NeedFunctionPrototypes	XFontSet, wchar_t*, int, XRectangle*, XRectangle*, int, int*,	XRectangle*, XRectangle*#endif);extern int _XsiwcDrawString(#if NeedFunctionPrototypes	Display*, Drawable, XFontSet, GC, int, int, wchar_t*, int#endif);extern void _XsiwcDrawImageString(#if NeedFunctionPrototypes	Display*, Drawable, XFontSet, GC, int, int, wchar_t*, int#endif);extern char *_XipGetIMValues(#if NeedFunctionPrototypes	XIM, XIMArg*#endif);extern XIC _XipCreateIC(#if NeedFunctionPrototypes	XIM, XIMArg*#endif);extern void _XipDestroyIC(#if NeedFunctionPrototypes	XIC#endif);extern void _XipSetICFocus(#if NeedFunctionPrototypes	XIC#endif);void _XipUnsetICFocus(#if NeedFunctionPrototypes	XIC#endif);extern char* _XipSetICValues(#if NeedFunctionPrototypes	XIC, XIMArg*#endif);extern char* _XipGetICValues(#if NeedFunctionPrototypes	XIC, XIMArg*#endif);extern char* _XipmbResetIC(#if NeedFunctionPrototypes	XIC#endif);extern wchar_t* _XipwcResetIC(#if NeedFunctionPrototypes	XIC#endif);extern int _XipmbLookupString(#if NeedFunctionPrototypes	XIC, XKeyEvent*, char*, int, KeySym*, Status*#endif);extern int _XipwcLookupString(#if NeedFunctionPrototypes	XIC, XKeyEvent*, wchar_t*, int, KeySym*, Status*#endif);extern unsigned long _XipReadRdb(#if NeedFunctionPrototypes	Display*, XipIC, unsigned long, XrmDatabase, char*, char*#endif);#ifndef	NO_LOCAL_IMextern XIM _XipLocalOpenIM(#if NeedFunctionPrototypes	XLCd, Display*, XrmDatabase, char*, char*#endif);extern char *_XipLocalGetIMValues(#if NeedFunctionPrototypes	XIM, XIMArg*#endif);extern XIC _XipLocalCreateIC(#if NeedFunctionPrototypes	XIM, XIMArg*#endif);extern void _XipLocalDestroyIC(#if NeedFunctionPrototypes	XIC#endif);extern void _XipLocalSetICFocus(#if NeedFunctionPrototypes	XIC#endif);void _XipLocalUnsetICFocus(#if NeedFunctionPrototypes	XIC#endif);extern char* _XipLocalSetICValues(#if NeedFunctionPrototypes	XIC, XIMArg*#endif);extern char* _XipLocalGetICValues(#if NeedFunctionPrototypes	XIC, XIMArg*#endif);extern char* _XipLocalmbResetIC(#if NeedFunctionPrototypes	XIC#endif);extern wchar_t* _XipLocalwcResetIC(#if NeedFunctionPrototypes	XIC#endif);#endif	/* !NO_LOCAL_IM */_XFUNCPROTOEND#endif	/* _XI18NINT_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -