summaryrefslogtreecommitdiffstats
path: root/plugins/dexela/software-roi.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dexela/software-roi.c')
-rw-r--r--plugins/dexela/software-roi.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/plugins/dexela/software-roi.c b/plugins/dexela/software-roi.c
index 74baa96..6056dec 100644
--- a/plugins/dexela/software-roi.c
+++ b/plugins/dexela/software-roi.c
@@ -1,12 +1,12 @@
#include "software-roi.h"
#include <string.h>
-void apply_software_roi(const guchar* src, guint srcWidth, guchar* dest, guint x, guint y, guint roiWidth, guint roiHeight)
+void apply_software_roi(const guchar* src, guint srcWidth, guint bytesPerPixel, guchar* dest, guint x, guint y, guint roiWidth, guint roiHeight)
{
for (guint row = 0; row < roiHeight; row++) {
- guint rowOffset = srcWidth * (y + row);
- guint offset = rowOffset + x;
- memcpy(dest + row * roiWidth, src + offset, roiWidth);
+ guint roiWidthInBytes = roiWidth * bytesPerPixel;
+ guint rowOffset = srcWidth * bytesPerPixel * (y + row);
+ guint offset = rowOffset + x * bytesPerPixel;
+ memcpy(dest + row * roiWidthInBytes, src + offset, roiWidthInBytes);
}
}
-