anderdla@CS.UOREGON.EDU (02/25/90)
First of all, I don't read this newsgroup so don't flame me if I'm dredging up an old topic. I am having troubles with colormaps. What I am working on is an application that will display run-length-encoded files (ala Utah). We have getX11, but this program uses the default colormap and dithering to accomplish the imaging. I actually want to analyze the colors in the picture and construct a colormap on the fly. Constructing the colormap is not a problem. I can't figure out how to use it. I have tried two things: i) cmap=XCreateColormap(display,window,visual,AllocAll); Whenever I use AllocAll in this call it does something funky to display. The side effect is that it bombs when it hits XNextEvent(display,&e). Reason? ii) cmap=XCreateColormap(display,window,visual,AllocNone); Now how do I allocate colorcells? The XStoreColors and XInstallColormap calls work fine, but when I try using these colors they're private(this makes sense to me, I need to acquire some of these cells for my own private use, right?). It seems that XAllocColorCells is too complicated for my purposes. What's all the plane_masks crap for? All I want is a given number of cells (say 256) and their pixel numbers that I can assign RGB values to in the colormap. There must be an easy way to do this! By the way, I was reading in the Xlib programming manual by Nye that you can specify 0 for nplanes and ncolors for the number of cells you want and it will give you that many cells w/o the bullshit. It didn`t seem to work for any value of ncolors (I put it in a loop from 256 down to 0). This is on p. 189 of the book in case anyone wants to double check or refute (I wish you would!) this. Finally, when I actually do get around to building the virtual colormap successfully, do I use XInstallColormap or XSetWindowColormap? In case you need to know, we are running X11/NeWS and OpenWindows on Sun Sparcs (Sun4). Thanks in advance for any assisstance. -------------------------------------------------------------------- ______ ___ Darren Anderson \ \ | _ anderdla@cs.uoregon.edu 1656 Walnut St. | | | / \ Eugene, Ore. 97403 | | | /___\ "MTV is like this very /_____/ | / \ big advertising agency, /______ \ and its only client is / \ \ itself." --------------------------------------------------------------------
converse@EXPO.LCS.MIT.EDU (Donna Converse) (02/27/90)
> Constructing the colormap is not a problem. I can't figure out how to > use it. I have tried two things: > > i) cmap=XCreateColormap(display,window,visual,AllocAll); > > Whenever I use AllocAll in this call it does something funky > to display. The side effect is that it bombs when it hits > XNextEvent(display,&e). Reason? Hmmm.... Does something funky to display.... bombs.... hmmm... my crystal ball suggests that perhaps you're specifying a visual type that doesn't allow read/write allocation. Try reading about visuals, try using the function XGetVisualInfo or XMatchVisualInfo, try looking for error messages and try using a debugger. > ii) cmap=XCreateColormap(display,window,visual,AllocNone); with the following (paraphrased by the answerer): XAllocColorCells(display, cmap, False, NULL, 0, pixels, ncolors); > It didn`t seem to work > for any value of ncolors (I put it in a loop from 256 down to 0). Maybe the colormap was created with a visual type that doesn't allow read/write allocation from the colormap. > Finally, when I actually do get around to building the virtual colormap > successfully, do I use XInstallColormap or XSetWindowColormap? XSetWindowColormap. Donna Converse converse@expo.lcs.mit.edu
kent@wsl.dec.com (Christopher A. Kent) (02/28/90)
I'm pretty sure that the default Visual for X11/NeWS is StaticColor, which means that colormaps are not changeable. Try to find a PseudoColor Visual and use that. Chris Kent Western Software Laboratory Digital Equipment Corporation kent@decwrl.dec.com decwrl!kent (415) 853-6639
BUCKHOLTZ_G%RMC.CA@mitvma.mit.EDU (06/25/91)
Hi! I have been experiencing problems with setting the colormap resource on my Motif Widgets. My goal is to make a gray scale colourmap for my image processing application. I create a colourmap with the following command: cmap = XCreateColormap(dpy,win,vix,AllocAll); I then try to set the colormap resource using XtSetValues. When I do this I get the following error: X Toolkit Warning: Cannot allocat colomap entry for "white" X Protocol error: BadValue, integer parameter out of range for operateio Major opcode of failed request: 91 (X_QueryColors) Minor opcode of failed request: 0 Resource ik in failed request: 0x7537dc08 Serial number of failed request: 724 Current serial number in output stream: 724 I can buy the warning that a colormap entry "white" cannot be allocated since I have declared that I have allocated all of the colour cells when I created the colourmap. I don't know what could be generating the BadValue error though. Any hints or thoughts are appreciated. bye, Glenn