diff options
author | Lars Knoll <lars@trolltech.com> | 2005-06-29 11:57:16 +0000 |
---|---|---|
committer | Lars Knoll <lars@trolltech.com> | 2005-06-29 11:57:16 +0000 |
commit | d8a98454e305973dd7fec76db2ef80705cf7c298 (patch) | |
tree | 68445711b6075a247133a5f7d86d6b5ce2ecfe61 /hw/kdrive/src | |
parent | ce0e11aeac76119b96b463605bc1f5318e3d2bde (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.
Diffstat (limited to 'hw/kdrive/src')
-rw-r--r-- | hw/kdrive/src/kaapict.c | 7 |
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, |