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 | |
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.
-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, |