349
345
pScreen = pDrawable->pScreen;
351
347
if (pScreen->SourceValidate)
353
if (pPicture->transform)
357
int xmin, ymin, xmax, ymax;
359
#define VectorSet(i,_x,_y) { points[i].x = _x; points[i].y = _y; }
361
VectorSet (1, x + width, y);
362
VectorSet (2, x, y + height);
363
VectorSet (3, x + width, y + height);
365
xmax = ymax = -32737;
366
for (i = 0; i < 4; i++)
369
t.vector[0] = IntToxFixed (points[i].x);
370
t.vector[1] = IntToxFixed (points[i].y);
371
t.vector[2] = xFixed1;
372
if (pixman_transform_point (pPicture->transform, &t))
374
int tx = xFixedToInt (t.vector[0]);
375
int ty = xFixedToInt (t.vector[1]);
376
if (tx < xmin) xmin = tx;
377
if (tx > xmax) xmax = tx;
378
if (ty < ymin) ymin = ty;
379
if (ty > ymax) ymax = ty;
385
height = ymax - ymin;
387
x += pPicture->pDrawable->x;
388
y += pPicture->pDrawable->y;
389
(*pScreen->SourceValidate) (pDrawable, x, y, width, height,
390
pPicture->subWindowMode);
349
pScreen->SourceValidate (
350
pDrawable, 0, 0, pDrawable->width, pDrawable->height, pPicture->subWindowMode);
355
miCompositeSourceValidate (PicturePtr pPicture)
357
SourceValidateOnePicture (pPicture);
358
if (pPicture->alphaMap)
359
SourceValidateOnePicture (pPicture->alphaMap);
395
363
* returns FALSE if the final region is empty. Indistinguishable from
396
364
* an allocation failure, but rendering ignores those anyways.
483
miCompositeSourceValidate (pSrc, xSrc, ySrc, width, height);
451
miCompositeSourceValidate (pSrc);
485
miCompositeSourceValidate (pMask, xMask, yMask, width, height);
453
miCompositeSourceValidate (pMask);
631
599
ps->Composite = 0; /* requires DDX support */
632
600
ps->Glyphs = miGlyphs;
633
601
ps->CompositeRects = miCompositeRects;
634
ps->Trapezoids = miTrapezoids;
635
ps->Triangles = miTriangles;
636
ps->TriStrip = miTriStrip;
637
ps->TriFan = miTriFan;
639
605
ps->RasterizeTrapezoid = 0; /* requires DDX support */
640
606
ps->AddTraps = 0; /* requires DDX support */