summaryrefslogtreecommitdiff
path: root/src/user/include/cxx/raleigh/window.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/user/include/cxx/raleigh/window.h')
-rw-r--r--src/user/include/cxx/raleigh/window.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/user/include/cxx/raleigh/window.h b/src/user/include/cxx/raleigh/window.h
index 21ae511..0dd9341 100644
--- a/src/user/include/cxx/raleigh/window.h
+++ b/src/user/include/cxx/raleigh/window.h
@@ -7,6 +7,8 @@ namespace raleigh {
#include <raleigh/runtime.h>
#include <raleigh/widget.h>
+#include <structs/dllist.h>
+#include <structs/duple.h>
#include <pland/syscall.h>
#include <raleigh/util.h>
@@ -16,7 +18,10 @@ namespace raleigh {
public:
//pass on_close to specify a close handler. if on_close returns false, the window will not be closed.
window(widget &root, _pixel_t bg_color=RGB(bf, bf, bf), bool (*on_close)(window &)=0);
+ void add_keybind(struct key_packet kp, void (*handler)(window &));
+
void notify_needs_paint(widget &from);
+ void notify_widget_size_change(widget &from, coord old_size);
enum try_actions_return_t {NONE, GOOD, DELETE};
try_actions_return_t try_actions();
void show();
@@ -31,6 +36,7 @@ namespace raleigh {
bool needs_repaint;
void paint_full();
bool (*on_close)(window &);
+ dllist<duple<struct key_packet, void (*)(window &)>> keybinds;
};
}