summaryrefslogtreecommitdiff
path: root/atari/redrawslots.h
diff options
context:
space:
mode:
authorOle Loots <ole@monochrom.net>2011-11-28 23:23:28 +0000
committerOle Loots <ole@monochrom.net>2011-11-28 23:23:28 +0000
commit999410adc818e9bc9e566580b38954720d7dad55 (patch)
tree6abf17a5a94a9835673e2b5b5a6542087f010737 /atari/redrawslots.h
parenta7ba1b7ccd1178717e8e4a0546282270ed2fb1d6 (diff)
downloadnetsurf-999410adc818e9bc9e566580b38954720d7dad55.tar.gz
netsurf-999410adc818e9bc9e566580b38954720d7dad55.tar.bz2
I'm actually trying to simplify the frontend code, changes:
- Optimized browser window caret, uses back-buffer now. ( So no content redraw is scheduled by the frontend just for a caret move ) - Fixed a double redraw issue when the browser reformat is pending and the AES also sends an redraw request because of the resize. - Started to use netsurfs textarea instead of a custom implementation ( to reduce code size ). svn path=/trunk/netsurf/; revision=13191
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