0
|
1 /*
|
|
2 * $Id: chkpsset.c,v 1.2 2001/06/14 18:16:11 ura Exp $
|
|
3 */
|
|
4
|
|
5 /*
|
|
6 * FreeWnn is a network-extensible Kana-to-Kanji conversion system.
|
|
7 * This file is part of FreeWnn.
|
|
8 *
|
|
9 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999
|
|
10 *
|
|
11 * Author: OMRON SOFTWARE Co., Ltd. <freewnn@rd.kyoto.omronsoft.co.jp>
|
|
12 *
|
|
13 * This program is free software; you can redistribute it and/or modify
|
|
14 * it under the terms of the GNU General Public License as published by
|
|
15 * the Free Software Foundation; either version 2, or (at your option)
|
|
16 * any later version.
|
|
17 *
|
|
18 * This program is distributed in the hope that it will be useful,
|
|
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
21 * GNU General Public License for more details.
|
|
22 *
|
|
23 * You should have received a copy of the GNU General Public License
|
|
24 * along with GNU Emacs; see the file COPYING. If not, write to the
|
|
25 * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
26 *
|
|
27 * Commentary:
|
|
28 *
|
|
29 * Change log:
|
|
30 *
|
|
31 * Last modified date: 8,Feb.1999
|
|
32 *
|
|
33 * Code:
|
|
34 *
|
|
35 */
|
|
36
|
|
37 /*
|
|
38 * X11R5 Input Method Test Program
|
|
39 * chkpsset.c v 1.0 Wed Mar 13 11:16:00 JST 1991
|
|
40 */
|
|
41
|
|
42 /*
|
|
43 * Author: Takashi Inoue OMRON Corporation
|
|
44 * takashi@ari.ncl.omron.co.jp
|
|
45 */
|
|
46
|
|
47 #include <stdio.h>
|
|
48
|
|
49 #include "exvalue.h"
|
|
50 #include "func.h"
|
|
51
|
|
52 /* *INDENT-OFF* */
|
|
53 FLAG
|
|
54 sarea (ic, mode) /* Set AREA */
|
|
55 XIC ic;
|
|
56 FLAG mode;
|
|
57 /* *INDENT-ON* */
|
|
58 {
|
|
59 XRectangle *gparea, *gsarea;
|
|
60 VALUABLE *area[CHKAREA];
|
|
61 XVaNestedList spe_nelist, sst_nelist;
|
|
62 XVaNestedList gpe_nelist, gst_nelist;
|
|
63 int cnt, sum;
|
|
64
|
|
65 if ((mode == ONSP) || (mode == ROOTW))
|
|
66 {
|
|
67 prerrfunc ();
|
|
68 return (COMP);
|
|
69 }
|
|
70 else
|
|
71 {
|
|
72 cls (prdisp); /* clear screen */
|
|
73 /* create nestedlist for set values */
|
|
74 prstatus ("Creating NestedList for set values \"Area\"...");
|
|
75 if (usta.area.width == ST_WIDTH)
|
|
76 {
|
|
77 usta.area.width += WIN_ITV;
|
|
78 }
|
|
79 else
|
|
80 {
|
|
81 usta.area.width -= WIN_ITV;
|
|
82 }
|
|
83 if (mode == OVERSP)
|
|
84 {
|
|
85 upea.area.width = (upea.area.width == WPOVER1) ? WPOVER2 : WPOVER1;
|
|
86 }
|
|
87 else if (mode == OFFSP)
|
|
88 {
|
|
89 upea.area.x = usta.area.width + 2 * WIN_ITV;
|
|
90 }
|
|
91 spe_nelist = XVaCreateNestedList (DUMMY, XNArea, &upea.area, NULL);
|
|
92 sst_nelist = XVaCreateNestedList (DUMMY, XNArea, &usta.area, NULL);
|
|
93 prstatus ("done.");
|
|
94 /* test of XSetICValues */
|
|
95 prstatus ("Test of XSetICValues() for change \"Area\"...");
|
|
96 XSetICValues (ic, XNPreeditAttributes, spe_nelist, XNStatusAttributes, sst_nelist, NULL);
|
|
97 prstatus ("done.");
|
|
98 /* create nestedlist for get values */
|
|
99 prstatus ("Creating NestedList for get values \"Area\" ...");
|
|
100 gpe_nelist = XVaCreateNestedList (DUMMY, XNArea, &gparea, NULL);
|
|
101 gst_nelist = XVaCreateNestedList (DUMMY, XNArea, &gsarea, NULL);
|
|
102 prstatus ("done.");
|
|
103 /* test of XGetICValues */
|
|
104 prstatus ("Test of XGetICValues() \"Area\"...");
|
|
105 XGetICValues (ic, XNPreeditAttributes, gpe_nelist, XNStatusAttributes, gst_nelist, NULL);
|
|
106 prstatus ("done.");
|
|
107 /* verify values */
|
|
108 sum = 0;
|
|
109 area[0] = mkstruct (PAX, DEC, upea.area.x, gparea->x);
|
|
110 area[1] = mkstruct (PAY, DEC, upea.area.y, gparea->y);
|
|
111 area[2] = mkstruct (PAW, DEC, upea.area.width, gparea->width);
|
|
112 area[3] = mkstruct (PAH, DEC, upea.area.height, gparea->height);
|
|
113 area[4] = mkstruct (SAX, DEC, usta.area.x, gsarea->x);
|
|
114 area[5] = mkstruct (SAY, DEC, usta.area.y, gsarea->y);
|
|
115 area[6] = mkstruct (SAW, DEC, usta.area.width, gsarea->width);
|
|
116 area[7] = mkstruct (SAH, DEC, usta.area.height, gsarea->height);
|
|
117 for (cnt = 0; cnt < CHKAREA; cnt++)
|
|
118 {
|
|
119 sum += verval (area[cnt]);
|
|
120 }
|
|
121 /* output of results */
|
|
122 cls (prdisp);
|
|
123 prveres (sum);
|
|
124 if (sum != NOERR)
|
|
125 {
|
|
126 prprint ("Test of XSetICValues() \"Preedit/Status Area\" is failed.\n");
|
|
127 prprint ("Preedit/Status Area has not changed.\n\n");
|
|
128 prprint ("I will destroy IC and continue test.\n");
|
|
129 prprint ("Check log file after this test.\n\n");
|
|
130 fprintf (icfp, "...Test of XSetICValues() \"Preedit/Status Area\" is failed.\n\n");
|
|
131 XFree ((char *) spe_nelist);
|
|
132 XFree ((char *) sst_nelist);
|
|
133 XFree ((char *) gpe_nelist);
|
|
134 XFree ((char *) gst_nelist);
|
|
135 XFree ((XRectangle *) gparea);
|
|
136 XFree ((XRectangle *) gsarea);
|
|
137 prpng ();
|
|
138 return (DIC);
|
|
139 }
|
|
140 prprint ("Test of XSetICValues() \"Preedit/Status Area\" is succeeded.\n");
|
|
141 prprint ("Preedit/Status Area has changed.\n\n");
|
|
142 prprint ("Check on your own eyes and move next test.\n");
|
|
143 fprintf (icfp, "...Test of XSetICValues() \"Preedit/Status Area\" is succeeded.\n\n");
|
|
144 XFree ((char *) spe_nelist);
|
|
145 XFree ((char *) sst_nelist);
|
|
146 XFree ((char *) gpe_nelist);
|
|
147 XFree ((char *) gst_nelist);
|
|
148 XFree ((XRectangle *) gparea);
|
|
149 XFree ((XRectangle *) gsarea);
|
|
150 prpok ();
|
|
151 return (COMP);
|
|
152 }
|
|
153 }
|
|
154
|
|
155 /* *INDENT-OFF* */
|
|
156 FLAG
|
|
157 sneeded (ic, mode) /* Set areaNEEDED */
|
|
158 XIC ic;
|
|
159 FLAG mode;
|
|
160 /* *INDENT-ON* */
|
|
161
|
|
162 {
|
|
163 XRectangle *gpneeded, *gsneeded;
|
|
164 XRectangle wparea, wsarea, *gparea, *gsarea;
|
|
165 VALUABLE *needed[CHKNEEDED];
|
|
166 VALUABLE *area[CHKAREA];
|
|
167 XVaNestedList spe_nelist, sst_nelist;
|
|
168 XVaNestedList gpe_nelist, gst_nelist;
|
|
169 int cnt, sum;
|
|
170
|
|
171 if (mode != OFFSP)
|
|
172 {
|
|
173 prerrfunc ();
|
|
174 return (COMP);
|
|
175 }
|
|
176 else
|
|
177 {
|
|
178 cls (prdisp); /* clear screen */
|
|
179 /* create nestedlist for set values */
|
|
180 prstatus ("Creating NestedList for set values \"AreaNeeded\"...");
|
|
181 upea.needed.width = 100;
|
|
182 upea.needed.height = 100;
|
|
183 usta.needed.width = 100;
|
|
184 usta.needed.height = 100;
|
|
185 spe_nelist = XVaCreateNestedList (DUMMY, XNAreaNeeded, &upea.needed, NULL);
|
|
186 sst_nelist = XVaCreateNestedList (DUMMY, XNAreaNeeded, &upea.needed, NULL);
|
|
187 prstatus ("done.");
|
|
188 /* test of XSetICValues */
|
|
189 prstatus ("Test of XSetICValues() for change \"AreaNeeded\"...");
|
|
190 XSetICValues (ic, XNPreeditAttributes, spe_nelist, XNStatusAttributes, sst_nelist, NULL);
|
|
191 prstatus ("done.");
|
|
192 /* create nestedlist for get values */
|
|
193 prstatus ("Creating NestedList for get values \"AreaNeeded\" ...");
|
|
194 gpe_nelist = XVaCreateNestedList (DUMMY, XNAreaNeeded, &gpneeded, NULL);
|
|
195 gst_nelist = XVaCreateNestedList (DUMMY, XNAreaNeeded, &gsneeded, NULL);
|
|
196 prstatus ("done.");
|
|
197 /* test of XGetICValues */
|
|
198 prstatus ("Test of XGetICValues() \"AreaNeeded\"...");
|
|
199 XGetICValues (ic, XNPreeditAttributes, gpe_nelist, XNStatusAttributes, gst_nelist, NULL);
|
|
200 prstatus ("done.");
|
|
201 /* verify values */
|
|
202 needed[0] = mkstruct (PNW, DEC, upea.needed.width, gpneeded->width);
|
|
203 needed[1] = mkstruct (PNH, DEC, upea.needed.height, gpneeded->height);
|
|
204 needed[2] = mkstruct (SNW, DEC, usta.needed.width, gsneeded->width);
|
|
205 needed[3] = mkstruct (SNH, DEC, usta.needed.height, gsneeded->height);
|
|
206 for (cnt = 0; cnt < CHKNEEDED; cnt++)
|
|
207 {
|
|
208 verval (needed[cnt]);
|
|
209 }
|
|
210 wparea = upea.area;
|
|
211 wsarea = usta.area;
|
|
212 upea.area.width = gpneeded->width;
|
|
213 upea.area.height = gpneeded->height;
|
|
214 usta.area.width = gsneeded->width;
|
|
215 usta.area.height = gsneeded->height;
|
|
216 spe_nelist = XVaCreateNestedList (DUMMY, XNArea, &upea.area, NULL);
|
|
217 sst_nelist = XVaCreateNestedList (DUMMY, XNArea, &usta.area, NULL);
|
|
218 prstatus ("done.");
|
|
219 /* test of XSetICValues */
|
|
220 prstatus ("Test of XSetICValues() for change \"Area\"...");
|
|
221 XSetICValues (ic, XNPreeditAttributes, spe_nelist, XNStatusAttributes, sst_nelist, NULL);
|
|
222 prstatus ("done.");
|
|
223 /* create nestedlist for get values */
|
|
224 prstatus ("Creating NestedList for get values \"Area\" ...");
|
|
225 gpe_nelist = XVaCreateNestedList (DUMMY, XNArea, &gparea, NULL);
|
|
226 gst_nelist = XVaCreateNestedList (DUMMY, XNArea, &gsarea, NULL);
|
|
227 prstatus ("done.");
|
|
228 /* test of XGetICValues */
|
|
229 prstatus ("Test of XGetICValues() \"Area\"...");
|
|
230 XGetICValues (ic, XNPreeditAttributes, gpe_nelist, XNStatusAttributes, gst_nelist, NULL);
|
|
231 prstatus ("done.");
|
|
232 /* verify values */
|
|
233 sum = 0;
|
|
234 area[0] = mkstruct (PAX, DEC, upea.area.x, gparea->x);
|
|
235 area[1] = mkstruct (PAY, DEC, upea.area.y, gparea->y);
|
|
236 area[2] = mkstruct (PAW, DEC, upea.area.width, gparea->width);
|
|
237 area[3] = mkstruct (PAH, DEC, upea.area.height, gparea->height);
|
|
238 area[4] = mkstruct (SAX, DEC, usta.area.x, gsarea->x);
|
|
239 area[5] = mkstruct (SAY, DEC, usta.area.y, gsarea->y);
|
|
240 area[6] = mkstruct (SAW, DEC, usta.area.width, gsarea->width);
|
|
241 area[7] = mkstruct (SAH, DEC, usta.area.height, gsarea->height);
|
|
242 for (cnt = 0; cnt < CHKAREA; cnt++)
|
|
243 {
|
|
244 sum += verval (area[cnt]);
|
|
245 }
|
|
246 /* output of results */
|
|
247 cls (prdisp);
|
|
248 prveres (sum);
|
|
249 if (sum != NOERR)
|
|
250 {
|
|
251 prprint ("Test of XSetICValues() \"Preedit/Status AreaNeeded\" is failed.\n");
|
|
252 prprint ("Preedit/Status Area has not changed, ");
|
|
253 prprint ("but I will continue test.\n\n");
|
|
254 prprint ("Check log file after this test.\n\n");
|
|
255 fprintf (icfp, "...Test of XSetICValues() \"Preedit/Status AreaNeeded\" is failed.\n\n");
|
|
256 }
|
|
257 else
|
|
258 {
|
|
259 prprint ("Test of XSetICValues() \"Preedit/Status AreaNeeded\" is succeeded.\n");
|
|
260 prprint ("Preedit/Status Area has changed.\n\n");
|
|
261 prprint ("Check on your own eyes and move next test.\n");
|
|
262 prprint ("Check log file after this test.\n\n");
|
|
263 fprintf (icfp, "...Test of XSetICValues() \"Preedit/Status AreaNeeded\" is succeeded.\n\n");
|
|
264 }
|
|
265 upea.area = wparea;
|
|
266 usta.area = wsarea;
|
|
267 spe_nelist = XVaCreateNestedList (DUMMY, XNArea, &upea.area, NULL);
|
|
268 sst_nelist = XVaCreateNestedList (DUMMY, XNArea, &usta.area, NULL);
|
|
269 prstatus ("done.");
|
|
270 /* test of XSetICValues */
|
|
271 prstatus ("Test of XSetICValues() for change \"Area\"...");
|
|
272 XSetICValues (ic, XNPreeditAttributes, spe_nelist, XNStatusAttributes, sst_nelist, NULL);
|
|
273 prstatus ("done.");
|
|
274 XFree ((char *) spe_nelist);
|
|
275 XFree ((char *) sst_nelist);
|
|
276 XFree ((char *) gpe_nelist);
|
|
277 XFree ((char *) gst_nelist);
|
|
278 XFree ((XRectangle *) gparea);
|
|
279 XFree ((XRectangle *) gsarea);
|
|
280 XFree ((XRectangle *) gpneeded);
|
|
281 XFree ((XRectangle *) gsneeded);
|
|
282 prpok ();
|
|
283 return (COMP);
|
|
284 }
|
|
285 }
|
|
286
|
|
287 /* *INDENT-OFF* */
|
|
288 FLAG
|
|
289 sspot (ic, mode) /* Set SPOTlocation */
|
|
290 XIC ic;
|
|
291 FLAG mode;
|
|
292 /* *INDENT-ON* */
|
|
293
|
|
294 {
|
|
295 XPoint *gspot;
|
|
296 VALUABLE *spot[CHKSPOT];
|
|
297 XVaNestedList spe_nelist;
|
|
298 XVaNestedList gpe_nelist;
|
|
299 int cnt, sum;
|
|
300
|
|
301 if (mode != OVERSP)
|
|
302 {
|
|
303 prerrfunc ();
|
|
304 return (COMP);
|
|
305 }
|
|
306 else
|
|
307 {
|
|
308 cls (prdisp); /* clear screen */
|
|
309 /* create nestedlist for set values */
|
|
310 prstatus ("Creating NestedList for set values \"SpotLocation\"...");
|
|
311 upea.spot.x = (upea.spot.x == XPSL1) ? XPSL2 : XPSL1;
|
|
312 upea.spot.y = YPSL;
|
|
313 spe_nelist = XVaCreateNestedList (DUMMY, XNSpotLocation, &upea.spot, NULL);
|
|
314 prstatus ("done.");
|
|
315 /* test of XSetICValues */
|
|
316 prstatus ("Test of XSetICValues() for change \"SpotLocation\"...");
|
|
317 XSetICValues (ic, XNPreeditAttributes, spe_nelist, NULL);
|
|
318 prstatus ("done.");
|
|
319 /* create nestedlist for get values */
|
|
320 prstatus ("Creating NestedList for get values \"SpotLocation\" ...");
|
|
321 gpe_nelist = XVaCreateNestedList (DUMMY, XNSpotLocation, &gspot, NULL);
|
|
322 prstatus ("done.");
|
|
323 /* test of XGetICValues */
|
|
324 prstatus ("Test of XGetICValues() \"SpotLocation\"...");
|
|
325 XGetICValues (ic, XNPreeditAttributes, gpe_nelist, NULL);
|
|
326 prstatus ("done.");
|
|
327 /* verify values */
|
|
328 sum = 0;
|
|
329 spot[0] = mkstruct (PSLX, DEC, upea.spot.x, gspot->x);
|
|
330 spot[1] = mkstruct (PSLY, DEC, upea.spot.y, gspot->y);
|
|
331 for (cnt = 0; cnt < CHKSPOT; cnt++)
|
|
332 {
|
|
333 sum += verval (spot[cnt]);
|
|
334 }
|
|
335 /* output of results */
|
|
336 cls (prdisp);
|
|
337 prveres (sum);
|
|
338 if (sum != NOERR)
|
|
339 {
|
|
340 prprint ("Test of XSetICValues() \"Preedit SpotLocation\" is failed.\n");
|
|
341 prprint ("Preedit SpotLocation has not changed.\n\n");
|
|
342 prprint ("I will destroy IC and continue test.\n");
|
|
343 prprint ("Check log file after this test.\n\n");
|
|
344 fprintf (icfp, "...Test of XSetICValues() \"Preedit SpotLocation\" is failed.\n\n");
|
|
345 XFree ((char *) spe_nelist);
|
|
346 XFree ((char *) gpe_nelist);
|
|
347 prpng ();
|
|
348 return (DIC);
|
|
349 }
|
|
350 prprint ("Test of XSetICValues() \"Preedit SpotLocation\" is succeeded.\n");
|
|
351 prprint ("Preedit SpotLocation has changed.\n\n");
|
|
352 prprint ("Check on your own eyes and move next test.\n");
|
|
353 fprintf (icfp, "...Test of XSetICValues() \"Preedit SpotLocation\" is succeeded.\n\n");
|
|
354 XFree ((char *) spe_nelist);
|
|
355 XFree ((char *) gpe_nelist);
|
|
356 XFree ((XPoint *) gspot);
|
|
357 prpok ();
|
|
358 return (COMP);
|
|
359 }
|
|
360 }
|
|
361
|
|
362
|
|
363 /* *INDENT-OFF* */
|
|
364 FLAG
|
|
365 scmap (ic, mode) /* Set ColorMAP */
|
|
366 XIC ic;
|
|
367 FLAG mode;
|
|
368 /* *INDENT-ON* */
|
|
369
|
|
370 {
|
|
371 Colormap gpcmap, gscmap;
|
|
372 VALUABLE *colormap[CHKCMAP];
|
|
373 XVaNestedList spe_nelist, sst_nelist;
|
|
374 XVaNestedList gpe_nelist, gst_nelist;
|
|
375 int cnt, sum;
|
|
376
|
|
377 if (mode == ONSP)
|
|
378 {
|
|
379 prerrfunc ();
|
|
380 return (COMP);
|
|
381 }
|
|
382 else
|
|
383 {
|
|
384 cls (prdisp); /* clear screen */
|
|
385 /* create nestedlist for get values */
|
|
386 prstatus ("Creating NestedList for set values \"Colormap\"...");
|
|
387 cmflag = (cmflag == 1) ? 0 : 1;
|
|
388 XSetWindowColormap (dpy, window1.win, cmap[cmflag]);
|
|
389 XSetWindowColormap (dpy, window2.win, cmap[cmflag]);
|
|
390 XSetWindowColormap (dpy, window3.win, cmap[cmflag]);
|
|
391 XSetWindowColormap (dpy, mroot, cmap[cmflag]);
|
|
392 upea.cmap = usta.cmap = cmap[cmflag];
|
|
393 spe_nelist = XVaCreateNestedList (DUMMY, XNColormap, upea.cmap, NULL);
|
|
394 sst_nelist = XVaCreateNestedList (DUMMY, XNColormap, usta.cmap, NULL);
|
|
395 prstatus ("done.");
|
|
396 /* test of XSetICValues */
|
|
397 prstatus ("Test of XSetICValues() for change \"Colormap\"...");
|
|
398 XSetICValues (ic, XNPreeditAttributes, spe_nelist, XNStatusAttributes, sst_nelist, NULL);
|
|
399 prstatus ("done.");
|
|
400 /* create nestedlist for get values */
|
|
401 prstatus ("Creating NestedList for get values \"Colormap\" ...");
|
|
402 gpe_nelist = XVaCreateNestedList (DUMMY, XNColormap, &gpcmap, NULL);
|
|
403 gst_nelist = XVaCreateNestedList (DUMMY, XNColormap, &gscmap, NULL);
|
|
404 prstatus ("done.");
|
|
405 /* test of XGetICValues */
|
|
406 prstatus ("Test of XGetICValues() \"Colormap\"...");
|
|
407 XGetICValues (ic, XNPreeditAttributes, gpe_nelist, XNStatusAttributes, gst_nelist, NULL);
|
|
408 prstatus ("done.");
|
|
409 /* verify values */
|
|
410 sum = 0;
|
|
411 colormap[0] = mkstruct (PCM, HEX, upea.cmap, gpcmap);
|
|
412 colormap[1] = mkstruct (SCM, HEX, usta.cmap, gscmap);
|
|
413 for (cnt = 0; cnt < CHKCMAP; cnt++)
|
|
414 {
|
|
415 sum += verval (colormap[cnt]);
|
|
416 }
|
|
417 /* output of results */
|
|
418 cls (prdisp);
|
|
419 prveres (sum);
|
|
420 if (sum != NOERR)
|
|
421 {
|
|
422 prprint ("Test of XSetICValues() for change \"Preedit/Status Colormap\" is failed.\n");
|
|
423 prprint ("Preedit/Status Colormap has not changed.\n\n");
|
|
424 prprint ("I will destroy IC and continue test.\n");
|
|
425 prprint ("Check log file after this test.\n\n");
|
|
426 fprintf (icfp, "...Test of XSetICValues() for change \"Preedit/Status Cmap\" is failed.\n\n");
|
|
427 XFree ((char *) spe_nelist);
|
|
428 XFree ((char *) sst_nelist);
|
|
429 XFree ((char *) gpe_nelist);
|
|
430 XFree ((char *) gst_nelist);
|
|
431 prpng ();
|
|
432 return (DIC);
|
|
433 }
|
|
434 prprint ("Test of XSetICValues() for change \"Preedit/Status Colormap\" is succeeded.\n");
|
|
435 prprint ("Preedit/Status Colormap has changed.\n\n");
|
|
436 prprint ("Check on your own eyes and move next test.\n");
|
|
437 prprint ("Check log file after this test.\n\n");
|
|
438 fprintf (icfp, "...Test of XSetICValues() for change \"Preedit/Status Colormap\" is succeeded.\n\n");
|
|
439 XFree ((char *) spe_nelist);
|
|
440 XFree ((char *) sst_nelist);
|
|
441 XFree ((char *) gpe_nelist);
|
|
442 XFree ((char *) gst_nelist);
|
|
443 prpok ();
|
|
444 return (COMP);
|
|
445 }
|
|
446 }
|
|
447
|
|
448 /* *INDENT-OFF* */
|
|
449 FLAG
|
|
450 sground (ic, mode) /* Set fore/backGROUND */
|
|
451 XIC ic;
|
|
452 FLAG mode;
|
|
453 /* *INDENT-ON* */
|
|
454
|
|
455 {
|
|
456 u_long gpfg, gpbg, gsfg, gsbg;
|
|
457 VALUABLE *ground[CHKFBGND];
|
|
458 XVaNestedList spe_nelist, sst_nelist;
|
|
459 XVaNestedList gpe_nelist, gst_nelist;
|
|
460 int cnt, sum;
|
|
461 static int i = 0, j = PIX_MAX - 1;
|
|
462
|
|
463 if (mode == ONSP)
|
|
464 {
|
|
465 prerrfunc ();
|
|
466 return (COMP);
|
|
467 }
|
|
468 else
|
|
469 {
|
|
470 cls (prdisp); /* clear screen */
|
|
471 i++, j--;
|
|
472 if (i == PIX_MAX)
|
|
473 {
|
|
474 i = 0;
|
|
475 }
|
|
476 if (j == -1)
|
|
477 {
|
|
478 j = PIX_MAX - 1;
|
|
479 }
|
|
480 upea.fg = pixel[cmflag][j];
|
|
481 upea.bg = pixel[cmflag][i];
|
|
482 usta.fg = pixel[cmflag][i];
|
|
483 usta.bg = pixel[cmflag][j];
|
|
484 /* Create nestedlist for set values */
|
|
485 prstatus ("Creating NestedList for set values \"Fg/Bg\"...");
|
|
486 spe_nelist = XVaCreateNestedList (DUMMY, XNForeground, upea.fg, XNBackground, upea.bg, NULL);
|
|
487 sst_nelist = XVaCreateNestedList (DUMMY, XNForeground, usta.fg, XNBackground, usta.bg, NULL);
|
|
488 prstatus ("done.");
|
|
489 /* test of XSetICValues */
|
|
490 prstatus ("Using XSetICValues() for change \"Fg/Bg\"...");
|
|
491 XSetICValues (ic, XNPreeditAttributes, spe_nelist, XNStatusAttributes, sst_nelist, NULL);
|
|
492 prstatus ("done.");
|
|
493 /* create nestedlist for get values */
|
|
494 prstatus ("Creating NestedList for get values \"Fg/Bg\" ...");
|
|
495 gpe_nelist = XVaCreateNestedList (DUMMY, XNForeground, &gpfg, XNBackground, &gpbg, NULL);
|
|
496 gst_nelist = XVaCreateNestedList (DUMMY, XNForeground, &gsfg, XNBackground, &gsbg, NULL);
|
|
497 prstatus ("done.");
|
|
498 /* test of XGetICValues */
|
|
499 prstatus ("Test of XGetICValues() \"Fg/Bg\"...");
|
|
500 XGetICValues (ic, XNPreeditAttributes, gpe_nelist, XNStatusAttributes, gst_nelist, NULL);
|
|
501 prstatus ("done.");
|
|
502 /* verify values */
|
|
503 sum = 0;
|
|
504 ground[0] = mkstruct (PFG, HEX, upea.fg, gpfg);
|
|
505 ground[1] = mkstruct (PBG, HEX, upea.bg, gpbg);
|
|
506 ground[2] = mkstruct (SFG, HEX, usta.fg, gsfg);
|
|
507 ground[3] = mkstruct (SBG, HEX, usta.bg, gsbg);
|
|
508 for (cnt = 0; cnt < CHKFBGND; cnt++)
|
|
509 {
|
|
510 sum += verval (ground[cnt]);
|
|
511 }
|
|
512 /* output of results */
|
|
513 cls (prdisp);
|
|
514 prveres (sum);
|
|
515 if (sum != NOERR)
|
|
516 {
|
|
517 prprint ("Test of XSetICValues() for change \"Preedit/Status Fg/Bg\" is failed.\n");
|
|
518 prprint ("Preedit/Status Fg/Bg has not changed.\n\n");
|
|
519 prprint ("I will destroy IC and continue test.\n");
|
|
520 prprint ("Check log file after this test.\n\n");
|
|
521 fprintf (icfp, "...Test of XSetICValues() for change \"Preedit/Status Fg/Bg\" is failed.\n\n");
|
|
522 XFree ((char *) spe_nelist);
|
|
523 XFree ((char *) sst_nelist);
|
|
524 XFree ((char *) gpe_nelist);
|
|
525 XFree ((char *) gst_nelist);
|
|
526 prpng ();
|
|
527 return (DIC);
|
|
528 }
|
|
529 prprint ("Test of XSetICValues() for change \"Preedit/Status Fg/Bg\" is succeeded.\n");
|
|
530 prprint ("Preedit/Status Fg/Bg has changed.\n\n");
|
|
531 prprint ("Check on your own eyes and move next test.\n");
|
|
532 prprint ("Check log file after this test.\n\n");
|
|
533 fprintf (icfp, "...Test of XSetICValues() for change \"Preedit/Status Fg/Bg\" is succeeded.\n\n");
|
|
534 XFree ((char *) spe_nelist);
|
|
535 XFree ((char *) sst_nelist);
|
|
536 XFree ((char *) gpe_nelist);
|
|
537 XFree ((char *) gst_nelist);
|
|
538 prpok ();
|
|
539 return (COMP);
|
|
540 }
|
|
541 }
|
|
542
|
|
543 /* *INDENT-OFF* */
|
|
544 FLAG
|
|
545 spixmap (ic, mode) /* Set bg/ PIXMAP */
|
|
546 XIC ic;
|
|
547 FLAG mode;
|
|
548 /* *INDENT-ON* */
|
|
549
|
|
550 {
|
|
551 Pixmap gppix, gspix;
|
|
552 VALUABLE *pixmap[CHKPIX];
|
|
553 XVaNestedList spe_nelist, sst_nelist;
|
|
554 XVaNestedList gpe_nelist, gst_nelist;
|
|
555 int cnt, sum;
|
|
556
|
|
557 if (mode == ONSP)
|
|
558 {
|
|
559 prerrfunc ();
|
|
560 return (COMP);
|
|
561 }
|
|
562 else
|
|
563 {
|
|
564 cls (prdisp); /* clear screen */
|
|
565 /* create nestedlist for get values */
|
|
566 prstatus ("Creating NestedList for set values \"Bg/ Pixmap\"...");
|
|
567 upea.bgpm = (upea.bgpm == pix[0]) ? pix[1] : pix[0];
|
|
568 usta.bgpm = (usta.bgpm == pix[0]) ? pix[1] : pix[0];
|
|
569 spe_nelist = XVaCreateNestedList (DUMMY, XNBackgroundPixmap, upea.bgpm, NULL);
|
|
570 sst_nelist = XVaCreateNestedList (DUMMY, XNBackgroundPixmap, usta.bgpm, NULL);
|
|
571 prstatus ("done.");
|
|
572 /* test of XSetICValues */
|
|
573 prstatus ("Test of XSetICValues() \"Bg/ Pixmap\"...");
|
|
574 XSetICValues (ic, XNPreeditAttributes, spe_nelist, XNStatusAttributes, sst_nelist, NULL);
|
|
575 prstatus ("done.");
|
|
576 /* create nestedlist for get values */
|
|
577 prstatus ("Creating NestedList for get values \"Bg/ Pixmap\" again...");
|
|
578 gpe_nelist = XVaCreateNestedList (DUMMY, XNBackgroundPixmap, &gppix, NULL);
|
|
579 gst_nelist = XVaCreateNestedList (DUMMY, XNBackgroundPixmap, &gspix, NULL);
|
|
580 prstatus ("done.");
|
|
581 /* test of XGetICValues */
|
|
582 prstatus ("Test of XGetICValues() \"Bg/ Pixmap\"...");
|
|
583 XGetICValues (ic, XNPreeditAttributes, gpe_nelist, XNStatusAttributes, gst_nelist, NULL);
|
|
584 prstatus ("done.");
|
|
585 /* verify values */
|
|
586 sum = 0;
|
|
587 pixmap[0] = mkstruct (PBP, HEX, upea.bgpm, gppix);
|
|
588 pixmap[1] = mkstruct (SBP, HEX, usta.bgpm, gspix);
|
|
589 for (cnt = 0; cnt < CHKPIX; cnt++)
|
|
590 {
|
|
591 sum += verval (pixmap[cnt]);
|
|
592 }
|
|
593 /* output of results */
|
|
594 cls (prdisp);
|
|
595 prveres (sum);
|
|
596 if (sum != NOERR)
|
|
597 {
|
|
598 prprint ("Test of XSetICValues() for change \"Preedit/Status Bg/ Pixmap\" is failed.\n");
|
|
599 prprint ("Preedit/Status Bg/ Pixmap has not changed. ");
|
|
600 prprint ("but I will continue test.\n");
|
|
601 prprint ("Check log file after this test.\n\n");
|
|
602 fprintf (icfp, "...Test of XSetICValues() for change \"Preedit/Status Bg/ Pixmap\" is failed.\n\n");
|
|
603 }
|
|
604 else
|
|
605 {
|
|
606 prprint ("Test of XSetICValues() for change \"Preedit/Status Bg/ Pixmap\" is succeeded.\n");
|
|
607 prprint ("Preedit/Status Bg/ Pixmap has changed.\n\n");
|
|
608 prprint ("Check on your own eyes and move next test.\n");
|
|
609 prprint ("Check log file after this test.\n\n");
|
|
610 fprintf (icfp, "...Test of XSetICValues() for change \"Preedit/Status Bg/ Pixmap\" is succeeded.\n\n");
|
|
611 }
|
|
612 XFree ((char *) spe_nelist);
|
|
613 XFree ((char *) sst_nelist);
|
|
614 XFree ((char *) gpe_nelist);
|
|
615 XFree ((char *) gst_nelist);
|
|
616 prpok ();
|
|
617 return (COMP);
|
|
618 }
|
|
619 }
|
|
620
|
|
621 /* *INDENT-OFF* */
|
|
622 FLAG
|
|
623 sfontset (ic, mode) /* Set FONTSET */
|
|
624 XIC ic;
|
|
625 FLAG mode;
|
|
626 /* *INDENT-ON* */
|
|
627
|
|
628 {
|
|
629 XFontSet gpfont, gsfont;
|
|
630 VALUABLE *font[CHKFONT];
|
|
631 XVaNestedList spe_nelist, sst_nelist;
|
|
632 XVaNestedList gpe_nelist, gst_nelist;
|
|
633 int cnt, sum;
|
|
634
|
|
635 if (mode == ONSP)
|
|
636 {
|
|
637 prerrfunc ();
|
|
638 return (COMP);
|
|
639 }
|
|
640 else
|
|
641 {
|
|
642 cls (prdisp); /* clear screen */
|
|
643 /* create nestedlist for get values */
|
|
644 prstatus ("Creating NestedList for set values \"FontSet\"...");
|
|
645 upea.fset = (upea.fset == fontset[0]) ? fontset[1] : fontset[0];
|
|
646 usta.fset = (usta.fset == fontset[0]) ? fontset[1] : fontset[0];
|
|
647 spe_nelist = XVaCreateNestedList (DUMMY, XNFontSet, upea.fset, NULL);
|
|
648 sst_nelist = XVaCreateNestedList (DUMMY, XNFontSet, usta.fset, NULL);
|
|
649 prstatus ("done.");
|
|
650 /* test of XSetICValues */
|
|
651 prstatus ("Test of XSetICValues() for change \"FontSet\"...");
|
|
652 XSetICValues (ic, XNPreeditAttributes, spe_nelist, XNStatusAttributes, sst_nelist, NULL);
|
|
653 prstatus ("done.");
|
|
654 /* create nestedlist for get values */
|
|
655 prstatus ("Creating NestedList for get values \"FontSet\" ...");
|
|
656 gpe_nelist = XVaCreateNestedList (DUMMY, XNFontSet, &gpfont, NULL);
|
|
657 gst_nelist = XVaCreateNestedList (DUMMY, XNFontSet, &gsfont, NULL);
|
|
658 prstatus ("done.");
|
|
659 /* test of XGetICValues */
|
|
660 prstatus ("Test of XGetICValues() \"FontSet\"...");
|
|
661 XGetICValues (ic, XNPreeditAttributes, gpe_nelist, XNStatusAttributes, gst_nelist, NULL);
|
|
662 prstatus ("done.");
|
|
663 /* verify values */
|
|
664 sum = 0;
|
|
665 font[0] = mkstruct (PFS, HEX, upea.fset, gpfont);
|
|
666 font[1] = mkstruct (SFS, HEX, usta.fset, gsfont);
|
|
667 for (cnt = 0; cnt < CHKFONT; cnt++)
|
|
668 {
|
|
669 sum += verval (font[cnt]);
|
|
670 }
|
|
671 /* output of results */
|
|
672 cls (prdisp);
|
|
673 prveres (sum);
|
|
674 if (sum != NOERR)
|
|
675 {
|
|
676 prprint ("Test of XSetICValues() for change \"Preedit/Status FontSet\" is failed.\n");
|
|
677 prprint ("Preedit/Status FontSet has not changed.\n\n");
|
|
678 prprint ("I will destroy IC and continue test.\n");
|
|
679 prprint ("Check log file after this test.\n\n");
|
|
680 fprintf (icfp, "...Test of XSetICValues() for change \"Preedit/Status FontSet\" is failed.\n\n");
|
|
681 XFree ((char *) spe_nelist);
|
|
682 XFree ((char *) sst_nelist);
|
|
683 XFree ((char *) gpe_nelist);
|
|
684 XFree ((char *) gst_nelist);
|
|
685 prpng ();
|
|
686 return (DIC);
|
|
687 }
|
|
688 prprint ("Test of XSetICValues() for change \"Preedit/Status FontSet\" is succeeded.\n");
|
|
689 prprint ("Preedit/Status FontSet has changed.\n\n");
|
|
690 prprint ("Check on your own eyes and move next test.\n");
|
|
691 prprint ("Check log file after this test.\n\n");
|
|
692 fprintf (icfp, "...Test of XSetICValues() for change \"Preedit/Status FontSet\" is succeeded.\n\n");
|
|
693 XFree ((char *) spe_nelist);
|
|
694 XFree ((char *) sst_nelist);
|
|
695 XFree ((char *) gpe_nelist);
|
|
696 XFree ((char *) gst_nelist);
|
|
697 prpok ();
|
|
698 return (COMP);
|
|
699 }
|
|
700 }
|
|
701
|
|
702 /* *INDENT-OFF* */
|
|
703 FLAG
|
|
704 slinespc (ic, mode) /* Set LINESPaCing */
|
|
705 XIC ic;
|
|
706 FLAG mode;
|
|
707 /* *INDENT-ON* */
|
|
708
|
|
709 {
|
|
710 XRectangle *gplspc;
|
|
711 VALUABLE *plspc;
|
|
712 XVaNestedList spe_nelist;
|
|
713 XVaNestedList gpe_nelist;
|
|
714 int sum;
|
|
715
|
|
716 if (mode != OVERSP)
|
|
717 {
|
|
718 prerrfunc ();
|
|
719 return (COMP);
|
|
720 }
|
|
721 else
|
|
722 {
|
|
723 cls (prdisp); /* clear screen */
|
|
724 /* create nestedlist for set values */
|
|
725 prstatus ("Creating NestedList for set values \"LineSpacing\"...");
|
|
726 upea.lspc = (upea.lspc == LSPC1) ? LSPC2 : LSPC1;
|
|
727 spe_nelist = XVaCreateNestedList (DUMMY, XNLineSpace, upea.lspc, NULL);
|
|
728 prstatus ("done.");
|
|
729 /* test of XSetICValues */
|
|
730 prstatus ("Test of XSetICValues() for change \"LineSpacing\"...");
|
|
731 XSetICValues (ic, XNPreeditAttributes, spe_nelist, NULL);
|
|
732 prstatus ("done.");
|
|
733 /* create nestedlist for get values */
|
|
734 prstatus ("Creating NestedList for get values \"LineSpacing\" ...");
|
|
735 gpe_nelist = XVaCreateNestedList (DUMMY, XNLineSpace, &gplspc, NULL);
|
|
736 prstatus ("done.");
|
|
737 /* test of XGetICValues */
|
|
738 prstatus ("Test of XGetICValues() \"LineSpacing\"...");
|
|
739 XGetICValues (ic, XNPreeditAttributes, gpe_nelist, NULL);
|
|
740 prstatus ("done.");
|
|
741 /* verify values */
|
|
742 sum = 0;
|
|
743 plspc = mkstruct (PLS, DEC, upea.lspc, gplspc);
|
|
744 sum += verval (plspc);
|
|
745 /* output of results */
|
|
746 cls (prdisp);
|
|
747 prveres (sum);
|
|
748 if (sum != NOERR)
|
|
749 {
|
|
750 prprint ("Test of XSetICValues() for change \"Preedit LineSpacing\" is failed.\n");
|
|
751 prprint ("Preedit LineSpacing has not changed.\n\n");
|
|
752 prprint ("I will destroy IC and continue test.\n");
|
|
753 prprint ("Check log file after this test.\n\n");
|
|
754 fprintf (icfp, "...Test of XSetICValues() for change \"Preedit LineSpacing\" is faled.\n\n");
|
|
755 XFree ((char *) spe_nelist);
|
|
756 XFree ((char *) gpe_nelist);
|
|
757 prpng ();
|
|
758 return (DIC);
|
|
759 }
|
|
760 prprint ("Test of XSetICValues() for change \"Preedit LineSpacing\" is succeeded.\n");
|
|
761 prprint ("Status LineSpacing has changed.\n\n");
|
|
762 prprint ("Check on your own eyes and move next test.\n");
|
|
763 prprint ("Check log file after this test.\n\n");
|
|
764 fprintf (icfp, "...Test of XSetICValues() for change \"Preedit LineSpacing\" is succeeded.\n\n");
|
|
765 XFree ((char *) spe_nelist);
|
|
766 XFree ((char *) gpe_nelist);
|
|
767 prpok ();
|
|
768 return (COMP);
|
|
769 }
|
|
770 }
|
|
771
|
|
772 /* *INDENT-OFF* */
|
|
773 FLAG
|
|
774 scursor (ic, mode) /* Set CURSOR */
|
|
775 XIC ic;
|
|
776 FLAG mode;
|
|
777 /* *INDENT-ON* */
|
|
778
|
|
779 {
|
|
780 Cursor gpcursor, gscursor;
|
|
781 VALUABLE *cur[CHKCUR];
|
|
782 XVaNestedList spe_nelist, sst_nelist;
|
|
783 XVaNestedList gpe_nelist, gst_nelist;
|
|
784 int cnt, sum;
|
|
785
|
|
786 if (mode == ONSP)
|
|
787 {
|
|
788 prerrfunc ();
|
|
789 return (COMP);
|
|
790 }
|
|
791 else
|
|
792 {
|
|
793 cls (prdisp); /* clear screen */
|
|
794 /* create nestedlist for get values */
|
|
795 prstatus ("Creating NestedList for set values \"Cursor\"...");
|
|
796 upea.cursor = (upea.cursor == cursor[0]) ? cursor[1] : cursor[0];
|
|
797 usta.cursor = (usta.cursor == cursor[0]) ? cursor[1] : cursor[0];
|
|
798 spe_nelist = XVaCreateNestedList (DUMMY, XNCursor, upea.cursor, NULL);
|
|
799 sst_nelist = XVaCreateNestedList (DUMMY, XNCursor, usta.cursor, NULL);
|
|
800 prstatus ("done.");
|
|
801 /* test of XSetICValues */
|
|
802 prstatus ("Test of XSetICValues() for change \"Cursor\"...");
|
|
803 XSetICValues (ic, XNPreeditAttributes, spe_nelist, XNStatusAttributes, sst_nelist, NULL);
|
|
804 prstatus ("done.");
|
|
805 /* create nestedlist for get values */
|
|
806 prstatus ("Creating NestedList for get values \"Cursor\" ...");
|
|
807 gpe_nelist = XVaCreateNestedList (DUMMY, XNCursor, &gpcursor, NULL);
|
|
808 gst_nelist = XVaCreateNestedList (DUMMY, XNCursor, &gscursor, NULL);
|
|
809 prstatus ("done.");
|
|
810 /* test of XGetICValues */
|
|
811 prstatus ("Test of XGetICValues() \"Cursor\"...");
|
|
812 XGetICValues (ic, XNPreeditAttributes, gpe_nelist, XNStatusAttributes, gst_nelist, NULL);
|
|
813 prstatus ("done.");
|
|
814 /* verify values */
|
|
815 sum = 0;
|
|
816 cur[0] = mkstruct (PCU, HEX, upea.cursor, gpcursor);
|
|
817 cur[1] = mkstruct (SCU, HEX, usta.cursor, gscursor);
|
|
818 for (cnt = 0; cnt < CHKCUR; cnt++)
|
|
819 {
|
|
820 sum += verval (cur[cnt]);
|
|
821 }
|
|
822 /* output of results */
|
|
823 cls (prdisp);
|
|
824 prveres (sum);
|
|
825 if (sum != NOERR)
|
|
826 {
|
|
827 prprint ("Test of XSetICValues() for change \"Preedit/Status Cursor\" is failed.\n");
|
|
828 prprint ("Preedit/Status Cursor has not changed, ");
|
|
829 prprint ("but I will continue test.\n\n");
|
|
830 prprint ("Check log file after this test.\n\n");
|
|
831 fprintf (icfp, "...Test of XSetICValues() for change \"Preedit/Status Cursor\" is failed.\n\n");
|
|
832 }
|
|
833 else
|
|
834 {
|
|
835 prprint ("Test of XSetICValues() for change \"Preedit/Status Cursor\" is succeeded.\n");
|
|
836 prprint ("Preedit/Status Cursor has changed.\n\n");
|
|
837 prprint ("Check on your own eyes and move next test.\n");
|
|
838 prprint ("Check log file after this test.\n\n");
|
|
839 fprintf (icfp, "...Test of XSetICValues() for change \"Preedit/Status Cursor\" is succeeded.\n\n");
|
|
840 }
|
|
841 XFree ((char *) spe_nelist);
|
|
842 XFree ((char *) sst_nelist);
|
|
843 XFree ((char *) gpe_nelist);
|
|
844 XFree ((char *) gst_nelist);
|
|
845 prpok ();
|
|
846 return (COMP);
|
|
847 }
|
|
848 }
|