summaryrefslogtreecommitdiff
path: root/atari/redrawslots.h
diff options
context:
space:
mode:
Diffstat (limited to 'atari/redrawslots.h')
-rw-r--r--atari/redrawslots.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/atari/redrawslots.h b/atari/redrawslots.h
new file mode 100644
index 000000000..ae4b77f6a
--- /dev/null
+++ b/atari/redrawslots.h
@@ -0,0 +1,27 @@
+#ifndef ATARI_REDRAW_SLOTS_H
+#define ATARI_REDRAW_SLOTS_H
+
+/*
+ MAX_REDRW_SLOTS
+ This is the number of redraw requests that the slotlist can store.
+ If a redraw is scheduled and all slots are used, the rectangle will
+ be merged to one of the existing slots.
+ */
+#define MAX_REDRW_SLOTS 32
+
+/*
+ This struct holds scheduled redraw requests.
+*/
+struct rect;
+struct s_redrw_slots
+{
+ struct rect areas[MAX_REDRW_SLOTS];
+ short size;
+ short areas_used;
+};
+
+void redraw_slots_init(struct s_redrw_slots * slots, short size);
+void redraw_slot_schedule(struct s_redrw_slots * slots, short x0, short y0, short x1, short y1);
+
+
+#endif