summaryrefslogtreecommitdiff
path: root/plugins/dumb/dumb-kode54/studio/src/subclip.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dumb/dumb-kode54/studio/src/subclip.c')
-rw-r--r--plugins/dumb/dumb-kode54/studio/src/subclip.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/plugins/dumb/dumb-kode54/studio/src/subclip.c b/plugins/dumb/dumb-kode54/studio/src/subclip.c
new file mode 100644
index 00000000..ef1a9137
--- /dev/null
+++ b/plugins/dumb/dumb-kode54/studio/src/subclip.c
@@ -0,0 +1,33 @@
+#include <allegro.h>
+
+#include "subclip.h"
+
+
+
+void subclip(int l, int t, int r, int b, void (*proc)(void *data), void *data)
+{
+ int cl = screen->cl;
+ int ct = screen->ct;
+ int cr = screen->cr;
+ int cb = screen->cb;
+
+ if (l < cl) l = cl;
+ if (t < ct) t = ct;
+ if (r > cr) r = cr;
+ if (b > cb) b = cb;
+
+ if (r > l && b > t) {
+ screen->cl = l;
+ screen->ct = t;
+ screen->cr = r;
+ screen->cb = b;
+
+ (*proc)(data);
+
+ screen->cl = cl;
+ screen->ct = ct;
+ screen->cr = cr;
+ screen->cb = cb;
+ }
+}
+