summaryrefslogtreecommitdiff
path: root/src/gui/desktop.h
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-06-30 16:45:12 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-06-30 16:45:12 +0200
commitc1bbac52d78b2e3e93fa43a5a7b3907073493216 (patch)
tree13ec009562358d01b1845dd08135f4ac8d384551 /src/gui/desktop.h
parent915dd4b023d0826166d4887100dbed64d46821a9 (diff)
downloadabaos-c1bbac52d78b2e3e93fa43a5a7b3907073493216.tar.gz
abaos-c1bbac52d78b2e3e93fa43a5a7b3907073493216.tar.bz2
text widget has a constant buffer and owns the string to draw now
(passing a const char * from a local stack context is not really a good idea!) added more efficiet draw method for characters in vga driver protected desktop for now against too often redraws (boolean global variable needs_redraw, this is later a soffisticated set-of-areas-to -redraw algorithm)
Diffstat (limited to 'src/gui/desktop.h')
-rw-r--r--src/gui/desktop.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gui/desktop.h b/src/gui/desktop.h
index a8db094..a9d1946 100644
--- a/src/gui/desktop.h
+++ b/src/gui/desktop.h
@@ -5,6 +5,8 @@
#define MAX_NOF_WIDGET_CHILDREN 100
+#include <stdbool.h>
+
typedef struct {
composite_widget_vtable_t base;
} desktop_vtable_t;
@@ -14,6 +16,7 @@ typedef struct {
desktop_vtable_t *vtable;
int mouse_x;
int mouse_y;
+ bool needs_redrawing;
} desktop_t;
void desktop_init( desktop_t *widget, const int w, const int h, const vga_color_t background_color );