summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Knoll <lars@trolltech.com>2005-06-29 11:57:16 +0000
committerLars Knoll <lars@trolltech.com>2005-06-29 11:57:16 +0000
commitd8a98454e305973dd7fec76db2ef80705cf7c298 (patch)
tree68445711b6075a247133a5f7d86d6b5ce2ecfe61
parentce0e11aeac76119b96b463605bc1f5318e3d2bde (diff)
Add support for gradients and solid fills to Render.
Changed the semantics of the Convolution filter a bit. It now doesn't try to normalize the filter values but leaves this to the client. This gives more reasonable behaviour in the limit where the filter parameters sum up to 0.
-rw-r--r--hw/kdrive/src/kaapict.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/hw/kdrive/src/kaapict.c b/hw/kdrive/src/kaapict.c
index bbd1584ff..da093b224 100644
--- a/hw/kdrive/src/kaapict.c
+++ b/hw/kdrive/src/kaapict.c
@@ -546,11 +546,11 @@ kaaComposite(CARD8 op,
KaaScreenPriv (pDst->pDrawable->pScreen);
int ret = -1;
- if (!pMask)
+ if (!pMask && pSrc->pDrawable)
{
if (op == PictOpSrc)
{
- if (pScreenPriv->enabled && pSrc->pDrawable->width == 1 &&
+ if (pScreenPriv->enabled && pSrc->pDrawable && pSrc->pDrawable->width == 1 &&
pSrc->pDrawable->height == 1 && pSrc->repeat)
{
ret = kaaTryDriverSolidFill(pSrc, pDst, xSrc, ySrc, xDst, yDst,
@@ -592,7 +592,8 @@ kaaComposite(CARD8 op,
}
}
- if (pScreenPriv->enabled && pKaaScr->info->PrepareComposite &&
+ if (pSrc->pDrawable && (!pMask || pMask->pDrawable) &&
+ pScreenPriv->enabled && pKaaScr->info->PrepareComposite &&
!pSrc->alphaMap && (!pMask || !pMask->alphaMap) && !pDst->alphaMap)
{
ret = kaaTryDriverComposite(op, pSrc, pMask, pDst, xSrc, ySrc, xMask,