File: OverConvP.h

package info (click to toggle)
kinput2 3.0-19
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,688 kB
  • ctags: 4,649
  • sloc: ansic: 45,508; makefile: 100; sh: 35
file content (143 lines) | stat: -rw-r--r-- 4,419 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/* $Id: OverConvP.h,v 1.18 1999/02/04 08:59:14 ishisone Exp $ */
/*
 * Copyright (c) 1990  Software Research Associates, Inc.
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for any purpose and without fee is hereby granted, 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 name of Software Research Associates not be
 * used in advertising or publicity pertaining to distribution of the
 * software without specific, written prior permission.  Software Research
 * Associates makes no representations about the suitability of this software
 * for any purpose.  It is provided "as is" without express or implied
 * warranty.
 *
 * Author:  Makoto Ishisone, Software Research Associates, Inc., Japan
 */

#ifndef _OverTheSpotConversionP_h
#define _OverTheSpotConversionP_h

#include "ConvCtrlP.h"
#include "OverConv.h"

#define XtRModeLocation "ModeLocation"

typedef struct _canvasrec_ {
    Widget	canvas;
    Position	x, y;
    Position	maxx, maxy;	/* for canvas reconfiguration */
    Boolean	shouldpopup;
    Boolean	poppedup;
    struct _canvasrec_	*next;
} TextCanvas;

typedef struct {
    TextCanvas	*canvas;
    Position	x, y;
} DisplayLocation;

typedef struct _fragment_ {
    unsigned short from;	/* $BI=<(3+;OJ8;z0LCV(B */
    unsigned short nchars;	/* $BI=<(J8;z?t(B */
    TextCanvas *canvas;		/* $BI=<($9$k%-%c%s%P%9(B ($B?F(B widget $B$H$O8B$i$J$$(B) */
    XRectangle region;		/* $BI=<(NN0h(B */
    struct _fragment_ *next;	/* $B<!$N%U%i%0%a%s%H(B */
} DisplayFragment;

typedef struct {
    ICString seg;		/* $B%;%0%a%s%H(B */
    short redrawpos;		/* $B=q$-D>$7$,I,MW$JJ8;z$N3+;O0LCV(B
				 * (-1 $B$J$i=q$-D>$9I,MW$J$7(B)
				 */
    DisplayFragment *fragments;	/* $BI=<(%U%i%0%a%s%H(B */
} DisplaySegment;


/*
 *	over-the-spot conversion control widget data structure
 */

typedef struct {
    int empty;
} OverTheSpotConversionClassPart;

typedef struct _OverTheSpotConversionClassRec {
    CoreClassPart	core_class;
    CompositeClassPart	composite_class;
    ShellClassPart	shell_class;
    WMShellClassPart	wm_shell_class;
    VendorShellClassPart	vendor_shell_class;
    TransientShellClassPart	transient_shell_class;
    ConversionControlClassPart	conversionControl_class;
    OverTheSpotConversionClassPart overTheSpotConversion_class;
} OverTheSpotConversionClassRec;

extern OverTheSpotConversionClassRec overTheSpotConversionClassRec;

typedef struct {
    /* resources */
    Position	spotx, spoty;
    Boolean	spotforwarding;
    Dimension	linespacing;
    XRectangle	clientarea;
    ModeLocation	modelocation;
    Boolean	shrinkwindow;
    Boolean	ignorestatusarea;
    Boolean	borderforeground;	/* force the border color to be same
					 * as foreground color
					 */
    Boolean	useoverride;		/* use overrideShell widget for the
					 * mode displaying shell, instead
					 * of the default transient shell
					 */
    /* private state */
    Atom	wm_state;	/* WM_STATE atom */
    Widget	displayobj;
    Widget	selectionshell;
    Widget	selectionwidget;
    Widget	selectiondisplayobj;
    Widget	auxshell;
    Widget	auxwidget;
    Widget	auxdisplayobj;
    Widget	modeshell;
    Widget	modewidget;
    Widget	modedisplayobj;
    Boolean	modelocationspecified;
    Widget	modeshell_fix, modewidget_fix, modedisplayobj_fix;
    Widget	modeshell_float, modewidget_float, modedisplayobj_float;
    Colormap	colormap;
    Pixel	background;
    Cursor	canvascursor;
    Position	focusoffsetx;
    Position	focusoffsety;
    TextCanvas	*canvaslist;
    TextCanvas	*overflowcanvas;
    Position	overflowoffset;
    DisplayLocation	cursorlocation;
    Boolean	cursorvisible;
    DisplaySegment	*dispsegments;
    Cardinal	numsegments;
    Cardinal	dispsegmentsize;
    ICString	*candlist;
    Cardinal	numcands;
    Boolean	selectionpoppedup;
    Boolean	auxpoppedup;
    Position	ascent;
    Dimension	lineheight;
    Dimension	saved_bw;
} OverTheSpotConversionPart;

typedef struct _OverTheSpotConversionRec {
    CorePart		core;
    CompositePart	composite;
    ShellPart		shell;
    WMShellPart		wm;
    VendorShellPart	vendor;
    TransientShellPart	transient;	
    ConversionControlPart	ccontrol;
    OverTheSpotConversionPart	overthespot;
} OverTheSpotConversionRec;

#endif