author | Alan Coopersmith <Alan.Coopersmith@Sun.COM> |
Thu, 18 Feb 2010 16:03:08 -0800 | |
changeset 907 | 3c35d611cdaa |
parent 509 | 9469d4c6010a |
child 919 | 425233ae7236 |
permissions | -rw-r--r-- |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
1 |
/*- |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
2 |
* xcolor.c - X11 client to display all colors in current colormap. |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
3 |
* |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
4 |
* Copyright 1995 Sun Microsystems, Inc. All rights reserved. |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
5 |
* |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
6 |
* Permission is hereby granted, free of charge, to any person obtaining a |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
7 |
* copy of this software and associated documentation files (the |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
8 |
* "Software"), to deal in the Software without restriction, including |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
9 |
* without limitation the rights to use, copy, modify, merge, publish, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
10 |
* distribute, and/or sell copies of the Software, and to permit persons |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
11 |
* to whom the Software is furnished to do so, provided that the above |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
12 |
* copyright notice(s) and this permission notice appear in all copies of |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
13 |
* the Software and that both the above copyright notice(s) and this |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
14 |
* permission notice appear in supporting documentation. |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
15 |
* |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
16 |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
17 |
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
18 |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
19 |
* OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
20 |
* HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
21 |
* INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
22 |
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
23 |
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
24 |
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
25 |
* |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
26 |
* Except as contained in this notice, the name of a copyright holder |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
27 |
* shall not be used in advertising or otherwise to promote the sale, use |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
28 |
* or other dealings in this Software without prior written authorization |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
29 |
* of the copyright holder. |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
30 |
* |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
31 |
* Author: Patrick J. Naughton |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
32 |
* [email protected] |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
33 |
*/ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
34 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
35 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
36 |
#include <stdio.h> |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
37 |
#include <math.h> |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
38 |
#include <X11/X.h> |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
39 |
#include <X11/Xos.h> |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
40 |
#include <X11/Xlib.h> |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
41 |
#include <X11/Xutil.h> |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
42 |
#include <X11/keysym.h> |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
43 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
44 |
#define DEFX 256 |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
45 |
#define DEFY 256 |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
46 |
#define DEFW 128 |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
47 |
#define DEFH 128 |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
48 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
49 |
#define ICON_WIDTH 48 |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
50 |
#define ICON_HEIGHT 48 |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
51 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
52 |
Display *dsp = NULL; /* current display (must be inited) */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
53 |
int screen; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
54 |
Visual *visual; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
55 |
Window win; /* window used to cover screen */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
56 |
Window icon; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
57 |
GC gc; /* graphics context */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
58 |
int height = 0, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
59 |
width = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
60 |
Colormap cmap; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
61 |
char *pname; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
62 |
Atom ATOM_WM_PROTOCOLS; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
63 |
Atom ATOM_WM_DELETE_WINDOW; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
64 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
65 |
int cmap_size; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
66 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
67 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
68 |
void |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
69 |
error(s1, s2) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
70 |
char *s1, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
71 |
*s2; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
72 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
73 |
fprintf(stderr, s1, pname, s2); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
74 |
exit(1); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
75 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
76 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
77 |
dumpCmap() |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
78 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
79 |
register int i; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
80 |
XColor color[256]; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
81 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
82 |
for (i = 0; i < 256; i++) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
83 |
color[i].pixel = i; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
84 |
XQueryColors(dsp, DefaultColormap(dsp, screen), color, 256); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
85 |
for (i = 0; i < 256; i++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
86 |
printf("/name%02x %3d %3d %3d RGBcolor def\n", |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
87 |
i, color[i].red >> 8, color[i].green >> 8, color[i].blue >> 8); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
88 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
89 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
90 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
91 |
redisplay_indexed(window) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
92 |
Window window; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
93 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
94 |
int max; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
95 |
register int i, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
96 |
j; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
97 |
register float fw; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
98 |
register float fh; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
99 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
100 |
switch (cmap_size) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
101 |
case 2: max = 2; break; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
102 |
case 16: max = 4; break; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
103 |
case 256: max = 16; break; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
104 |
default: max = (int)sqrt((double)cmap_size); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
105 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
106 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
107 |
if (window == win) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
108 |
fw = (float) width / (float)max; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
109 |
fh = (float) height / (float)max; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
110 |
} else { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
111 |
fw = (float) ICON_WIDTH / (float)max; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
112 |
fh = (float) ICON_HEIGHT / (float)max; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
113 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
114 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
115 |
for (i = 0; i < max; i++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
116 |
register int y = (int) (i * fh); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
117 |
register int h = (i + 1) * fh - y; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
118 |
for (j = 0; j < max; j++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
119 |
register int x = (int) (j * fw); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
120 |
register int w = (j + 1) * fw - x; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
121 |
XSetForeground(dsp, gc, i * max + j); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
122 |
XFillRectangle(dsp, window, gc, x, y, w, h); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
123 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
124 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
125 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
126 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
127 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
128 |
redisplay_direct(window) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
129 |
Window window; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
130 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
131 |
register int i, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
132 |
j, k; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
133 |
register float fw; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
134 |
register float fh; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
135 |
static int roffset, goffset, boffset; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
136 |
static int got_offsets = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
137 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
138 |
if (window == win) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
139 |
fw = (float) width / 16.0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
140 |
fh = (float) height / (3 * 16.0); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
141 |
} else { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
142 |
fw = (float) ICON_WIDTH / 16.0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
143 |
fh = (float) ICON_HEIGHT / (3 * 16.0); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
144 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
145 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
146 |
if (!got_offsets) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
147 |
got_offsets = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
148 |
roffset = ffs(visual->red_mask)-1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
149 |
goffset = ffs(visual->green_mask)-1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
150 |
boffset = ffs(visual->blue_mask)-1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
151 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
152 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
153 |
/* red channel */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
154 |
k = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
155 |
for (i = 0; i < 16; i++, k++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
156 |
register int y = (int) (k * fh); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
157 |
register int h = (k + 1) * fh - y; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
158 |
for (j = 0; j < 16; j++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
159 |
register int x = (int) (j * fw); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
160 |
register int w = (j + 1) * fw - x; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
161 |
XSetForeground(dsp, gc, (i * 16 + j)<<roffset); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
162 |
XFillRectangle(dsp, window, gc, x, y, w, h); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
163 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
164 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
165 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
166 |
/* green channel */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
167 |
for (i = 0; i < 16; i++, k++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
168 |
register int y = (int) (k * fh); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
169 |
register int h = (k + 1) * fh - y; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
170 |
for (j = 0; j < 16; j++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
171 |
register int x = (int) (j * fw); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
172 |
register int w = (j + 1) * fw - x; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
173 |
XSetForeground(dsp, gc, (i * 16 + j)<<goffset); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
174 |
XFillRectangle(dsp, window, gc, x, y, w, h); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
175 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
176 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
177 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
178 |
/* blue channel */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
179 |
for (i = 0; i < 16; i++, k++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
180 |
register int y = (int) (k * fh); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
181 |
register int h = (k + 1) * fh - y; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
182 |
for (j = 0; j < 16; j++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
183 |
register int x = (int) (j * fw); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
184 |
register int w = (j + 1) * fw - x; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
185 |
XSetForeground(dsp, gc, (i * 16 + j)<<boffset); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
186 |
XFillRectangle(dsp, window, gc, x, y, w, h); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
187 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
188 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
189 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
190 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
191 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
192 |
redisplay (w) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
193 |
Window w; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
194 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
195 |
if (visual->class == TrueColor || visual->class == DirectColor) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
196 |
redisplay_direct(w); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
197 |
else |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
198 |
redisplay_indexed(w); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
199 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
200 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
201 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
202 |
HandleEvents() |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
203 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
204 |
XEvent event; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
205 |
XConfigureEvent *xce = (XConfigureEvent *) & event; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
206 |
XKeyEvent *xke = (XKeyEvent *) & event; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
207 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
208 |
while (1) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
209 |
XNextEvent(dsp, &event); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
210 |
switch (event.type) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
211 |
case Expose: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
212 |
redisplay(event.xexpose.window); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
213 |
continue; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
214 |
case GraphicsExpose: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
215 |
case NoExpose: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
216 |
case MapNotify: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
217 |
case UnmapNotify: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
218 |
continue; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
219 |
case ConfigureNotify: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
220 |
if ((height == xce->height) && (width == xce->width)) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
221 |
continue; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
222 |
height = xce->height; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
223 |
width = xce->width; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
224 |
redisplay(event.xconfigure.window); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
225 |
continue; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
226 |
case KeyPress: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
227 |
switch (XLookupKeysym(xke, 0)) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
228 |
case XK_Escape: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
229 |
return; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
230 |
default: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
231 |
continue; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
232 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
233 |
case ClientMessage: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
234 |
if (event.xclient.message_type == ATOM_WM_PROTOCOLS && |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
235 |
event.xclient.format == 32 && |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
236 |
event.xclient.data.l[0] == ATOM_WM_DELETE_WINDOW) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
237 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
238 |
return; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
239 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
240 |
continue; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
241 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
242 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
243 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
244 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
245 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
246 |
main(argc, argv) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
247 |
int argc; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
248 |
char *argv[]; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
249 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
250 |
XSetWindowAttributes xswa; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
251 |
XGCValues xgcv; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
252 |
XSizeHints size_hints; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
253 |
XWMHints wmhints; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
254 |
int i; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
255 |
int geomStat; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
256 |
char *geom = NULL; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
257 |
char *displayName = NULL; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
258 |
Status stat; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
259 |
int dump = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
260 |
int nobw = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
261 |
int half = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
262 |
int install = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
263 |
int mask; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
264 |
int useiconwin = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
265 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
266 |
if (getenv("_SYNC")) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
267 |
extern int _Xdebug; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
268 |
_Xdebug = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
269 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
270 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
271 |
pname = argv[0]; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
272 |
for (i = 1; i < argc; i++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
273 |
if (!strcmp(argv[i], "-geometry")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
274 |
geom = argv[++i]; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
275 |
else if (!strcmp(argv[i], "-display")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
276 |
displayName = argv[++i]; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
277 |
else if (!strcmp(argv[i], "-dump")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
278 |
dump = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
279 |
else if (!strcmp(argv[i], "-nobw")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
280 |
nobw = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
281 |
else if (!strcmp(argv[i], "-half")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
282 |
half = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
283 |
else if (!strcmp(argv[i], "-noinst")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
284 |
install = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
285 |
else if (!strcmp(argv[i], "-iconwin")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
286 |
useiconwin = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
287 |
else |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
288 |
error("usage: %s [-display dpystr] [-geometry geomstr]\n\ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
289 |
\t[-dump] [-nobw] [-half] [-noinst] [-iconwin]\n", NULL); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
290 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
291 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
292 |
/* SUNSOFT_BUYBACK |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
293 |
if (!(dsp = XOpenDisplay(displayName))) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
294 |
error("%s: unable to open display, %s.\n", displayName); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
295 |
**********/ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
296 |
if (!(dsp = XOpenDisplay(displayName))) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
297 |
if (displayName) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
298 |
error("%s: unable to open display, %s.\n", displayName); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
299 |
else |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
300 |
error("unable to open display\n"); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
301 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
302 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
303 |
screen = DefaultScreen(dsp); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
304 |
visual = DefaultVisualOfScreen(DefaultScreenOfDisplay(dsp)); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
305 |
cmap_size = visual->map_entries; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
306 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
307 |
ATOM_WM_PROTOCOLS = XInternAtom(dsp, "WM_PROTOCOLS", False); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
308 |
ATOM_WM_DELETE_WINDOW = XInternAtom(dsp, "WM_DELETE_WINDOW", False); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
309 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
310 |
if (dump) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
311 |
dumpCmap(); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
312 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
313 |
if (install) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
314 |
stat = XCreateHSBColormap(dsp, screen, &cmap, half |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
315 |
? (cmap_size>>1) : cmap_size, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
316 |
0.0, 1.0, 1.0, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
317 |
1.0, 1.0, 1.0, !nobw, &visual); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
318 |
if (stat != Success) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
319 |
error("%s: unable create colormap (%d).\n", stat); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
320 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
321 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
322 |
size_hints.x = DEFX; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
323 |
size_hints.y = DEFY; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
324 |
size_hints.width = DEFW; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
325 |
size_hints.height = DEFH; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
326 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
327 |
size_hints.flags = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
328 |
if (geom) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
329 |
geomStat = XParseGeometry(geom, &(size_hints.x), |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
330 |
&(size_hints.y), |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
331 |
(unsigned int *) &(size_hints.width), |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
332 |
(unsigned int *) &(size_hints.height)); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
333 |
if (geomStat & (XValue | YValue)) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
334 |
size_hints.flags |= USPosition; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
335 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
336 |
if (geomStat & (WidthValue | HeightValue)) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
337 |
size_hints.flags |= USSize; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
338 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
339 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
340 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
341 |
width = size_hints.width; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
342 |
height = size_hints.height; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
343 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
344 |
xswa.event_mask = ExposureMask | KeyPressMask | StructureNotifyMask; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
345 |
mask = CWEventMask; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
346 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
347 |
if (install) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
348 |
xswa.colormap = cmap; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
349 |
mask |= CWColormap; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
350 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
351 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
352 |
win = XCreateWindow( |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
353 |
dsp, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
354 |
DefaultRootWindow(dsp), |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
355 |
size_hints.x, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
356 |
size_hints.y, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
357 |
size_hints.width, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
358 |
size_hints.height, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
359 |
1, /* borderwidth */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
360 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
361 |
DefaultDepth(dsp, screen), /* depth */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
362 |
InputOutput, /* class */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
363 |
visual, /* visual */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
364 |
mask, /* window attribute mask */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
365 |
&xswa /* the attributes */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
366 |
); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
367 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
368 |
XSetStandardProperties(dsp, win, " XColor ", " XCOLOR ", |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
369 |
NULL, argv, argc, &size_hints); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
370 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
371 |
wmhints.flags = InputHint; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
372 |
wmhints.input = True; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
373 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
374 |
if (useiconwin) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
375 |
xswa.event_mask = ExposureMask; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
376 |
mask = CWEventMask; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
377 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
378 |
if (install) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
379 |
xswa.colormap = cmap; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
380 |
mask |= CWColormap; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
381 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
382 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
383 |
icon = XCreateWindow(dsp, DefaultRootWindow(dsp), |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
384 |
0, 0, ICON_WIDTH, ICON_HEIGHT, 0, DefaultDepth(dsp, screen), |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
385 |
InputOutput, visual, mask, &xswa); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
386 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
387 |
wmhints.flags |= IconWindowHint; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
388 |
wmhints.icon_window = icon; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
389 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
390 |
if (install) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
391 |
Window cmapwins[2]; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
392 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
393 |
cmapwins[0] = icon; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
394 |
cmapwins[1] = win; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
395 |
XSetWMColormapWindows(dsp, win, cmapwins, 2); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
396 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
397 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
398 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
399 |
XSetWMHints(dsp, win, &wmhints); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
400 |
XSetWMProtocols(dsp, win, &ATOM_WM_DELETE_WINDOW, 1); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
401 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
402 |
xgcv.foreground = BlackPixel(dsp, screen); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
403 |
xgcv.background = WhitePixel(dsp, screen); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
404 |
gc = XCreateGC(dsp, win, GCForeground | GCBackground, &xgcv); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
405 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
406 |
XMapWindow(dsp, win); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
407 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
408 |
HandleEvents(); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
409 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
410 |
XUnmapWindow(dsp, win); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
411 |
XDestroyWindow(dsp, win); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
412 |
XFlush(dsp); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
413 |
XCloseDisplay(dsp); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
414 |
exit(0); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
415 |
} |