1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Minor optimisation in software image rendering.

This commit is contained in:
jules 2014-04-12 12:21:17 +01:00
parent 589f20e829
commit bcce4e388a

View file

@ -890,20 +890,22 @@ namespace EdgeTableFillers
forcedinline void copyRow (DestPixelType* dest, SrcPixelType const* src, int width) const noexcept
{
if (srcData.pixelStride == 3 && destData.pixelStride == 3)
const int destStride = destData.pixelStride;
const int srcStride = srcData.pixelStride;
if (destStride == srcStride
&& srcData.pixelFormat == Image::PixelFormat::RGB
&& destData.pixelFormat == Image::PixelFormat::RGB)
{
memcpy (dest, src, sizeof (PixelRGB) * (size_t) width);
memcpy (dest, src, (size_t) (width * srcStride));
}
else
{
const int destStride = destData.pixelStride;
const int srcStride = srcData.pixelStride;
do
{
dest->blend (*src);
dest = addBytesToPointer (dest, destStride);
src = addBytesToPointer (src, srcStride);
src = addBytesToPointer (src, srcStride);
} while (--width > 0);
}
}