本文整理汇总了C++中GetReq函数的典型用法代码示例。如果您正苦于以下问题:C++ GetReq函数的具体用法?C++ GetReq怎么用?C++ GetReq使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GetReq函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: __glXQueryServerString
static char *
__glXQueryServerString(Display * dpy, int opcode, CARD32 screen, CARD32 name)
{
xGLXGenericGetStringReq *req;
xGLXSingleReply reply;
int length;
int numbytes;
char *buf;
CARD32 for_whom = screen;
CARD32 glxCode = X_GLXQueryServerString;
LockDisplay(dpy);
/* All of the GLX protocol requests for getting a string from the server
* look the same. The exact meaning of the for_whom field is usually
* either the screen number (for glXQueryServerString) or the context tag
* (for GLXSingle).
*/
GetReq(GLXGenericGetString, req);
req->reqType = opcode;
req->glxCode = glxCode;
req->for_whom = for_whom;
req->name = name;
_XReply(dpy, (xReply *) & reply, 0, False);
length = reply.length * 4;
numbytes = reply.size;
buf = malloc(numbytes);
if (buf != NULL) {
_XRead(dpy, buf, numbytes);
length -= numbytes;
}
_XEatData(dpy, length);
UnlockDisplay(dpy);
SyncHandle();
return buf;
}
示例2: _xiQueryVersion
_X_HIDDEN Status
_xiQueryVersion(Display * dpy, int *major, int *minor, XExtDisplayInfo *info)
{
xXIQueryVersionReq *req;
xXIQueryVersionReply rep;
LockDisplay(dpy);
/* This could mean either a malloc problem, or supported
version < XInput_2_0 */
if (_XiCheckExtInit(dpy, XInput_2_0, info) == -1)
{
XExtensionVersion *ext;
XExtDisplayInfo *extinfo = XInput_find_display(dpy);
if (!extinfo || !extinfo->data) {
*major = 0;
*minor = 0;
return BadRequest;
}
ext = ((XInputData*)extinfo->data)->vers;
*major = ext->major_version;
*minor = ext->minor_version;
return BadRequest;
}
GetReq(XIQueryVersion, req);
req->reqType = info->codes->major_opcode;
req->ReqType = X_XIQueryVersion;
req->major_version = *major;
req->minor_version = *minor;
if (!_XReply(dpy, (xReply*)&rep, 0, xTrue)) {
UnlockDisplay(dpy);
return BadImplementation;
}
*major = rep.major_version;
*minor = rep.minor_version;
UnlockDisplay(dpy);
return Success;
}
示例3: XRRListProviderProperties
Atom *
XRRListProviderProperties (Display *dpy, RRProvider provider, int *nprop)
{
XExtDisplayInfo *info = XRRFindDisplay(dpy);
xRRListProviderPropertiesReply rep;
xRRListProviderPropertiesReq *req;
int nbytes, rbytes;
Atom *props = NULL;
RRCheckExtension (dpy, info, NULL);
LockDisplay (dpy);
GetReq (RRListProviderProperties, req);
req->reqType = info->codes->major_opcode;
req->randrReqType = X_RRListProviderProperties;
req->provider = provider;
if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
UnlockDisplay (dpy);
SyncHandle ();
*nprop = 0;
return NULL;
}
if (rep.nAtoms) {
rbytes = rep.nAtoms * sizeof (Atom);
nbytes = rep.nAtoms << 2;
props = (Atom *) Xmalloc (rbytes);
if (props == NULL) {
_XEatDataWords (dpy, rep.length);
UnlockDisplay (dpy);
SyncHandle ();
*nprop = 0;
return NULL;
}
_XRead32 (dpy, (long *) props, nbytes);
}
*nprop = rep.nAtoms;
UnlockDisplay (dpy);
SyncHandle ();
return props;
}
示例4: DestroyPbuffer
/**
* Destroy a pbuffer.
*
* This function is used to implement \c glXDestroyPbuffer and
* \c glXDestroyGLXPbufferSGIX.
*
* \note
* This function dynamically determines whether to use the SGIX_pbuffer
* version of the protocol or the GLX 1.3 version of the protocol.
*/
static void
DestroyPbuffer(Display * dpy, GLXDrawable drawable)
{
struct glx_display *priv = __glXInitialize(dpy);
CARD8 opcode;
if ((priv == NULL) || (dpy == NULL) || (drawable == 0)) {
return;
}
opcode = __glXSetupForCommand(dpy);
if (!opcode)
return;
LockDisplay(dpy);
if ((priv->majorVersion > 1) || (priv->minorVersion >= 3)) {
xGLXDestroyPbufferReq *req;
GetReq(GLXDestroyPbuffer, req);
req->reqType = opcode;
req->glxCode = X_GLXDestroyPbuffer;
req->pbuffer = (GLXPbuffer) drawable;
}
else {
xGLXVendorPrivateWithReplyReq *vpreq;
CARD32 *data;
GetReqExtra(GLXVendorPrivateWithReply, 4, vpreq);
data = (CARD32 *) (vpreq + 1);
data[0] = (CARD32) drawable;
vpreq->reqType = opcode;
vpreq->glxCode = X_GLXVendorPrivateWithReply;
vpreq->vendorCode = X_GLXvop_DestroyGLXPbufferSGIX;
}
UnlockDisplay(dpy);
SyncHandle();
DestroyDRIDrawable(dpy, drawable, GL_TRUE);
return;
}
示例5: XRenderReferenceGlyphSet
GlyphSet
XRenderReferenceGlyphSet (Display *dpy, GlyphSet existing)
{
XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
GlyphSet gsid;
xRenderReferenceGlyphSetReq *req;
RenderCheckExtension (dpy, info, 0);
LockDisplay(dpy);
GetReq(RenderReferenceGlyphSet, req);
req->reqType = info->codes->major_opcode;
req->renderReqType = X_RenderReferenceGlyphSet;
req->gsid = gsid = XAllocID(dpy);
req->existing = existing;
UnlockDisplay(dpy);
SyncHandle();
return gsid;
}
示例6: XRenderCreateGlyphSet
GlyphSet
XRenderCreateGlyphSet (Display *dpy, _Xconst XRenderPictFormat *format)
{
XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
GlyphSet gsid;
xRenderCreateGlyphSetReq *req;
RenderCheckExtension (dpy, info, 0);
LockDisplay(dpy);
GetReq(RenderCreateGlyphSet, req);
req->reqType = info->codes->major_opcode;
req->renderReqType = X_RenderCreateGlyphSet;
req->gsid = gsid = XAllocID(dpy);
req->format = format->id;
UnlockDisplay(dpy);
SyncHandle();
return gsid;
}
示例7: XDamageSubtract
void
XDamageSubtract (Display *dpy, Damage damage,
XserverRegion repair, XserverRegion parts)
{
XDamageExtDisplayInfo *info = XDamageFindDisplay (dpy);
xDamageSubtractReq *req;
XDamageSimpleCheckExtension (dpy, info);
LockDisplay (dpy);
GetReq (DamageSubtract, req);
req->reqType = info->codes->major_opcode;
req->damageReqType = X_DamageSubtract;
req->damage = damage;
req->repair = repair;
req->parts = parts;
UnlockDisplay (dpy);
SyncHandle ();
}
示例8: XCompositeNameWindowPixmap
Pixmap
XCompositeNameWindowPixmap (Display *dpy, Window window)
{
XCompositeExtDisplayInfo *info = XCompositeFindDisplay (dpy);
xCompositeNameWindowPixmapReq *req;
Pixmap pixmap;
XCompositeCheckExtension (dpy, info, 0);
LockDisplay (dpy);
GetReq (CompositeNameWindowPixmap, req);
req->reqType = info->codes->major_opcode;
req->compositeReqType = X_CompositeNameWindowPixmap;
req->window = window;
pixmap = req->pixmap = XAllocID (dpy);
UnlockDisplay (dpy);
SyncHandle ();
return pixmap;
}
示例9: DRI2DestroyDrawable
void
DRI2DestroyDrawable(Display * dpy, XID drawable)
{
XExtDisplayInfo *info = DRI2FindDisplay(dpy);
xDRI2DestroyDrawableReq *req;
XextSimpleCheckExtension(dpy, info, dri2ExtensionName);
XSync(dpy, False);
LockDisplay(dpy);
GetReq(DRI2DestroyDrawable, req);
req->reqType = info->codes->major_opcode;
req->dri2ReqType = X_DRI2DestroyDrawable;
req->drawable = drawable;
UnlockDisplay(dpy);
SyncHandle();
}
示例10: XDGASetClientVersion
Bool XDGASetClientVersion(
Display *dpy
){
XExtDisplayInfo *info = xdga_find_display (dpy);
xXDGASetClientVersionReq *req;
XDGACheckExtension (dpy, info, False);
LockDisplay(dpy);
GetReq(XDGASetClientVersion, req);
req->reqType = info->codes->major_opcode;
req->dgaReqType = X_XDGASetClientVersion;
req->major = XDGA_MAJOR_VERSION;
req->minor = XDGA_MINOR_VERSION;
UnlockDisplay(dpy);
SyncHandle();
return True;
}
示例11: XFixesChangeCursor
void
XFixesChangeCursor (Display *dpy, Cursor source, Cursor destination)
{
XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
xXFixesChangeCursorReq *req;
XFixesSimpleCheckExtension (dpy, info);
if (info->major_version < 2)
return;
LockDisplay (dpy);
GetReq (XFixesChangeCursor, req);
req->reqType = info->codes->major_opcode;
req->xfixesReqType = X_XFixesChangeCursor;
req->source = source;
req->destination = destination;
UnlockDisplay(dpy);
SyncHandle();
}
示例12: XFixesDestroyPointerBarrier
void
XFixesDestroyPointerBarrier(Display *dpy, PointerBarrier b)
{
XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
xXFixesDestroyPointerBarrierReq *req;
XFixesSimpleCheckExtension (dpy, info);
if (info->major_version < 5)
return;
LockDisplay (dpy);
GetReq (XFixesDestroyPointerBarrier, req);
req->reqType = info->codes->major_opcode;
req->xfixesReqType = X_XFixesDestroyPointerBarrier;
req->barrier = b;
UnlockDisplay (dpy);
SyncHandle();
}
示例13: XSetInputFocus
int
XSetInputFocus(
register Display *dpy,
Window focus,
int revert_to,
Time time)
{
register xSetInputFocusReq *req;
LockDisplay(dpy);
GetReq(SetInputFocus, req);
req->focus = focus;
req->revertTo = revert_to;
req->time = time;
UnlockDisplay(dpy);
SyncHandle();
return 1;
}
示例14: XSetSelectionOwner
int
XSetSelectionOwner(
register Display *dpy,
Atom selection,
Window owner,
Time time)
{
register xSetSelectionOwnerReq *req;
LockDisplay(dpy);
GetReq(SetSelectionOwner,req);
req->selection = selection;
req->window = owner;
req->time = time;
UnlockDisplay(dpy);
SyncHandle();
return 1;
}
示例15: XCompositeCreateRegionFromBorderClip
XserverRegion
XCompositeCreateRegionFromBorderClip (Display *dpy, Window window)
{
XCompositeExtDisplayInfo *info = XCompositeFindDisplay (dpy);
xCompositeCreateRegionFromBorderClipReq *req;
XserverRegion region;
XCompositeCheckExtension (dpy, info, 0);
LockDisplay (dpy);
GetReq (CompositeCreateRegionFromBorderClip, req);
req->reqType = info->codes->major_opcode;
req->compositeReqType = X_CompositeCreateRegionFromBorderClip;
req->window = window;
region = req->region = XAllocID (dpy);
UnlockDisplay (dpy);
SyncHandle ();
return region;
}