Lines Matching +full:composite +full:- +full:in

7  * the above copyright notice appear in all copies and that both that
8 * copyright notice and this permission notice appear in supporting
9 * documentation, and that the name of Keith Packard not be used in
16 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
19 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
20 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
25 #include <dix-config.h>
45 if (pPicture->freeCompClip) in miDestroyPicture()
46 RegionDestroy(pPicture->pCompositeClip); in miDestroyPicture()
52 if (pPicture->clientClip) in miDestroyPictureClip()
53 RegionDestroy(pPicture->clientClip); in miDestroyPictureClip()
54 pPicture->clientClip = NULL; in miDestroyPictureClip()
60 ScreenPtr pScreen = pPicture->pDrawable->pScreen; in miChangePictureClip()
70 (*pScreen->DestroyPixmap) ((PixmapPtr) value); in miChangePictureClip()
85 (*ps->DestroyPictureClip) (pPicture); in miChangePictureClip()
86 pPicture->clientClip = clientClip; in miChangePictureClip()
87 pPicture->stateChanges |= CPClipMask; in miChangePictureClip()
100 DrawablePtr pDrawable = pPicture->pDrawable; in miValidatePicture()
103 || (pDrawable->serialNumber != in miValidatePicture()
104 (pPicture->serialNumber & DRAWABLE_SERIAL_BITS))) { in miValidatePicture()
105 if (pDrawable->type == DRAWABLE_WINDOW) { in miValidatePicture()
110 if (pPicture->subWindowMode == IncludeInferiors) { in miValidatePicture()
115 pregWin = &pWin->clipList; in miValidatePicture()
118 freeCompClip = pPicture->freeCompClip; in miValidatePicture()
123 * (or maybe re-use) it later. this way, we avoid unnecessary in miValidatePicture()
127 if (!pPicture->clientClip) { in miValidatePicture()
129 RegionDestroy(pPicture->pCompositeClip); in miValidatePicture()
130 pPicture->pCompositeClip = pregWin; in miValidatePicture()
131 pPicture->freeCompClip = freeTmpClip; in miValidatePicture()
135 * we need one 'real' region to put into the composite clip. if in miValidatePicture()
136 * pregWin the current composite clip are real, we can get rid of in miValidatePicture()
137 * one. if pregWin is real and the current composite clip isn't, in miValidatePicture()
138 * use pregWin for the composite clip. if the current composite in miValidatePicture()
139 * clip is real and pregWin isn't, use the current composite in miValidatePicture()
143 RegionTranslate(pPicture->clientClip, in miValidatePicture()
144 pDrawable->x + pPicture->clipOrigin.x, in miValidatePicture()
145 pDrawable->y + pPicture->clipOrigin.y); in miValidatePicture()
148 RegionIntersect(pPicture->pCompositeClip, in miValidatePicture()
149 pregWin, pPicture->clientClip); in miValidatePicture()
154 RegionIntersect(pregWin, pregWin, pPicture->clientClip); in miValidatePicture()
155 pPicture->pCompositeClip = pregWin; in miValidatePicture()
158 pPicture->pCompositeClip = RegionCreate(NullBox, 0); in miValidatePicture()
159 RegionIntersect(pPicture->pCompositeClip, in miValidatePicture()
160 pregWin, pPicture->clientClip); in miValidatePicture()
162 pPicture->freeCompClip = TRUE; in miValidatePicture()
163 RegionTranslate(pPicture->clientClip, in miValidatePicture()
164 -(pDrawable->x + pPicture->clipOrigin.x), in miValidatePicture()
165 -(pDrawable->y + pPicture->clipOrigin.y)); in miValidatePicture()
167 } /* end of composite clip for a window */ in miValidatePicture()
172 /* If you want pixmaps in offscreen memory, yes */ in miValidatePicture()
173 pixbounds.x1 = pDrawable->x; in miValidatePicture()
174 pixbounds.y1 = pDrawable->y; in miValidatePicture()
175 pixbounds.x2 = pDrawable->x + pDrawable->width; in miValidatePicture()
176 pixbounds.y2 = pDrawable->y + pDrawable->height; in miValidatePicture()
178 if (pPicture->freeCompClip) { in miValidatePicture()
179 RegionReset(pPicture->pCompositeClip, &pixbounds); in miValidatePicture()
182 pPicture->freeCompClip = TRUE; in miValidatePicture()
183 pPicture->pCompositeClip = RegionCreate(&pixbounds, 1); in miValidatePicture()
186 if (pPicture->clientClip) { in miValidatePicture()
187 if (pDrawable->x || pDrawable->y) { in miValidatePicture()
188 RegionTranslate(pPicture->clientClip, in miValidatePicture()
189 pDrawable->x + pPicture->clipOrigin.x, in miValidatePicture()
190 pDrawable->y + pPicture->clipOrigin.y); in miValidatePicture()
191 RegionIntersect(pPicture->pCompositeClip, in miValidatePicture()
192 pPicture->pCompositeClip, in miValidatePicture()
193 pPicture->clientClip); in miValidatePicture()
194 RegionTranslate(pPicture->clientClip, in miValidatePicture()
195 -(pDrawable->x + pPicture->clipOrigin.x), in miValidatePicture()
196 -(pDrawable->y + pPicture->clipOrigin.y)); in miValidatePicture()
199 RegionTranslate(pPicture->pCompositeClip, in miValidatePicture()
200 -pPicture->clipOrigin.x, in miValidatePicture()
201 -pPicture->clipOrigin.y); in miValidatePicture()
202 RegionIntersect(pPicture->pCompositeClip, in miValidatePicture()
203 pPicture->pCompositeClip, in miValidatePicture()
204 pPicture->clientClip); in miValidatePicture()
205 RegionTranslate(pPicture->pCompositeClip, in miValidatePicture()
206 pPicture->clipOrigin.x, in miValidatePicture()
207 pPicture->clipOrigin.y); in miValidatePicture()
210 } /* end of composite clip for pixmap */ in miValidatePicture()
239 if (pRbox->x1 < (v = pCbox->x1 + dx)) in miClipPictureReg()
240 pRbox->x1 = BOUND(v); in miClipPictureReg()
241 if (pRbox->x2 > (v = pCbox->x2 + dx)) in miClipPictureReg()
242 pRbox->x2 = BOUND(v); in miClipPictureReg()
243 if (pRbox->y1 < (v = pCbox->y1 + dy)) in miClipPictureReg()
244 pRbox->y1 = BOUND(v); in miClipPictureReg()
245 if (pRbox->y2 > (v = pCbox->y2 + dy)) in miClipPictureReg()
246 pRbox->y2 = BOUND(v); in miClipPictureReg()
247 if (pRbox->x1 >= pRbox->x2 || pRbox->y1 >= pRbox->y2) { in miClipPictureReg()
255 pixman_region_translate(pRegion, -dx, -dy); in miClipPictureReg()
267 if (pPicture->clientClip) { in miClipPictureSrc()
270 pixman_region_translate(pPicture->clientClip, in miClipPictureSrc()
271 pPicture->clipOrigin.x + dx, in miClipPictureSrc()
272 pPicture->clipOrigin.y + dy); in miClipPictureSrc()
274 result = RegionIntersect(pRegion, pRegion, pPicture->clientClip); in miClipPictureSrc()
276 pixman_region_translate(pPicture->clientClip, in miClipPictureSrc()
277 -(pPicture->clipOrigin.x + dx), in miClipPictureSrc()
278 -(pPicture->clipOrigin.y + dy)); in miClipPictureSrc()
289 DrawablePtr pDrawable = pPicture->pDrawable; in SourceValidateOnePicture()
295 pScreen = pDrawable->pScreen; in SourceValidateOnePicture()
297 if (pScreen->SourceValidate) { in SourceValidateOnePicture()
298 pScreen->SourceValidate(pDrawable, 0, 0, pDrawable->width, in SourceValidateOnePicture()
299 pDrawable->height, pPicture->subWindowMode); in SourceValidateOnePicture()
307 if (pPicture->alphaMap) in miCompositeSourceValidate()
308 SourceValidateOnePicture(pPicture->alphaMap); in miCompositeSourceValidate()
330 pRegion->extents.x1 = xDst; in miComputeCompositeRegion()
332 pRegion->extents.x2 = BOUND(v); in miComputeCompositeRegion()
333 pRegion->extents.y1 = yDst; in miComputeCompositeRegion()
335 pRegion->extents.y2 = BOUND(v); in miComputeCompositeRegion()
336 pRegion->data = 0; in miComputeCompositeRegion()
338 if (pRegion->extents.x1 >= pRegion->extents.x2 || in miComputeCompositeRegion()
339 pRegion->extents.y1 >= pRegion->extents.y2) { in miComputeCompositeRegion()
344 if (!miClipPictureReg(pRegion, pDst->pCompositeClip, 0, 0)) { in miComputeCompositeRegion()
348 if (pDst->alphaMap) { in miComputeCompositeRegion()
349 if (!miClipPictureReg(pRegion, pDst->alphaMap->pCompositeClip, in miComputeCompositeRegion()
350 -pDst->alphaOrigin.x, -pDst->alphaOrigin.y)) { in miComputeCompositeRegion()
356 if (!miClipPictureSrc(pRegion, pSrc, xDst - xSrc, yDst - ySrc)) { in miComputeCompositeRegion()
360 if (pSrc->alphaMap) { in miComputeCompositeRegion()
361 if (!miClipPictureSrc(pRegion, pSrc->alphaMap, in miComputeCompositeRegion()
362 xDst - (xSrc - pSrc->alphaOrigin.x), in miComputeCompositeRegion()
363 yDst - (ySrc - pSrc->alphaOrigin.y))) { in miComputeCompositeRegion()
370 if (!miClipPictureSrc(pRegion, pMask, xDst - xMask, yDst - yMask)) { in miComputeCompositeRegion()
374 if (pMask->alphaMap) { in miComputeCompositeRegion()
375 if (!miClipPictureSrc(pRegion, pMask->alphaMap, in miComputeCompositeRegion()
376 xDst - (xMask - pMask->alphaOrigin.x), in miComputeCompositeRegion()
377 yDst - (yMask - pMask->alphaOrigin.y))) { in miComputeCompositeRegion()
397 switch (format->type) { in miRenderColorToPixel()
399 r = color->red >> (16 - Ones(format->direct.redMask)); in miRenderColorToPixel()
400 g = color->green >> (16 - Ones(format->direct.greenMask)); in miRenderColorToPixel()
401 b = color->blue >> (16 - Ones(format->direct.blueMask)); in miRenderColorToPixel()
402 a = color->alpha >> (16 - Ones(format->direct.alphaMask)); in miRenderColorToPixel()
403 r = r << format->direct.red; in miRenderColorToPixel()
404 g = g << format->direct.green; in miRenderColorToPixel()
405 b = b << format->direct.blue; in miRenderColorToPixel()
406 a = a << format->direct.alpha; in miRenderColorToPixel()
410 pIndexed = (miIndexedPtr) (format->index.devPrivate); in miRenderColorToPixel()
411 if (pIndexed->color) { in miRenderColorToPixel()
412 r = color->red >> 11; in miRenderColorToPixel()
413 g = color->green >> 11; in miRenderColorToPixel()
414 b = color->blue >> 11; in miRenderColorToPixel()
418 r = color->red >> 8; in miRenderColorToPixel()
419 g = color->green >> 8; in miRenderColorToPixel()
420 b = color->blue >> 8; in miRenderColorToPixel()
443 if (!pSrc->pDrawable) in miIsSolidAlpha()
446 pScreen = pSrc->pDrawable->pScreen; in miIsSolidAlpha()
448 /* Alpha-only */ in miIsSolidAlpha()
449 if (PICT_FORMAT_TYPE(pSrc->format) != PICT_TYPE_A) in miIsSolidAlpha()
452 if (!pSrc->repeat) in miIsSolidAlpha()
455 if (pSrc->pDrawable->width != 1 || pSrc->pDrawable->height != 1) in miIsSolidAlpha()
458 (*pScreen->GetImage) (pSrc->pDrawable, 0, 0, 1, 1, ZPixmap, ~0L, line); in miIsSolidAlpha()
459 switch (pSrc->pDrawable->bitsPerPixel) { in miIsSolidAlpha()
477 switch (format->type) { in miRenderPixelToColor()
479 r = (pixel >> format->direct.red) & format->direct.redMask; in miRenderPixelToColor()
480 g = (pixel >> format->direct.green) & format->direct.greenMask; in miRenderPixelToColor()
481 b = (pixel >> format->direct.blue) & format->direct.blueMask; in miRenderPixelToColor()
482 a = (pixel >> format->direct.alpha) & format->direct.alphaMask; in miRenderPixelToColor()
483 color->red = miFillColor(r, Ones(format->direct.redMask)); in miRenderPixelToColor()
484 color->green = miFillColor(g, Ones(format->direct.greenMask)); in miRenderPixelToColor()
485 color->blue = miFillColor(b, Ones(format->direct.blueMask)); in miRenderPixelToColor()
486 color->alpha = miFillColor(a, Ones(format->direct.alphaMask)); in miRenderPixelToColor()
489 pIndexed = (miIndexedPtr) (format->index.devPrivate); in miRenderPixelToColor()
490 pixel = pIndexed->rgba[pixel & (MI_MAX_INDEXED - 1)]; in miRenderPixelToColor()
494 color->red = miFillColor(r, 8); in miRenderPixelToColor()
495 color->green = miFillColor(g, 8); in miRenderPixelToColor()
496 color->blue = miFillColor(b, 8); in miRenderPixelToColor()
497 color->alpha = 0xffff; in miRenderPixelToColor()
512 ntri = npoints - 2; in miTriStrip()
517 for (tri = tris; npoints >= 3; npoints--, points++, tri++) { in miTriStrip()
518 tri->p1 = points[0]; in miTriStrip()
519 tri->p2 = points[1]; in miTriStrip()
520 tri->p3 = points[2]; in miTriStrip()
537 ntri = npoints - 2; in miTriFan()
543 for (tri = tris; npoints >= 3; npoints--, points++, tri++) { in miTriFan()
544 tri->p1 = *first; in miTriFan()
545 tri->p2 = points[0]; in miTriFan()
546 tri->p3 = points[1]; in miTriFan()
560 ps->CreatePicture = miCreatePicture; in miPictureInit()
561 ps->DestroyPicture = miDestroyPicture; in miPictureInit()
562 ps->ChangePictureClip = miChangePictureClip; in miPictureInit()
563 ps->DestroyPictureClip = miDestroyPictureClip; in miPictureInit()
564 ps->ChangePicture = miChangePicture; in miPictureInit()
565 ps->ValidatePicture = miValidatePicture; in miPictureInit()
566 ps->InitIndexed = miInitIndexed; in miPictureInit()
567 ps->CloseIndexed = miCloseIndexed; in miPictureInit()
568 ps->UpdateIndexed = miUpdateIndexed; in miPictureInit()
569 ps->ChangePictureTransform = miChangePictureTransform; in miPictureInit()
570 ps->ChangePictureFilter = miChangePictureFilter; in miPictureInit()
571 ps->RealizeGlyph = miRealizeGlyph; in miPictureInit()
572 ps->UnrealizeGlyph = miUnrealizeGlyph; in miPictureInit()
575 ps->Composite = 0; /* requires DDX support */ in miPictureInit()
576 ps->Glyphs = miGlyphs; in miPictureInit()
577 ps->CompositeRects = miCompositeRects; in miPictureInit()
578 ps->Trapezoids = 0; in miPictureInit()
579 ps->Triangles = 0; in miPictureInit()
581 ps->RasterizeTrapezoid = 0; /* requires DDX support */ in miPictureInit()
582 ps->AddTraps = 0; /* requires DDX support */ in miPictureInit()
583 ps->AddTriangles = 0; /* requires DDX support */ in miPictureInit()
585 ps->TriStrip = miTriStrip; /* converts call to CompositeTriangles */ in miPictureInit()
586 ps->TriFan = miTriFan; in miPictureInit()