HP Workstation zx2000 HP Graphics Administration Guide for HP-UX 11.X (IPF ver - Page 53
ATI Fire GL4 configuration hints, overlay visuals and overlay transparency
View all HP Workstation zx2000 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 53 highlights
configuring an X Server on HP-UX ATI Fire GL4 configuration hints overlay visuals and overlay transparency ATI Fire GL4 devices have one visual in the overlay planes, depth-8 PseudoColor. To allow applications to determine which visuals are in the overlay planes, overlay visuals are listed in the "SERVER_OVERLAY_VISUALS" property attached to the root window. The default overlay visual has a transparent type of "1" (TransparentPixel). If you need an overlay colormap that supports transparency, create the colormap using the visual that has transparency in its SERVER_OVERLAY_VISUALS property. To look at the contents of this property, you would use code similar to the following: { typedef struct { VisualID overlayVisualID; Card32 transparentType; /* None, TransparentPixel, TransparentMask */ Card32 value; /* Either pixel value or pixel mask */ Card32 layer; } OverlayVisualPropertyRec; OverlayVisualPropertyRec *pOverlayVisuals, *pOVis; XVisualInfo getVis; XVisualInfo *pVisuals; Atom overlayVisualsAtom, actualType; ... /* Get the visuals for this screen and allocate. */ getVis.screen = screen; pVisuals = XGetVisualInfo(display, VisualScreenMask, &getVis, &nVisuals); pOverlayVisuals = (OverlayVisualPropertyRec *) malloc ( (size_t)nVisuals * sizeof(OverlayVisualPropertyRec) ); /* ** Get the overlay visual information for this screen. Obtain ** this information from the SERVER_OVERLAY_VISUALS property. */ overlayVisualsAtom = XInternAtom(display,"SERVER_OVERLAY_VISUALS", True); if (overlayVisualsAtom != None) { /* Since the Atom exists, request the property's contents. */ bytesAfter = 0; numLongs = (nVisuals * sizeof(OverlayVisualPropertyRec) + 3 ) / 4; XGetWindowProperty(display, RootWindow(display, screen), overlayVisualsAtom, 0, numLongs, False, AnyPropertyType, &actualType, &actualFormat, &numLongs, &bytesAfter, &pOverlayVisuals); if (bytesAfter != 0 ) {/* Serious Failure Here */} ; /* Loop through the pOverlayVisuals array. */ ... nOVisuals = numLongs/sizeof(OverlayVisualPropertyRec); Graphics Administration Guide 4-41