add relative mouse handling in mouse.asm
[retroray] / src / rtk.h
index 15b6c79..25bd5cd 100644 (file)
--- a/src/rtk.h
+++ b/src/rtk.h
@@ -2,10 +2,21 @@
 #define RTK_H_
 
 /* widget type */
-enum { RTK_ANY, RTK_WIN, RTK_BUTTON, RTK_LABEL, RTK_CHECKBOX, RTK_SLIDER, RTK_SEP };
+enum {
+       RTK_ANY,
+       RTK_WIN,
+       RTK_BUTTON,
+       RTK_LABEL,
+       RTK_CHECKBOX,
+       RTK_SLIDER,
+       RTK_SEP
+};
 /* window layout */
 enum { RTK_NONE, RTK_VBOX, RTK_HBOX };
+/* button mode */
+enum { RTK_PUSHBN, RTK_TOGGLEBN };
 
+typedef struct rtk_screen rtk_screen;
 typedef union rtk_widget rtk_widget;
 typedef struct rtk_icon rtk_icon;
 typedef struct rtk_iconsheet rtk_iconsheet;
@@ -36,7 +47,6 @@ typedef void (*rtk_callback)(rtk_widget*, void*);
 void rtk_setup(rtk_draw_ops *drawop);
 
 /* widget functions */
-
 rtk_widget *rtk_create_widget(void);
 void rtk_free_widget(rtk_widget *w);
 
@@ -64,6 +74,7 @@ void rtk_win_rm(rtk_widget *par, rtk_widget *child);
 int rtk_win_has(rtk_widget *par, rtk_widget *child);
 
 /* button functions */
+void rtk_bn_mode(rtk_widget *w, int mode);
 void rtk_bn_set_icon(rtk_widget *w, rtk_icon *icon);
 rtk_icon *rtk_bn_get_icon(rtk_widget *w);
 
@@ -84,5 +95,9 @@ rtk_icon *rtk_lookup_icon(rtk_iconsheet *is, const char *name);
 
 void rtk_draw_widget(rtk_widget *w);
 
+/* input events */
+int rtk_input_key(rtk_widget *w, int key, int press);
+int rtk_input_mbutton(rtk_widget *w, int bn, int press, int x, int y);
+int rtk_input_mmotion(rtk_widget *w, int x, int y);
 
 #endif /* RTK_H_ */