open-src/app/xcolor/sun-src/xcolor.c
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--
6927784 Remove SCCS ident tags from X gate
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
}