summaryrefslogtreecommitdiff
path: root/exa/exa_priv.h
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@huygens.home.fishsoup.net>2008-04-28 21:00:54 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2008-04-28 21:00:54 +0200
commit40eb14c9482457969e0bde97c49edad536285e02 (patch)
tree9dd0886b5a138f45e39fc5b777a1b544d6527b45 /exa/exa_priv.h
parent54184110f6f3e5d7276d5431e739a4fcf0c3523e (diff)
EXA: Add exaCompositeRects()
Add a function to composite multiple independent rectangles from the same source to the same destination in a single operation: this is useful for building a glyph mask.
Diffstat (limited to 'exa/exa_priv.h')
-rw-r--r--exa/exa_priv.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/exa/exa_priv.h b/exa/exa_priv.h
index aaceeb81d..0d5d0f5d2 100644
--- a/exa/exa_priv.h
+++ b/exa/exa_priv.h
@@ -243,6 +243,15 @@ typedef struct _ExaMigrationRec {
RegionPtr pReg;
} ExaMigrationRec, *ExaMigrationPtr;
+typedef struct {
+ INT16 xSrc;
+ INT16 ySrc;
+ INT16 xDst;
+ INT16 yDst;
+ INT16 width;
+ INT16 height;
+} ExaCompositeRectRec, *ExaCompositeRectPtr;
+
/**
* exaDDXDriverInit must be implemented by the DDX using EXA, and is the place
* to set EXA options or hook in screen functions to handle using EXA as the AA.
@@ -457,6 +466,13 @@ exaComposite(CARD8 op,
CARD16 height);
void
+exaCompositeRects(CARD8 op,
+ PicturePtr Src,
+ PicturePtr pDst,
+ int nrect,
+ ExaCompositeRectPtr rects);
+
+void
exaTrapezoids (CARD8 op, PicturePtr pSrc, PicturePtr pDst,
PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc,
int ntrap, xTrapezoid *traps);