dheskamp++at++ldsa.com
Wed, 8 May 96 09:57: 6 EDT
I had the same problem until I used the Performer utilities instead of X utilities. For setting overlay colors try the
following code fragment which uses "pfuGLXMapcolors":
myOverlay = myWindow->getOverlayWin();
if (myOverlay)
{
if (!overlayMapped)
{
static pfVec3 clrs[2];
clrs[0][0] = 0.0f; /* black */
clrs[0][1] = 0.0f;
clrs[0][2] = 0.0f;
clrs[1][0] = 0.5f; /* grey */
clrs[1][1] = 0.5f;
clrs[1][2] = 0.5f;
Display *dsp = pfGetCurWSConnection();
Window xowin = myOverlay->getWSDrawable();
pfuGLXMapcolors((pfuXDisplay*) dsp, xowin, clrs, 1, 2);
overlayMapped = 1;
--- Begin Included Message ---
Hi Performers!
I am trying to draw text in the overlay window from the Draw process using
OpenGL.
The text & font part is working fine, but I can't seem to be able to set
the colormap. I am changing the colormap associated with the XWindow, but it
does not seem to have any effect... I only get some default colors (which are
different from machine to machine and time to time...)
Any suggestions?
Here is a sample from my code:
// from the Draw process:
static ulong pixels[8];
pfWindow *over = pWin->getOverlayWin();
over->select();
...
Display *dsp = pfGetCurWSConnection();
Window win = over->getWSWindow();
XWindowAttributes attr;
XGetWindowAttributes(dsp, win, &attr);
Colormap cmap = attr.colormap;
if (cmap && XAllocColorCells(dsp, cmap, FALSE, NULL, 0, pixels, 2)) {
XColor color;
color.flags = DoRed | DoGreen | DoBlue;
color.pixel = pixels[0];
color.red = 0x0000; color.green = 0x8888; color.blue = 0x0000;
XStoreColor(dsp, cmap, &color);
color.pixel = pixels[1];
color.red = 0xffff; color.green = 0xffff; color.blue = 0x0000;
XStoreColor(dsp, cmap, &color);
printf("Got index %d and %d!\n", wd.pixels[0], wd.pixels[1]);
}
...
glIndexi(pixels[1]); // <--- This SHOULD give a yellow color, right?!
glRasterPos2f(x, y);
glCallLists(strlen(str), GL_UNSIGNED_BYTE, (GLubyte *) str);
Thanks for any suggestions...
/Tommy
-- --------------------------------------------------------------------- Tommy Fortes, Software Engineer at Clarus AB - Sixth Sense TechnologyE-Mail: tommy++at++clarus.se URL: http://www.clarus.se --- End Included Message ---
Dave Heskamp
Lockheed Martin Tactical Defense Systems 1210 Massillon Road Akron, Ohio 44315-0001 phone: (330) 796 - 5383 fax: (330) 796 - 7009 email: dheskamp++at++ldsa.com
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:52:52 PDT