aboutsummaryrefslogtreecommitdiff
path: root/Plugins/xshred.c
diff options
context:
space:
mode:
Diffstat (limited to 'Plugins/xshred.c')
-rw-r--r--Plugins/xshred.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/Plugins/xshred.c b/Plugins/xshred.c
new file mode 100644
index 0000000..6918e50
--- /dev/null
+++ b/Plugins/xshred.c
@@ -0,0 +1,20 @@
+#include <stdlib.h>
+#include "plugin.h"
+
+void perform_copy(_frame f1, _frame f2, _args a)
+{
+ int step, w, h, y, pixelsize=f1.pixelformat/8;
+
+ if(!a.s) return;
+
+ step = atoi(a.s);
+ if(step<=0) step=1;
+
+ w = f1.width<f2.width ? f1.width : f2.width;
+ h = f1.height<f2.height ? f1.height : f2.height;
+
+ for(y=0; y<h; y+=step)
+ {
+ memcpy(scanline(f2, y), scanline(f1, y), pixelsize*w);
+ }
+}