[comp.windows.x] GreyScale Application with Athena Widgets

walter@focsys.UUCP (WalteR Steinemann) (09/08/89)

HI,
  I am developing an application on X11R2 (on a Sony NEWS), which puts up 
images in greyscale. (6, 7, or 8 bits).  I change the whole colortable
each time I the number of bits in the image changes, because I use different
color overlays in the unused bit planes.  My application uses the whole screen
so I don't worry about other applications looking ugly when my colormap is in.
  I am trying to get some Athena Widget windows to come up (little menus, and
dialog boxes) but I am having trouble making them appear.  If I leave my
colormap in they come up all black.  If I switch back to the orignal (root 
window) colormap then they look right (but my images look ugly).
  I tried changing the colormap very early in the startup of the program, 
before the widgets get created, hoping they would use it ... but it doesn't 
help.

  Is there some way to accomplish what I want?  Will it be easier to do with
11R3 or some other widget set?
I have lots of books on X but haven't found the information I need, so if
you know where I might find it please let me know.

Thanks for any help you can give me.
WalteR
-- 
Walter R. Steinemann -- Focus Automation Systems -- Waterloo, Ontario
                        watmath!focsys!walter       (519) 746-4918

swick@ATHENA.MIT.EDU (Ralph R. Swick) (09/08/89)

> If I leave my
> colormap in they come up all black.  If I switch back to the orignal (root 
> window) colormap then they look right (but my images look ugly).
>  I tried changing the colormap very early in the startup of the program, 
> before the widgets get created, hoping they would use it ... but it doesn't 
> help.

If you specify the XtNcolormap resource for your toplevel shell
(via XtSetValues(), if you're using XtInitialize()) then all the
children will, by default, inherit your private colormap when
they are realized.  You can also specify the colormap resource
individually for each widget if you have a special need.