Home | History | Annotate | Download | only in filters

Lines Matching refs:paintingData

258 ALWAYS_INLINE void FEConvolveMatrix::fastSetInteriorPixels(PaintingData& paintingData, int clipRight, int clipBottom, int yStart, int yEnd)
261 int pixel = (m_targetOffset.y() * paintingData.width + m_targetOffset.x()) * 4;
287 totals[0] += m_kernelMatrix[kernelValue] * static_cast<float>(paintingData.srcPixelArray->item(kernelPixel++));
288 totals[1] += m_kernelMatrix[kernelValue] * static_cast<float>(paintingData.srcPixelArray->item(kernelPixel++));
289 totals[2] += m_kernelMatrix[kernelValue] * static_cast<float>(paintingData.srcPixelArray->item(kernelPixel++));
291 totals[3] += m_kernelMatrix[kernelValue] * static_cast<float>(paintingData.srcPixelArray->item(kernelPixel));
300 setDestinationPixels<preserveAlphaValues>(paintingData.dstPixelArray, pixel, totals, m_divisor, paintingData.bias, paintingData.srcPixelArray);
308 ALWAYS_INLINE int FEConvolveMatrix::getPixelValue(PaintingData& paintingData, int x, int y)
310 if (x >= 0 && x < paintingData.width && y >= 0 && y < paintingData.height)
311 return (y * paintingData.width + x) << 2;
319 else if (x >= paintingData.width)
320 x = paintingData.width - 1;
323 else if (y >= paintingData.height)
324 y = paintingData.height - 1;
325 return (y * paintingData.width + x) << 2;
328 x += paintingData.width;
329 x %= paintingData.width;
331 y += paintingData.height;
332 y %= paintingData.height;
333 return (y * paintingData.width + x) << 2;
339 void FEConvolveMatrix::fastSetOuterPixels(PaintingData& paintingData, int x1, int y1, int x2, int y2)
341 int pixel = (y1 * paintingData.width + x1) * 4;
347 int xIncrease = (paintingData.width - width) * 4;
368 int pixelIndex = getPixelValue(paintingData, kernelPixelX, kernelPixelY);
370 totals[0] += m_kernelMatrix[kernelValue] * static_cast<float>(paintingData.srcPixelArray->item(pixelIndex));
371 totals[1] += m_kernelMatrix[kernelValue] * static_cast<float>(paintingData.srcPixelArray->item(pixelIndex + 1));
372 totals[2] += m_kernelMatrix[kernelValue] * static_cast<float>(paintingData.srcPixelArray->item(pixelIndex + 2));
375 totals[3] += m_kernelMatrix[kernelValue] * static_cast<float>(paintingData.srcPixelArray->item(pixelIndex + 3));
385 setDestinationPixels<preserveAlphaValues>(paintingData.dstPixelArray, pixel, totals, m_divisor, paintingData.bias, paintingData.srcPixelArray);
398 ALWAYS_INLINE void FEConvolveMatrix::setInteriorPixels(PaintingData& paintingData, int clipRight, int clipBottom, int yStart, int yEnd)
403 fastSetInteriorPixels<true>(paintingData, clipRight, clipBottom, yStart, yEnd);
405 fastSetInteriorPixels<false>(paintingData, clipRight, clipBottom, yStart, yEnd);
408 ALWAYS_INLINE void FEConvolveMatrix::setOuterPixels(PaintingData& paintingData, int x1, int y1, int x2, int y2)
413 fastSetOuterPixels<true>(paintingData, x1, y1, x2, y2);
415 fastSetOuterPixels<false>(paintingData, x1, y1, x2, y2);
420 param->filter->setInteriorPixels(*param->paintingData, param->clipRight, param->clipBottom, param->yStart, param->yEnd);
444 PaintingData paintingData;
445 paintingData.srcPixelArray = srcPixelArray.get();
446 paintingData.dstPixelArray = resultImage;
447 paintingData.width = paintSize.width();
448 paintingData.height = paintSize.height();
449 paintingData.bias = m_bias * 255;
471 param.paintingData = &paintingData;
482 setInteriorPixels(paintingData, clipRight, clipBottom, 0, clipBottom);
488 setOuterPixels(paintingData, 0, 0, paintSize.width(), m_targetOffset.y());
490 setOuterPixels(paintingData, 0, clipBottom, paintSize.width(), paintSize.height());
492 setOuterPixels(paintingData, 0, m_targetOffset.y(), m_targetOffset.x(), clipBottom);
494 setOuterPixels(paintingData, clipRight, m_targetOffset.y(), paintSize.width(), clipBottom);
497 setOuterPixels(paintingData, 0, 0, paintSize.width(), paintSize.height());