author | Alan Coopersmith <Alan.Coopersmith@Oracle.COM> |
Thu, 29 Dec 2011 19:34:29 -0800 | |
changeset 1233 | 1134c9fd2fe6 |
parent 1131 | 7dc974a70bc8 |
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 |
* |
1131
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
4 |
* Copyright (c) 1989, 2011, Oracle and/or its affiliates. All rights reserved. |
509
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 |
919
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
7 |
* copy of this software and associated documentation files (the "Software"), |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
8 |
* to deal in the Software without restriction, including without limitation |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
9 |
* the rights to use, copy, modify, merge, publish, distribute, sublicense, |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
10 |
* and/or sell copies of the Software, and to permit persons to whom the |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
11 |
* Software is furnished to do so, subject to the following conditions: |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
12 |
* |
919
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
13 |
* The above copyright notice and this permission notice (including the next |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
14 |
* paragraph) shall be included in all copies or substantial portions of the |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
15 |
* Software. |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
16 |
* |
919
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
17 |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
18 |
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
19 |
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
20 |
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
21 |
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
22 |
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
23 |
* DEALINGS IN THE SOFTWARE. |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
24 |
* |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
25 |
* Author: Patrick J. Naughton |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
26 |
* [email protected] |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
27 |
*/ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
28 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
29 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
30 |
#include <stdio.h> |
1131
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
31 |
#include <stdlib.h> |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
32 |
#include <math.h> |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
33 |
#include <X11/X.h> |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
34 |
#include <X11/Xos.h> |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
35 |
#include <X11/Xlib.h> |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
36 |
#include <X11/Xutil.h> |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
37 |
#include <X11/keysym.h> |
1131
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
38 |
#include "xcolor.h" |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
39 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
40 |
#define DEFX 256 |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
41 |
#define DEFY 256 |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
42 |
#define DEFW 128 |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
43 |
#define DEFH 128 |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
44 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
45 |
#define ICON_WIDTH 48 |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
46 |
#define ICON_HEIGHT 48 |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
47 |
|
1233
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
48 |
Display *dsp = NULL; /* current display (must be inited) */ |
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
49 |
static int screen; |
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
50 |
static Visual *visual; |
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
51 |
static Window win; /* window used to cover screen */ |
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
52 |
static GC gc; /* graphics context */ |
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
53 |
static int height = 0, |
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
54 |
width = 0; |
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
55 |
static Colormap cmap; |
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
56 |
static Atom ATOM_WM_PROTOCOLS; |
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
57 |
static Atom ATOM_WM_DELETE_WINDOW; |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
58 |
|
1233
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
59 |
static int cmap_size; |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
60 |
|
1233
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
61 |
#define error(...) do { fprintf(stderr, __VA_ARGS__) ; exit(1); } while (0) |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
62 |
|
1131
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
63 |
static void |
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
64 |
dumpCmap(void) |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
65 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
66 |
register int i; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
67 |
XColor color[256]; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
68 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
69 |
for (i = 0; i < 256; i++) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
70 |
color[i].pixel = i; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
71 |
XQueryColors(dsp, DefaultColormap(dsp, screen), color, 256); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
72 |
for (i = 0; i < 256; i++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
73 |
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
|
74 |
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
|
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 |
|
1131
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
78 |
static void |
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
79 |
redisplay_indexed(Window window) |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
80 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
81 |
int max; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
82 |
register int i, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
83 |
j; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
84 |
register float fw; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
85 |
register float fh; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
86 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
87 |
switch (cmap_size) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
88 |
case 2: max = 2; break; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
89 |
case 16: max = 4; break; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
90 |
case 256: max = 16; break; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
91 |
default: max = (int)sqrt((double)cmap_size); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
92 |
} |
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 |
if (window == win) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
95 |
fw = (float) width / (float)max; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
96 |
fh = (float) height / (float)max; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
97 |
} else { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
98 |
fw = (float) ICON_WIDTH / (float)max; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
99 |
fh = (float) ICON_HEIGHT / (float)max; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
100 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
101 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
102 |
for (i = 0; i < max; i++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
103 |
register int y = (int) (i * fh); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
104 |
register int h = (i + 1) * fh - y; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
105 |
for (j = 0; j < max; j++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
106 |
register int x = (int) (j * fw); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
107 |
register int w = (j + 1) * fw - x; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
108 |
XSetForeground(dsp, gc, i * max + j); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
109 |
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
|
110 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
111 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
112 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
113 |
|
1131
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
114 |
static void |
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
115 |
redisplay_direct(Window window) |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
116 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
117 |
register int i, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
118 |
j, k; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
119 |
register float fw; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
120 |
register float fh; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
121 |
static int roffset, goffset, boffset; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
122 |
static int got_offsets = 0; |
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 |
if (window == win) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
125 |
fw = (float) width / 16.0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
126 |
fh = (float) height / (3 * 16.0); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
127 |
} else { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
128 |
fw = (float) ICON_WIDTH / 16.0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
129 |
fh = (float) ICON_HEIGHT / (3 * 16.0); |
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 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
132 |
if (!got_offsets) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
133 |
got_offsets = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
134 |
roffset = ffs(visual->red_mask)-1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
135 |
goffset = ffs(visual->green_mask)-1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
136 |
boffset = ffs(visual->blue_mask)-1; |
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 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
139 |
/* red channel */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
140 |
k = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
141 |
for (i = 0; i < 16; i++, k++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
142 |
register int y = (int) (k * fh); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
143 |
register int h = (k + 1) * fh - y; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
144 |
for (j = 0; j < 16; j++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
145 |
register int x = (int) (j * fw); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
146 |
register int w = (j + 1) * fw - x; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
147 |
XSetForeground(dsp, gc, (i * 16 + j)<<roffset); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
148 |
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
|
149 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
150 |
} |
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 |
/* green channel */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
153 |
for (i = 0; i < 16; i++, k++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
154 |
register int y = (int) (k * fh); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
155 |
register int h = (k + 1) * fh - y; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
156 |
for (j = 0; j < 16; j++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
157 |
register int x = (int) (j * fw); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
158 |
register int w = (j + 1) * fw - x; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
159 |
XSetForeground(dsp, gc, (i * 16 + j)<<goffset); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
160 |
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
|
161 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
162 |
} |
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 |
/* blue channel */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
165 |
for (i = 0; i < 16; i++, k++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
166 |
register int y = (int) (k * fh); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
167 |
register int h = (k + 1) * fh - y; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
168 |
for (j = 0; j < 16; j++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
169 |
register int x = (int) (j * fw); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
170 |
register int w = (j + 1) * fw - x; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
171 |
XSetForeground(dsp, gc, (i * 16 + j)<<boffset); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
172 |
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
|
173 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
174 |
} |
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 |
|
1131
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
177 |
static void |
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
178 |
redisplay (Window w) |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
179 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
180 |
if (visual->class == TrueColor || visual->class == DirectColor) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
181 |
redisplay_direct(w); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
182 |
else |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
183 |
redisplay_indexed(w); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
184 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
185 |
|
1131
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
186 |
static void |
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
187 |
HandleEvents(void) |
509
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 |
XEvent event; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
190 |
XConfigureEvent *xce = (XConfigureEvent *) & event; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
191 |
XKeyEvent *xke = (XKeyEvent *) & event; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
192 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
193 |
while (1) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
194 |
XNextEvent(dsp, &event); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
195 |
switch (event.type) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
196 |
case Expose: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
197 |
redisplay(event.xexpose.window); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
198 |
continue; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
199 |
case GraphicsExpose: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
200 |
case NoExpose: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
201 |
case MapNotify: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
202 |
case UnmapNotify: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
203 |
continue; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
204 |
case ConfigureNotify: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
205 |
if ((height == xce->height) && (width == xce->width)) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
206 |
continue; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
207 |
height = xce->height; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
208 |
width = xce->width; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
209 |
redisplay(event.xconfigure.window); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
210 |
continue; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
211 |
case KeyPress: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
212 |
switch (XLookupKeysym(xke, 0)) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
213 |
case XK_Escape: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
214 |
return; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
215 |
default: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
216 |
continue; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
217 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
218 |
case ClientMessage: |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
219 |
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
|
220 |
event.xclient.format == 32 && |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
221 |
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
|
222 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
223 |
return; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
224 |
} |
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 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
227 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
228 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
229 |
|
1131
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
230 |
int |
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
231 |
main( |
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
232 |
int argc, |
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
233 |
char *argv[] |
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
234 |
) |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
235 |
{ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
236 |
XSetWindowAttributes xswa; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
237 |
XGCValues xgcv; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
238 |
XSizeHints size_hints; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
239 |
XWMHints wmhints; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
240 |
int i; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
241 |
int geomStat; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
242 |
char *geom = NULL; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
243 |
char *displayName = NULL; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
244 |
Status stat; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
245 |
int dump = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
246 |
int nobw = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
247 |
int half = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
248 |
int install = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
249 |
int mask; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
250 |
int useiconwin = 0; |
1233
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
251 |
const char *pname; |
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
252 |
|
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
253 |
if (getenv("_SYNC")) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
254 |
extern int _Xdebug; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
255 |
_Xdebug = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
256 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
257 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
258 |
pname = argv[0]; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
259 |
for (i = 1; i < argc; i++) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
260 |
if (!strcmp(argv[i], "-geometry")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
261 |
geom = argv[++i]; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
262 |
else if (!strcmp(argv[i], "-display")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
263 |
displayName = argv[++i]; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
264 |
else if (!strcmp(argv[i], "-dump")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
265 |
dump = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
266 |
else if (!strcmp(argv[i], "-nobw")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
267 |
nobw = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
268 |
else if (!strcmp(argv[i], "-half")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
269 |
half = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
270 |
else if (!strcmp(argv[i], "-noinst")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
271 |
install = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
272 |
else if (!strcmp(argv[i], "-iconwin")) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
273 |
useiconwin = 1; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
274 |
else |
1233
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
275 |
error("usage: %s [-display dpystr] [-geometry geomstr]\n" |
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
276 |
"\t[-dump] [-nobw] [-half] [-noinst] [-iconwin]\n", pname); |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
277 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
278 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
279 |
if (!(dsp = XOpenDisplay(displayName))) { |
1233
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
280 |
error("%s: unable to open display, %s.\n", pname, |
1131
7dc974a70bc8
7047071 xcolor segfaults on startup
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
281 |
displayName ? displayName : "no display specified"); |
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
282 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
283 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
284 |
screen = DefaultScreen(dsp); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
285 |
visual = DefaultVisualOfScreen(DefaultScreenOfDisplay(dsp)); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
286 |
cmap_size = visual->map_entries; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
287 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
288 |
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
|
289 |
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
|
290 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
291 |
if (dump) |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
292 |
dumpCmap(); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
293 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
294 |
if (install) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
295 |
stat = XCreateHSBColormap(dsp, screen, &cmap, half |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
296 |
? (cmap_size>>1) : cmap_size, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
297 |
0.0, 1.0, 1.0, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
298 |
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
|
299 |
if (stat != Success) |
1233
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
300 |
error("%s: unable to create colormap (%d).\n", pname, stat); |
509
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 |
size_hints.x = DEFX; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
304 |
size_hints.y = DEFY; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
305 |
size_hints.width = DEFW; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
306 |
size_hints.height = DEFH; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
307 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
308 |
size_hints.flags = 0; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
309 |
if (geom) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
310 |
geomStat = XParseGeometry(geom, &(size_hints.x), |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
311 |
&(size_hints.y), |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
312 |
(unsigned int *) &(size_hints.width), |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
313 |
(unsigned int *) &(size_hints.height)); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
314 |
if (geomStat & (XValue | YValue)) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
315 |
size_hints.flags |= USPosition; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
316 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
317 |
if (geomStat & (WidthValue | HeightValue)) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
318 |
size_hints.flags |= USSize; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
319 |
} |
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 |
width = size_hints.width; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
323 |
height = size_hints.height; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
324 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
325 |
xswa.event_mask = ExposureMask | KeyPressMask | StructureNotifyMask; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
326 |
mask = CWEventMask; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
327 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
328 |
if (install) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
329 |
xswa.colormap = cmap; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
330 |
mask |= CWColormap; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
331 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
332 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
333 |
win = XCreateWindow( |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
334 |
dsp, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
335 |
DefaultRootWindow(dsp), |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
336 |
size_hints.x, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
337 |
size_hints.y, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
338 |
size_hints.width, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
339 |
size_hints.height, |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
340 |
1, /* borderwidth */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
341 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
342 |
DefaultDepth(dsp, screen), /* depth */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
343 |
InputOutput, /* class */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
344 |
visual, /* visual */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
345 |
mask, /* window attribute mask */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
346 |
&xswa /* the attributes */ |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
347 |
); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
348 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
349 |
XSetStandardProperties(dsp, win, " XColor ", " XCOLOR ", |
1233
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
350 |
None, argv, argc, &size_hints); |
509
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 |
wmhints.flags = InputHint; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
353 |
wmhints.input = True; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
354 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
355 |
if (useiconwin) { |
1233
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
356 |
Window icon; |
1134c9fd2fe6
7125797 Fix crufty code complaints uncovered by xorg-macros new tougher defaults
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1131
diff
changeset
|
357 |
|
509
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
358 |
xswa.event_mask = ExposureMask; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
359 |
mask = CWEventMask; |
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 |
if (install) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
362 |
xswa.colormap = cmap; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
363 |
mask |= CWColormap; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
364 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
365 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
366 |
icon = XCreateWindow(dsp, DefaultRootWindow(dsp), |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
367 |
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
|
368 |
InputOutput, visual, mask, &xswa); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
369 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
370 |
wmhints.flags |= IconWindowHint; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
371 |
wmhints.icon_window = icon; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
372 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
373 |
if (install) { |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
374 |
Window cmapwins[2]; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
375 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
376 |
cmapwins[0] = icon; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
377 |
cmapwins[1] = win; |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
378 |
XSetWMColormapWindows(dsp, win, cmapwins, 2); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
379 |
} |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
380 |
} |
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 |
XSetWMHints(dsp, win, &wmhints); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
383 |
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
|
384 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
385 |
xgcv.foreground = BlackPixel(dsp, screen); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
386 |
xgcv.background = WhitePixel(dsp, screen); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
387 |
gc = XCreateGC(dsp, win, GCForeground | GCBackground, &xgcv); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
388 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
389 |
XMapWindow(dsp, win); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
390 |
|
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
391 |
HandleEvents(); |
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 |
XUnmapWindow(dsp, win); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
394 |
XDestroyWindow(dsp, win); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
395 |
XFlush(dsp); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
396 |
XCloseDisplay(dsp); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
397 |
exit(0); |
9469d4c6010a
6736024 Replace xcolor with open src version
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff
changeset
|
398 |
} |