XawImP.h revision 7a84e134
17a84e134Smrg/* $Xorg: XawImP.h,v 1.4 2001/02/09 02:03:47 xorgcvs Exp $ */
27a84e134Smrg
37a84e134Smrg/*
47a84e134Smrg * Copyright 1991 by OMRON Corporation
57a84e134Smrg *
67a84e134Smrg * Permission to use, copy, modify, distribute, and sell this software and its
77a84e134Smrg * documentation for any purpose is hereby granted without fee, provided that
87a84e134Smrg * the above copyright notice appear in all copies and that both that
97a84e134Smrg * copyright notice and this permission notice appear in supporting
107a84e134Smrg * documentation, and that the name of OMRON not be used in advertising or
117a84e134Smrg * publicity pertaining to distribution of the software without specific,
127a84e134Smrg * written prior permission.  OMRON makes no representations about the
137a84e134Smrg * suitability of this software for any purpose.  It is provided "as is"
147a84e134Smrg * without express or implied warranty.
157a84e134Smrg *
167a84e134Smrg * OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
177a84e134Smrg * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
187a84e134Smrg * OMRON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
197a84e134Smrg * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
207a84e134Smrg * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION,
217a84e134Smrg * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
227a84e134Smrg * SOFTWARE.
237a84e134Smrg *
247a84e134Smrg *	Author:	Seiji Kuwari	OMRON Corporation
257a84e134Smrg *				kuwa@omron.co.jp
267a84e134Smrg *				kuwa%omron.co.jp@uunet.uu.net
277a84e134Smrg */
287a84e134Smrg
297a84e134Smrg/*
307a84e134Smrg
317a84e134SmrgCopyright 1994, 1998  The Open Group
327a84e134Smrg
337a84e134SmrgPermission to use, copy, modify, distribute, and sell this software and its
347a84e134Smrgdocumentation for any purpose is hereby granted without fee, provided that
357a84e134Smrgthe above copyright notice appear in all copies and that both that
367a84e134Smrgcopyright notice and this permission notice appear in supporting
377a84e134Smrgdocumentation.
387a84e134Smrg
397a84e134SmrgThe above copyright notice and this permission notice shall be included in
407a84e134Smrgall copies or substantial portions of the Software.
417a84e134Smrg
427a84e134SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
437a84e134SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
447a84e134SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
457a84e134SmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
467a84e134SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
477a84e134SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
487a84e134Smrg
497a84e134SmrgExcept as contained in this notice, the name of The Open Group shall not be
507a84e134Smrgused in advertising or otherwise to promote the sale, use or other dealings
517a84e134Smrgin this Software without prior written authorization from The Open Group.
527a84e134Smrg
537a84e134Smrg*/
547a84e134Smrg/* $XFree86: xc/lib/Xaw/XawImP.h,v 3.8 2001/01/17 19:42:36 dawes Exp $ */
557a84e134Smrg
567a84e134Smrg#ifndef _XawImP_h
577a84e134Smrg#define _XawImP_h
587a84e134Smrg
597a84e134Smrg#define XtNinputMethod		"inputMethod"
607a84e134Smrg#define XtCInputMethod		"InputMethod"
617a84e134Smrg#define XtNpreeditType		"preeditType"
627a84e134Smrg#define XtCPreeditType		"PreeditType"
637a84e134Smrg#define XtNopenIm		"openIm"
647a84e134Smrg#define XtCOpenIm		"OpenIm"
657a84e134Smrg#define XtNsharedIc		"sharedIc"
667a84e134Smrg#define XtCSharedIc		"SharedIc"
677a84e134Smrg
687a84e134Smrg#include <X11/Xaw/Text.h>
697a84e134Smrg
707a84e134Smrg#define	CIICFocus	(1 << 0)
717a84e134Smrg#define	CIFontSet	(1 << 1)
727a84e134Smrg#define	CIFg		(1 << 2)
737a84e134Smrg#define	CIBg		(1 << 3)
747a84e134Smrg#define	CIBgPixmap	(1 << 4)
757a84e134Smrg#define	CICursorP	(1 << 5)
767a84e134Smrg#define	CILineS		(1 << 6)
777a84e134Smrg
787a84e134Smrgtypedef	struct _XawImPart {
797a84e134Smrg    XIM			xim;
807a84e134Smrg    XrmResourceList	resources;
817a84e134Smrg    Cardinal		num_resources;
827a84e134Smrg    Boolean		open_im;
837a84e134Smrg    Boolean		initialized;
847a84e134Smrg    Dimension		area_height;
857a84e134Smrg    String		input_method;
867a84e134Smrg    String		preedit_type;
877a84e134Smrg} XawImPart;
887a84e134Smrg
897a84e134Smrgtypedef struct _XawIcTablePart {
907a84e134Smrg    Widget		widget;
917a84e134Smrg    XIC			xic;
927a84e134Smrg    XIMStyle		input_style;
937a84e134Smrg    unsigned long	flg;
947a84e134Smrg    unsigned long	prev_flg;
957a84e134Smrg    Boolean		ic_focused;
967a84e134Smrg    XFontSet		font_set;
977a84e134Smrg    Pixel		foreground;
987a84e134Smrg    Pixel		background;
997a84e134Smrg    Pixmap		bg_pixmap;
1007a84e134Smrg    XawTextPosition	cursor_position;
1017a84e134Smrg    unsigned long	line_spacing;
1027a84e134Smrg    Boolean		openic_error;
1037a84e134Smrg    struct _XawIcTablePart *next;
1047a84e134Smrg} XawIcTablePart, *XawIcTableList;
1057a84e134Smrg
1067a84e134Smrgtypedef	struct _XawIcPart {
1077a84e134Smrg    XIMStyle		input_style;
1087a84e134Smrg    Boolean		shared_ic;
1097a84e134Smrg    XawIcTableList	shared_ic_table;
1107a84e134Smrg    XawIcTableList	current_ic_table;
1117a84e134Smrg    XawIcTableList	ic_table;
1127a84e134Smrg} XawIcPart;
1137a84e134Smrg
1147a84e134Smrgtypedef	struct _contextDataRec {
1157a84e134Smrg    Widget		parent;
1167a84e134Smrg    Widget		ve;
1177a84e134Smrg} contextDataRec;
1187a84e134Smrg
1197a84e134Smrgtypedef	struct _contextErrDataRec {
1207a84e134Smrg    Widget		widget;
1217a84e134Smrg    XIM			xim;
1227a84e134Smrg} contextErrDataRec;
1237a84e134Smrg
1247a84e134Smrgvoid _XawImResizeVendorShell
1257a84e134Smrg(
1267a84e134Smrg Widget			w
1277a84e134Smrg );
1287a84e134Smrg
1297a84e134SmrgDimension _XawImGetShellHeight
1307a84e134Smrg(
1317a84e134Smrg Widget			w
1327a84e134Smrg);
1337a84e134Smrg
1347a84e134Smrgvoid _XawImRealize
1357a84e134Smrg(
1367a84e134Smrg Widget			w
1377a84e134Smrg );
1387a84e134Smrg
1397a84e134Smrgvoid _XawImInitialize
1407a84e134Smrg(
1417a84e134Smrg Widget			w,
1427a84e134Smrg Widget			ext
1437a84e134Smrg );
1447a84e134Smrg
1457a84e134Smrgvoid _XawImReconnect
1467a84e134Smrg(
1477a84e134Smrg Widget			w
1487a84e134Smrg );
1497a84e134Smrg
1507a84e134Smrgvoid _XawImRegister
1517a84e134Smrg(
1527a84e134Smrg Widget			w
1537a84e134Smrg );
1547a84e134Smrg
1557a84e134Smrgvoid _XawImUnregister
1567a84e134Smrg(
1577a84e134Smrg Widget			w
1587a84e134Smrg );
1597a84e134Smrg
1607a84e134Smrgvoid _XawImSetValues
1617a84e134Smrg(
1627a84e134Smrg Widget			w,
1637a84e134Smrg ArgList		args,
1647a84e134Smrg Cardinal		num_args
1657a84e134Smrg );
1667a84e134Smrg
1677a84e134Smrgvoid _XawImSetFocusValues
1687a84e134Smrg(
1697a84e134Smrg Widget			w,
1707a84e134Smrg ArgList		args,
1717a84e134Smrg Cardinal		num_args
1727a84e134Smrg);
1737a84e134Smrg
1747a84e134Smrgvoid _XawImUnsetFocus
1757a84e134Smrg(
1767a84e134Smrg Widget			w
1777a84e134Smrg );
1787a84e134Smrg
1797a84e134Smrgint _XawImWcLookupString
1807a84e134Smrg(
1817a84e134Smrg Widget			w,
1827a84e134Smrg XKeyPressedEvent	*event,
1837a84e134Smrg wchar_t		*buffer_return,
1847a84e134Smrg int			bytes_buffer,
1857a84e134Smrg KeySym			*keysym_return
1867a84e134Smrg );
1877a84e134Smrg
1887a84e134Smrgint _XawLookupString
1897a84e134Smrg(
1907a84e134Smrg Widget			w,
1917a84e134Smrg XKeyEvent		*event,
1927a84e134Smrg char			*buffer_return,
1937a84e134Smrg int			buffer_size,
1947a84e134Smrg KeySym			*keysym_return
1957a84e134Smrg );
1967a84e134Smrg
1977a84e134Smrgint _XawImGetImAreaHeight
1987a84e134Smrg(
1997a84e134Smrg Widget			w
2007a84e134Smrg );
2017a84e134Smrg
2027a84e134Smrgvoid _XawImCallVendorShellExtResize
2037a84e134Smrg(
2047a84e134Smrg Widget			w
2057a84e134Smrg );
2067a84e134Smrg
2077a84e134Smrgvoid _XawImDestroy
2087a84e134Smrg(
2097a84e134Smrg Widget			w,
2107a84e134Smrg Widget			ext
2117a84e134Smrg );
2127a84e134Smrg
2137a84e134Smrg#endif	/* _XawImP_h */
214