source: window.h @ d1d68e0

release-1.10release-1.8release-1.9
Last change on this file since d1d68e0 was 4cc49bc, checked in by David Benjamin <davidben@mit.edu>, 13 years ago
Make the owl_window redraw hook a GSource (Should this be a g_idle_add instead?) This is the first pre-select action to die.
  • Property mode set to 100644
File size: 2.7 KB
Line 
1#ifndef INC_BARNOWL_WINDOW_H
2#define INC_BARNOWL_WINDOW_H
3
4#include <glib.h>
5#include <glib-object.h>
6
7#ifdef HAVE_STDBOOL_H
8#include <stdbool.h>
9#else
10#ifndef HAVE__BOOL
11#define _Bool signed char
12#endif
13#define bool _Bool
14#define false 0
15#define true 1
16#define __bool_true_false_are_defined 1
17#endif  /* HAVE_STDBOOL_H */
18
19G_BEGIN_DECLS
20
21#define OWL_TYPE_WINDOW                  (owl_window_get_type ())
22#define OWL_WINDOW(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), OWL_TYPE_WINDOW, OwlWindow))
23#define OWL_IS_WINDOW(obj)               (G_TYPE_CHECK_INSTANCE_TYPE ((obj), OWL_TYPE_WINDOW))
24#define OWL_WINDOW_CLASS(klass)          (G_TYPE_CHECK_CLASS_CAST ((klass), OWL_TYPE_WINDOW, OwlWindowClass))
25#define OWL_IS_WINDOW_CLASS(klass)       (G_TYPE_CHECK_CLASS_TYPE ((klass), OWL_TYPE_WINDOW))
26#define OWL_WINDOW_GET_CLASS(obj)        (G_TYPE_INSTANCE_GET_CLASS ((obj), OWL_TYPE_WINDOW, OwlWindowClass))
27
28typedef struct _owl_window OwlWindow;
29typedef struct _OwlWindowClass OwlWindowClass;
30typedef OwlWindow owl_window; /* meh */
31
32struct _OwlWindowClass
33{
34  GObjectClass parent_class;
35  /* default implementations for signals */
36  void (*redraw)(owl_window *, WINDOW *);
37  void (*resized)(owl_window *);
38};
39
40GType owl_window_get_type(void);
41
42owl_window *owl_window_get_screen(void);
43
44owl_window *owl_window_new(owl_window *parent);
45void owl_window_unlink(owl_window *w);
46
47void owl_window_children_foreach(owl_window *parent, GFunc func, gpointer user_data);
48
49owl_window *owl_window_parent(owl_window *parent);
50owl_window *owl_window_first_child(owl_window *parent);
51owl_window *owl_window_next_sibling(owl_window *w);
52owl_window *owl_window_previous_sibling(owl_window *w);
53
54void owl_window_show(owl_window *w);
55void owl_window_show_all(owl_window *w);
56void owl_window_hide(owl_window *w);
57bool owl_window_is_shown(owl_window *w);
58bool owl_window_is_realized(owl_window *w);
59bool owl_window_is_toplevel(owl_window *w);
60bool owl_window_is_subwin(owl_window *w);
61
62void owl_window_set_cursor(owl_window *w);
63void owl_window_set_default_cursor(owl_window *w);
64
65void owl_window_dirty(owl_window *w);
66void owl_window_dirty_children(owl_window *w);
67void owl_window_redraw_scheduled(void);
68
69void owl_window_get_position(owl_window *w, int *nlines, int *ncols, int *begin_y, int *begin_x);
70void owl_window_set_position(owl_window *w, int nlines, int ncols, int begin_y, int begin_x);
71void owl_window_move(owl_window *w, int begin_y, int begin_x);
72void owl_window_resize(owl_window *w, int nlines, int ncols);
73
74GSource *owl_window_redraw_source_new(void);
75
76/* Standard callback functions in windowcb.c */
77
78void owl_window_erase_cb(owl_window *w, WINDOW *win, void *user_data);
79void owl_window_fill_parent_cb(owl_window *parent, void *user_data);
80
81G_END_DECLS
82
83#endif /* INC_BARNOWL_WINDOW_H */
Note: See TracBrowser for help on using the repository browser.