您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ DMX_GET_PICT_PRIV函数代码示例

51自学网 2021-06-01 20:22:53
  C++
这篇教程C++ DMX_GET_PICT_PRIV函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中DMX_GET_PICT_PRIV函数的典型用法代码示例。如果您正苦于以下问题:C++ DMX_GET_PICT_PRIV函数的具体用法?C++ DMX_GET_PICT_PRIV怎么用?C++ DMX_GET_PICT_PRIV使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了DMX_GET_PICT_PRIV函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: dmxDestroyPictureClip

/** Destroy the picture's list of clip rectangles. */voiddmxDestroyPictureClip(PicturePtr pPicture){    ScreenPtr pScreen = pPicture->pDrawable->pScreen;    DMXScreenInfo *dmxScreen = &dmxScreens[pScreen->myNum];    PictureScreenPtr ps = GetPictureScreen(pScreen);    dmxPictPrivPtr pPictPriv = DMX_GET_PICT_PRIV(pPicture);    DMX_UNWRAP(DestroyPictureClip, dmxScreen, ps);#if 1    if (ps->DestroyPictureClip)        ps->DestroyPictureClip(pPicture);#endif    /* Destroy picture clip rects on back-end server */    if (pPictPriv->pict) {        XRenderSetPictureClipRectangles(dmxScreen->beDisplay,                                        pPictPriv->pict, 0, 0, NULL, 0);        dmxSync(dmxScreen, FALSE);    }    else {        /* FIXME: Handle destroying clip region when offscreen */    }    DMX_WRAP(DestroyPictureClip, dmxDestroyPictureClip, dmxScreen, ps);}
开发者ID:Agnesa,项目名称:xserver,代码行数:27,


示例2: dmxCompositeRects

/** Fill a rectangle on the appropriate screen by combining the color *  with the dest picture in the area specified by the list of *  rectangles.  For a complete description see the protocol document of *  the RENDER library. */voiddmxCompositeRects(CARD8 op,                  PicturePtr pDst,                  xRenderColor * color, int nRect, xRectangle *rects){    ScreenPtr pScreen = pDst->pDrawable->pScreen;    DMXScreenInfo *dmxScreen = &dmxScreens[pScreen->myNum];    PictureScreenPtr ps = GetPictureScreen(pScreen);    dmxPictPrivPtr pPictPriv = DMX_GET_PICT_PRIV(pDst);    DMX_UNWRAP(CompositeRects, dmxScreen, ps);#if 0    if (ps->CompositeRects)        ps->CompositeRects(op, pDst, color, nRect, rects);#endif    /* CompositeRects on back-end server */    if (pPictPriv->pict) {        XRenderFillRectangles(dmxScreen->beDisplay,                              op,                              pPictPriv->pict,                              (XRenderColor *) color,                              (XRectangle *) rects, nRect);        dmxSync(dmxScreen, FALSE);    }    DMX_WRAP(CompositeRects, dmxCompositeRects, dmxScreen, ps);}
开发者ID:Agnesa,项目名称:xserver,代码行数:32,


示例3: dmxProcRenderSetPictureFilter

/** Set the picture filter on each screen. */static intdmxProcRenderSetPictureFilter(ClientPtr client){    DMXScreenInfo *dmxScreen;    PicturePtr pPicture;    dmxPictPrivPtr pPictPriv;    char *filter;    XFixed *params;    int nparams;    REQUEST(xRenderSetPictureFilterReq);    REQUEST_AT_LEAST_SIZE(xRenderSetPictureFilterReq);    VERIFY_PICTURE(pPicture, stuff->picture, client, DixWriteAccess);    /* For the following to work with PanoramiX, it assumes that Render     * wraps the ProcRenderVector after dmxRenderInit has been called.     */    dmxScreen = &dmxScreens[pPicture->pDrawable->pScreen->myNum];    pPictPriv = DMX_GET_PICT_PRIV(pPicture);    if (pPictPriv->pict) {        filter = (char *) (stuff + 1);        params = (XFixed *) (filter + ((stuff->nbytes + 3) & ~3));        nparams = ((XFixed *) stuff + client->req_len) - params;        XRenderSetPictureFilter(dmxScreen->beDisplay,                                pPictPriv->pict, filter, params, nparams);        dmxSync(dmxScreen, FALSE);    }    return dmxSaveRenderVector[stuff->renderReqType] (client);}
开发者ID:Agnesa,项目名称:xserver,代码行数:34,


示例4: dmxChangePictureClip

/** Change the picture's list of clip rectangles. */int dmxChangePictureClip(PicturePtr pPicture, int clipType,			 pointer value, int n){    ScreenPtr         pScreen   = pPicture->pDrawable->pScreen;    DMXScreenInfo    *dmxScreen = &dmxScreens[pScreen->myNum];    PictureScreenPtr  ps        = GetPictureScreen(pScreen);    dmxPictPrivPtr    pPictPriv = DMX_GET_PICT_PRIV(pPicture);    DMX_UNWRAP(ChangePictureClip, dmxScreen, ps);#if 1    if (ps->ChangePictureClip)	ps->ChangePictureClip(pPicture, clipType, value, n);#endif    /* Change picture clip rects on back-end server */    if (pPictPriv->pict) {	/* The clip has already been changed into a region by the mi	 * routine called above.	 */	if (pPicture->clientClip) {	    RegionPtr   pClip = pPicture->clientClip;	    BoxPtr      pBox  = REGION_RECTS(pClip);	    int         nBox  = REGION_NUM_RECTS(pClip);	    XRectangle *pRects;	    XRectangle *pRect;	    int         nRects;	    nRects = nBox;	    pRects = pRect = xalloc(nRects * sizeof(*pRect));	    while (nBox--) {		pRect->x      = pBox->x1;		pRect->y      = pBox->y1;		pRect->width  = pBox->x2 - pBox->x1;		pRect->height = pBox->y2 - pBox->y1;		pBox++;		pRect++;	    }	    XRenderSetPictureClipRectangles(dmxScreen->beDisplay,					    pPictPriv->pict,					    0, 0,					    pRects,					    nRects);	    xfree(pRects);	} else {	    XRenderSetPictureClipRectangles(dmxScreen->beDisplay,					    pPictPriv->pict,					    0, 0, NULL, 0);	}	dmxSync(dmxScreen, FALSE);    } else {	/* FIXME: Handle saving clip region when offscreen */    }    DMX_WRAP(ChangePictureClip, dmxChangePictureClip, dmxScreen, ps);        return Success;}
开发者ID:Magister,项目名称:x11rdp_xorg71,代码行数:60,


示例5: dmxComposite

/** Composite a picture on the appropriate screen by combining the *  specified rectangle of the transformed src and mask operands with *  the specified rectangle of the dst using op as the compositing *  operator.  For a complete description see the protocol document of *  the RENDER library. */void dmxComposite(CARD8 op,		  PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,		  INT16 xSrc, INT16 ySrc,		  INT16 xMask, INT16 yMask,		  INT16 xDst, INT16 yDst,		  CARD16 width, CARD16 height){    ScreenPtr         pScreen   = pDst->pDrawable->pScreen;    DMXScreenInfo    *dmxScreen = &dmxScreens[pScreen->myNum];    PictureScreenPtr  ps        = GetPictureScreen(pScreen);    dmxPictPrivPtr    pSrcPriv  = DMX_GET_PICT_PRIV(pSrc);    dmxPictPrivPtr    pMaskPriv = NULL;    dmxPictPrivPtr    pDstPriv  = DMX_GET_PICT_PRIV(pDst);    if (pMask) pMaskPriv = DMX_GET_PICT_PRIV(pMask);    DMX_UNWRAP(Composite, dmxScreen, ps);#if 0    if (ps->Composite)	ps->Composite(op, pSrc, pMask, pDst,		      xSrc, ySrc, xMask, yMask, xDst, yDst,		      width, height);#endif    /* Composite on back-end server */    if (pSrcPriv->pict && pDstPriv->pict &&	((pMaskPriv && pMaskPriv->pict) || !pMaskPriv)) {	XRenderComposite(dmxScreen->beDisplay,			 op,			 pSrcPriv->pict,			 pMaskPriv ? pMaskPriv->pict : None,			 pDstPriv->pict,			 xSrc, ySrc,			 xMask, yMask,			 xDst, yDst,			 width, height);	dmxSync(dmxScreen, FALSE);    }    DMX_WRAP(Composite, dmxComposite, dmxScreen, ps);}
开发者ID:Magister,项目名称:x11rdp_xorg71,代码行数:47,


示例6: dmxBECreatePicture

/** Create /a pPicture on the backend. */int dmxBECreatePicture(PicturePtr pPicture){    dmxPictPrivPtr    pPictPriv = DMX_GET_PICT_PRIV(pPicture);    /* Create picutre on BE */    pPictPriv->pict = dmxDoCreatePicture(pPicture);    /* Flush changes to the backend server */    dmxValidatePicture(pPicture, (1 << (CPLastBit+1)) - 1);    return Success;}
开发者ID:fenghaitao,项目名称:xserver-with-gl-accelerated-xephyr,代码行数:13,


示例7: dmxTriFan

/** Composite a triangle fan on the appropriate screen.  For a complete *  description see the protocol document of the RENDER library. */void dmxTriFan(CARD8 op, PicturePtr pSrc, PicturePtr pDst,	       PictFormatPtr maskFormat,	       INT16 xSrc, INT16 ySrc,	       int npoint, xPointFixed *points){    ScreenPtr         pScreen   = pDst->pDrawable->pScreen;    DMXScreenInfo    *dmxScreen = &dmxScreens[pScreen->myNum];    PictureScreenPtr  ps        = GetPictureScreen(pScreen);    dmxPictPrivPtr    pSrcPriv  = DMX_GET_PICT_PRIV(pSrc);    dmxPictPrivPtr    pDstPriv  = DMX_GET_PICT_PRIV(pDst);    DMX_UNWRAP(TriFan, dmxScreen, ps);#if 0    if (ps->TriFan)	ps->TriFan(op, pSrc, pDst, maskFormat, xSrc, ySrc, npoint, *points);#endif    /* Draw trapezoids on back-end server */    if (pDstPriv->pict) {	XRenderPictFormat *pFormat;	pFormat = dmxFindFormat(dmxScreen, maskFormat);	if (!pFormat) {	    /* FIXME: Error! */	}	XRenderCompositeTriFan(dmxScreen->beDisplay,			       op,			       pSrcPriv->pict,			       pDstPriv->pict,			       pFormat,			       xSrc, ySrc,			       (XPointFixed *)points,			       npoint);	dmxSync(dmxScreen, FALSE);    }    DMX_WRAP(TriFan, dmxTriFan, dmxScreen, ps);}
开发者ID:Magister,项目名称:x11rdp_xorg71,代码行数:41,


示例8: dmxBEFreePicture

/** Destroy /a pPicture on the back-end server. */Bool dmxBEFreePicture(PicturePtr pPicture){    ScreenPtr      pScreen   = pPicture->pDrawable->pScreen;    DMXScreenInfo *dmxScreen = &dmxScreens[pScreen->myNum];    dmxPictPrivPtr pPictPriv = DMX_GET_PICT_PRIV(pPicture);    if (pPictPriv->pict) {	XRenderFreePicture(dmxScreen->beDisplay, pPictPriv->pict);	pPictPriv->pict = (Picture)0;	return TRUE;    }    return FALSE;}
开发者ID:Magister,项目名称:x11rdp_xorg71,代码行数:15,


示例9: dmxCreatePictureList

/** Create a list of pictures.  This function is called by *  dmxCreateAndRealizeWindow() during the lazy window creation *  realization process.  It creates the entire list of pictures that *  are associated with the given window. */void dmxCreatePictureList(WindowPtr pWindow){    PicturePtr  pPicture = GetPictureWindow(pWindow);    while (pPicture) {	dmxPictPrivPtr  pPictPriv = DMX_GET_PICT_PRIV(pPicture);	/* Create the picture for this window */	pPictPriv->pict = dmxDoCreatePicture(pPicture);	/* ValidatePicture takes care of the state changes */	pPicture = pPicture->pNext;    }}
开发者ID:Magister,项目名称:x11rdp_xorg71,代码行数:19,


示例10: dmxChangePicture

/** Change the attributes of the pictures.  If the picture has not yet *  been created due to lazy window creation, save the mask so that it *  can be used to appropriately initialize the picture's attributes *  when it is created later. */void dmxChangePicture(PicturePtr pPicture, Mask mask){    ScreenPtr         pScreen   = pPicture->pDrawable->pScreen;    DMXScreenInfo    *dmxScreen = &dmxScreens[pScreen->myNum];    PictureScreenPtr  ps        = GetPictureScreen(pScreen);    dmxPictPrivPtr    pPictPriv = DMX_GET_PICT_PRIV(pPicture);    DMX_UNWRAP(ChangePicture, dmxScreen, ps);#if 1    if (ps->ChangePicture)	ps->ChangePicture(pPicture, mask);#endif    /* Picture attribute changes are handled in ValidatePicture */    pPictPriv->savedMask |= mask;    DMX_WRAP(ChangePicture, dmxChangePicture, dmxScreen, ps);}
开发者ID:Magister,项目名称:x11rdp_xorg71,代码行数:22,


示例11: dmxCreatePicture

/** Create a picture.  This function handles the CreatePicture *  unwrapping/wrapping and calls dmxDoCreatePicture to actually create *  the picture on the appropriate screen.  */int dmxCreatePicture(PicturePtr pPicture){    ScreenPtr         pScreen   = pPicture->pDrawable->pScreen;    DMXScreenInfo    *dmxScreen = &dmxScreens[pScreen->myNum];    PictureScreenPtr  ps        = GetPictureScreen(pScreen);    dmxPictPrivPtr    pPictPriv = DMX_GET_PICT_PRIV(pPicture);    int               ret       = Success;    DMX_UNWRAP(CreatePicture, dmxScreen, ps);#if 1    if (ps->CreatePicture)	ret = ps->CreatePicture(pPicture);#endif    /* Create picture on back-end server */    pPictPriv->pict      = dmxDoCreatePicture(pPicture);    pPictPriv->savedMask = 0;    DMX_WRAP(CreatePicture, dmxCreatePicture, dmxScreen, ps);    return ret;}
开发者ID:Magister,项目名称:x11rdp_xorg71,代码行数:25,


示例12: dmxProcRenderSetPictureTransform

/** Set the picture transform on each screen. */static intdmxProcRenderSetPictureTransform(ClientPtr client){    DMXScreenInfo *dmxScreen;    PicturePtr pPicture;    dmxPictPrivPtr pPictPriv;    XTransform xform;    REQUEST(xRenderSetPictureTransformReq);    REQUEST_SIZE_MATCH(xRenderSetPictureTransformReq);    VERIFY_PICTURE(pPicture, stuff->picture, client, DixWriteAccess);    /* For the following to work with PanoramiX, it assumes that Render     * wraps the ProcRenderVector after dmxRenderInit has been called.     */    dmxScreen = &dmxScreens[pPicture->pDrawable->pScreen->myNum];    pPictPriv = DMX_GET_PICT_PRIV(pPicture);    if (pPictPriv->pict) {        xform.matrix[0][0] = stuff->transform.matrix11;        xform.matrix[0][1] = stuff->transform.matrix12;        xform.matrix[0][2] = stuff->transform.matrix13;        xform.matrix[1][0] = stuff->transform.matrix21;        xform.matrix[1][1] = stuff->transform.matrix22;        xform.matrix[1][2] = stuff->transform.matrix23;        xform.matrix[2][0] = stuff->transform.matrix31;        xform.matrix[2][1] = stuff->transform.matrix32;        xform.matrix[2][2] = stuff->transform.matrix33;        XRenderSetPictureTransform(dmxScreen->beDisplay,                                   pPictPriv->pict, &xform);        dmxSync(dmxScreen, FALSE);    }    return dmxSaveRenderVector[stuff->renderReqType] (client);}
开发者ID:Agnesa,项目名称:xserver,代码行数:38,


示例13: dmxProcRenderCompositeGlyphs

/** Composite glyphs on each screen into the requested picture.  If *  either the src or dest picture has not been allocated due to lazy *  window creation, this request will gracefully return. */static intdmxProcRenderCompositeGlyphs(ClientPtr client){    int ret;    REQUEST(xRenderCompositeGlyphsReq);    ret = dmxSaveRenderVector[stuff->renderReqType] (client);    /* For the following to work with PanoramiX, it assumes that Render     * wraps the ProcRenderVector after dmxRenderInit has been called.     */    if (ret == Success) {        PicturePtr pSrc;        dmxPictPrivPtr pSrcPriv;        PicturePtr pDst;        dmxPictPrivPtr pDstPriv;        PictFormatPtr pFmt;        XRenderPictFormat *pFormat;        int size;        int scrnNum;        DMXScreenInfo *dmxScreen;        CARD8 *buffer;        CARD8 *end;        int space;        int nglyph;        char *glyphs;        char *curGlyph;        xGlyphElt *elt;        int nelt;        XGlyphElt8 *elts;        XGlyphElt8 *curElt;        GlyphSetPtr glyphSet;        dmxGlyphPrivPtr glyphPriv;        dixLookupResourceByType((pointer *) &pSrc,                                stuff->src, PictureType, client, DixReadAccess);        pSrcPriv = DMX_GET_PICT_PRIV(pSrc);        if (!pSrcPriv->pict)            return ret;        dixLookupResourceByType((pointer *) &pDst,                                stuff->dst, PictureType,                                client, DixWriteAccess);        pDstPriv = DMX_GET_PICT_PRIV(pDst);        if (!pDstPriv->pict)            return ret;        scrnNum = pDst->pDrawable->pScreen->myNum;        dmxScreen = &dmxScreens[scrnNum];        /* Note: If the back-end display has been detached, then it         * should not be possible to reach here since the pSrcPriv->pict         * and pDstPriv->pict will have already been set to 0.         */        if (!dmxScreen->beDisplay)            return ret;        if (stuff->maskFormat)            dixLookupResourceByType((pointer *) &pFmt,                                    stuff->maskFormat, PictFormatType,                                    client, DixReadAccess);        else            pFmt = NULL;        pFormat = dmxFindFormat(dmxScreen, pFmt);        switch (stuff->renderReqType) {        case X_RenderCompositeGlyphs8:            size = sizeof(CARD8);            break;        case X_RenderCompositeGlyphs16:            size = sizeof(CARD16);            break;        case X_RenderCompositeGlyphs32:            size = sizeof(CARD32);            break;        default:            return BadPictOp;   /* Can't happen */        }        buffer = (CARD8 *) (stuff + 1);        end = (CARD8 *) stuff + (stuff->length << 2);        nelt = 0;        nglyph = 0;        while (buffer + sizeof(xGlyphElt) < end) {            elt = (xGlyphElt *) buffer;            buffer += sizeof(xGlyphElt);            if (elt->len == 0xff) {//.........这里部分代码省略.........
开发者ID:Agnesa,项目名称:xserver,代码行数:101,


示例14: dmxValidatePicture

/** Validate the picture's attributes before rendering to it.  Update *  any picture attributes that have been changed by one of the higher *  layers. */voiddmxValidatePicture(PicturePtr pPicture, Mask mask){    ScreenPtr pScreen = pPicture->pDrawable->pScreen;    DMXScreenInfo *dmxScreen = &dmxScreens[pScreen->myNum];    PictureScreenPtr ps = GetPictureScreen(pScreen);    dmxPictPrivPtr pPictPriv = DMX_GET_PICT_PRIV(pPicture);    DMX_UNWRAP(ValidatePicture, dmxScreen, ps);    /* Change picture attributes on back-end server */    if (pPictPriv->pict) {        XRenderPictureAttributes attribs;        if (mask & CPRepeat) {            attribs.repeat = pPicture->repeatType;        }        if (mask & CPAlphaMap) {            if (pPicture->alphaMap) {                dmxPictPrivPtr pAlphaPriv;                pAlphaPriv = DMX_GET_PICT_PRIV(pPicture->alphaMap);                if (pAlphaPriv->pict) {                    attribs.alpha_map = pAlphaPriv->pict;                }                else {                    /* FIXME: alpha picture drawable has not been created?? */                    return;     /* or should this be: attribs.alpha_map = None; */                }            }            else {                attribs.alpha_map = None;            }        }        if (mask & CPAlphaXOrigin)            attribs.alpha_x_origin = pPicture->alphaOrigin.x;        if (mask & CPAlphaYOrigin)            attribs.alpha_y_origin = pPicture->alphaOrigin.y;        if (mask & CPClipXOrigin)            attribs.clip_x_origin = pPicture->clipOrigin.x;        if (mask & CPClipYOrigin)            attribs.clip_y_origin = pPicture->clipOrigin.y;        if (mask & CPClipMask)            mask &= ~CPClipMask;        /* Handled in ChangePictureClip */        if (mask & CPGraphicsExposure)            attribs.graphics_exposures = pPicture->graphicsExposures;        if (mask & CPSubwindowMode)            attribs.subwindow_mode = pPicture->subWindowMode;        if (mask & CPPolyEdge)            attribs.poly_edge = pPicture->polyEdge;        if (mask & CPPolyMode)            attribs.poly_mode = pPicture->polyMode;        if (mask & CPComponentAlpha)            attribs.component_alpha = pPicture->componentAlpha;        XRenderChangePicture(dmxScreen->beDisplay, pPictPriv->pict,                             mask, &attribs);        dmxSync(dmxScreen, FALSE);    }    else {        pPictPriv->savedMask |= mask;    }#if 1    if (ps->ValidatePicture)        ps->ValidatePicture(pPicture, mask);#endif    DMX_WRAP(ValidatePicture, dmxValidatePicture, dmxScreen, ps);}
开发者ID:Agnesa,项目名称:xserver,代码行数:73,



注:本文中的DMX_GET_PICT_PRIV函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ DM_LOG函数代码示例
C++ DMWARN函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。