SEARCH CONTACT US SUPPORT SERVICES PRODUCTS STORE
United States    
COMPAQ STORE | PRODUCTS | SERVICES | SUPPORT | CONTACT US | SEARCH
gears
compaq support options
support home
software & drivers
ask Compaq
reference library
support forum
frequently asked questions
support tools
warranty information
service centers
contact support
product resources
parts for your system
give us feedback
associated links
.
} what's new
.
} contract access
.
} browse patch tree
.
} search patches
.
} join mailing list
.
} feedback
.
patches by topic
.
} DOS
.
} OpenVMS
.
} Security
.
} Tru64 Unix
.
} Ultrix 32
.
} Windows
.
} Windows NT
rdr = renderer; req->drawable = drawable; req->sid = structure; END_REQUEST_HEADER (RenderNetwork, pBuf, req); /* * Done, so unlock and check for synchronous-ness. */ UnlockDisplay (display); PEXSyncHandle (display); } void PEXRenderElements (display, renderer, sid, whence1, offset1, whence2, offset2) INPUT Display *display; INPUT PEXRenderer renderer; INPUT PEXStructure sid; INPUT int whence1; INPUT long offset1; INPUT int whence2; INPUT long offset2; { register pexRenderElementsReq *req; char *pBuf; /* * Lock around the critical section, for multithreading. */ LockDisplay (display); /* * Put the request in the X request buffer. */ PEXGetReq (RenderElements, pBuf); BEGIN_REQUEST_HEADER (RenderElements, pBuf, req); PEXStoreReqHead (RenderElements, req); req->rdr = renderer; req->sid = sid; req->position1_whence = whence1; req->position1_offset = offset1; req->position2_whence = whence2; req->position2_offset = offset2; END_REQUEST_HEADER (RenderElements, pBuf, req); /* * Done, so unlock and check for synchronous-ness. */ UnlockDisplay (display); PEXSyncHandle (display); } void PEXAccumulateState (display, renderer, numElements, elements) INPUT Display *display; INPUT PEXRenderer renderer; INPUT unsigned long numElements; INPUT PEXElementRef *elements; { register pexAccumulateStateReq *req; char *pBuf; unsigned int size; /* * Lock around the critical section, for multithreading. */ LockDisplay (display); /* * Put the request in the X request buffer. */ size = numElements * SIZEOF (pexElementRef); PEXGetReqExtra (AccumulateState, size, pBuf); BEGIN_REQUEST_HEADER (AccumulateState, pBuf, req); PEXStoreReqExtraHead (AccumulateState, size, req); req->rdr = renderer; req->numElRefs = numElements; END_REQUEST_HEADER (AccumulateState, pBuf, req); STORE_LISTOF_ELEMREF (numElements, elements, pBuf); /* * Done, so unlock and check for synchronous-ness. */ UnlockDisplay (display); PEXSyncHandle (display); } /* * Routine to write a packed list of renderer attributes to the * transport buffer. */ static void _PEXGenerateRendererList (display, fpConvert, fpFormat, valueMask, values, sizeRet, listRet) INPUT Display *display; INPUT int fpConvert; INPUT int fpFormat; INPUT unsigned long valueMask; INPUT PEXRendererAttributes *values; OUTPUT int *sizeRet; OUTPUT char **listRet; { register char *pBuf; int size; int i, n; unsigned long f; /* * Count the number of attributes being set, then allocate a * scratch buffer used to pack the attributes. It's not worth * computing the exact amount of memory needed, so assume * worse case. */ CountOnes (valueMask, n); size = n * SIZEOF (CARD32) + SIZEOF (pexNpcSubvolume) + SIZEOF (pexViewport) + SIZEOF (pexColorSpecifier); if (valueMask & PEXRAClipList) { size += (values->clip_list.count * SIZEOF (pexDeviceRect)); } if (valueMask & PEXRAPickStartPath) { size += (values->pick_start_path.count * SIZEOF (pexElementRef)); } pBuf = *listRet = (char *) _XAllocScratch (display, size); /* * Pack the attributes. */ for (i = 0; i < (PEXRAMaxShift + 1); i++) { f = (1L << i); if (valueMask & f) { switch (f) { case PEXRACurrentPath: /* * Current path doesn't make sense in a new or changed * renderer, so ignore it. */ break; case PEXRAPipelineContext: STORE_CARD32 (values->pipeline_context, pBuf); break; case PEXRAMarkerBundle: STORE_CARD32 (values->marker_bundle, pBuf); break; case PEXRATextBundle: STORE_CARD32 (values->text_bundle, pBuf); break; case PEXRALineBundle: STORE_CARD32 (values->line_bundle, pBuf); break; case PEXRAInteriorBundle: STORE_CARD32 (values->interior_bundle, pBuf); break; case PEXRAEdgeBundle: STORE_CARD32 (values->edge_bundle, pBuf); break; case PEXRAViewTable: STORE_CARD32 (values->view_table, pBuf); break; case PEXRAColorTable: STORE_CARD32 (values->color_table, pBuf); break; case PEXRADepthCueTable: STORE_CARD32 (values->depth_cue_table, pBuf); break; case PEXRALightTable: STORE_CARD32 (values->light_table, pBuf); break; case PEXRAColorApproxTable: STORE_CARD32 (values->color_approx_table, pBuf); break; case PEXRAPatternTable: STORE_CARD32 (values->pattern_table, pBuf); break; case PEXRATextFontTable: STORE_CARD32 (values->text_font_table, pBuf); break; case PEXRAHighlightIncl: STORE_CARD32 (values->highlight_incl, pBuf); break; case PEXRAHighlightExcl: STORE_CARD32 (values->highlight_excl, pBuf); break; case PEXRAInvisibilityIncl: STORE_CARD32 (values->invisibility_incl, pBuf); break; case PEXRAInvisibilityExcl: STORE_CARD32 (values->invisibility_excl, pBuf); break; case PEXRARendererState: /* * Renderer state doesn't make sense in a new or changed * renderer, so ignore it. */ break; case PEXRAHLHSRMode: STORE_CARD32 (values->hlhsr_mode, pBuf); break; case PEXRANPCSubVolume: STORE_NPC_SUBVOLUME (values->npc_subvolume, pBuf, fpConvert, fpFormat); break; case PEXRAViewport: STORE_VIEWPORT (values->viewport, pBuf, fpConvert, fpFormat); break; case PEXRAClipList: STORE_CARD32 (values->clip_list.count, pBuf); STORE_LISTOF_DEVRECT (values->clip_list.count, values->clip_list.rectangles, pBuf); break; case PEXRAPickIncl: STORE_CARD32 (values->pick_incl, pBuf); break; case PEXRAPickExcl: STORE_CARD32 (values->pick_excl, pBuf); break; case PEXRAPickStartPath: STORE_CARD32 (values->pick_start_path.count, pBuf); STORE_LISTOF_ELEMREF (values->pick_start_path.count, values->pick_start_path.elements, pBuf); break; case PEXRABackgroundColor: S