diff options
author | Jay Sorg <jay.sorg@gmail.com> | 2014-01-28 10:41:32 -0800 |
---|---|---|
committer | Jay Sorg <jay.sorg@gmail.com> | 2014-01-28 10:41:32 -0800 |
commit | 6beb2364f38f5e53b0acb744ffc8225c9c13e492 (patch) | |
tree | f3686148be0a7a912c039a57e1e284c6250e43d3 /xorg/server/module/rdpComposite.c | |
parent | 022c1e31f9f9cee15d7264fb0f520c1a795b73ef (diff) | |
download | xrdp-proprietary-6beb2364f38f5e53b0acb744ffc8225c9c13e492.tar.gz xrdp-proprietary-6beb2364f38f5e53b0acb744ffc8225c9c13e492.zip |
xorg: work on xorg driver
Diffstat (limited to 'xorg/server/module/rdpComposite.c')
-rw-r--r-- | xorg/server/module/rdpComposite.c | 58 |
1 files changed, 7 insertions, 51 deletions
diff --git a/xorg/server/module/rdpComposite.c b/xorg/server/module/rdpComposite.c index 7ac6a084..7535d6c3 100644 --- a/xorg/server/module/rdpComposite.c +++ b/xorg/server/module/rdpComposite.c @@ -48,17 +48,6 @@ composite(alpha blending) calls /******************************************************************************/ static void -rdpCompositePre(rdpPtr dev, rdpClientCon *clientCon, - PictureScreenPtr ps, CARD8 op, PicturePtr pSrc, - PicturePtr pMask, PicturePtr pDst, - INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, - INT16 xDst, INT16 yDst, CARD16 width, CARD16 height, - BoxPtr box) -{ -} - -/******************************************************************************/ -static void rdpCompositeOrg(PictureScreenPtr ps, rdpPtr dev, CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst, INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, @@ -71,30 +60,6 @@ rdpCompositeOrg(PictureScreenPtr ps, rdpPtr dev, } /******************************************************************************/ -static void -rdpCompositePost(rdpPtr dev, rdpClientCon *clientCon, - PictureScreenPtr ps, CARD8 op, PicturePtr pSrc, - PicturePtr pMask, PicturePtr pDst, - INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, - INT16 xDst, INT16 yDst, CARD16 width, CARD16 height, - BoxPtr box) -{ - RegionRec reg; - - if (!XRDP_DRAWABLE_IS_VISIBLE(dev, pDst->pDrawable)) - { - return; - } - rdpRegionInit(®, box, 0); - if (pDst->pCompositeClip != 0) - { - rdpRegionIntersect(®, pDst->pCompositeClip, ®); - } - rdpClientConAddDirtyScreenReg(dev, clientCon, ®); - rdpRegionUninit(®); -} - -/******************************************************************************/ void rdpComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst, INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst, @@ -102,9 +67,9 @@ rdpComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst, { ScreenPtr pScreen; rdpPtr dev; - rdpClientCon *clientCon; PictureScreenPtr ps; BoxRec box; + RegionRec reg; LLOGLN(10, ("rdpComposite:")); pScreen = pDst->pDrawable->pScreen; @@ -114,24 +79,15 @@ rdpComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst, box.y1 = yDst + pDst->pDrawable->y; box.x2 = box.x1 + width; box.y2 = box.y1 + height; - ps = GetPictureScreen(pScreen); - clientCon = dev->clientConHead; - while (clientCon != NULL) + rdpRegionInit(®, &box, 0); + if (pDst->pCompositeClip != NULL) { - rdpCompositePre(dev, clientCon, ps, op, pSrc, pMask, pDst, - xSrc, ySrc, xMask, yMask, xDst, yDst, - width, height, &box); - clientCon = clientCon->next; + rdpRegionIntersect(®, pDst->pCompositeClip, ®); } + ps = GetPictureScreen(pScreen); /* do original call */ rdpCompositeOrg(ps, dev, op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask, xDst, yDst, width, height); - clientCon = dev->clientConHead; - while (clientCon != NULL) - { - rdpCompositePost(dev, clientCon, ps, op, pSrc, pMask, pDst, - xSrc, ySrc, xMask, yMask, xDst, yDst, - width, height, &box); - clientCon = clientCon->next; - } + rdpClientConAddAllReg(dev, ®, pDst->pDrawable); + rdpRegionUninit(®); } |