summaryrefslogtreecommitdiff
path: root/atari/treeview.h
diff options
context:
space:
mode:
Diffstat (limited to 'atari/treeview.h')
-rw-r--r--atari/treeview.h31
1 files changed, 25 insertions, 6 deletions
diff --git a/atari/treeview.h b/atari/treeview.h
index f8e4c4264..a6a59acd2 100644
--- a/atari/treeview.h
+++ b/atari/treeview.h
@@ -19,19 +19,38 @@
#ifndef NSATARI_TREEVIEW_H
#define NSATARI_TREEVIEW_H
+#include "atari/gui.h"
+#include "atari/gemtk/gemtk.h"
+
+#define ATARI_TREEVIEW_WIDGETS (CLOSER | MOVER | SIZER| NAME | FULLER | \
+ SMALLER | VSLIDE | HSLIDE | UPARROW | DNARROW \
+ | LFARROW | RTARROW)
+
+
+struct core_window;
+struct atari_treeview_window;
+typedef struct atari_treeview_window *ATARI_TREEVIEW_PTR;
+
+typedef void (*atari_treeview_keypress_callback)(struct core_window *cw,
+ long ucs4);
+typedef void (*atari_treeview_mouse_action_callback)(struct core_window *cw,
+ browser_mouse_state mouse,
+ int x, int y);
+typedef void (*atari_treeview_draw_callback)(struct core_window *cw, int x,
+ int y, int clip_x, int clip_y,
+ int clip_width, int clip_height,
+ const struct redraw_context *ctx);
+
struct atari_treeview_callbacks {
nserror (*init)(struct core_window *cw,
struct core_window_callback_table * default_callbacks);
void (*fini)(struct core_window *cw);
- void (*draw)(struct core_window *cw);
- void (*keypress)(struct core_window *cw);
- void (*mouse)(struct core_window *cw);
+ atari_treeview_draw_callback draw;
+ atari_treeview_keypress_callback keypress;
+ atari_treeview_mouse_action_callback mouse_action;
gemtk_wm_event_handler_f gemtk_user_func;
};
-struct atari_treeview_callbacks;
-struct atari_treeview_window;
-
struct atari_treeview_window *
atari_treeview_create(GUIWIN *win, struct atari_treeview_callbacks * callbacks,
uint32_t flags);