1 #ifndef __CLUTTER_STAGE_WINDOW_H__
2 #define __CLUTTER_STAGE_WINDOW_H__
5 #include <clutter/clutter-types.h>
9 #define CLUTTER_TYPE_STAGE_WINDOW (_clutter_stage_window_get_type ())
10 #define CLUTTER_STAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_STAGE_WINDOW, ClutterStageWindow))
11 #define CLUTTER_IS_STAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_STAGE_WINDOW))
12 #define CLUTTER_STAGE_WINDOW_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CLUTTER_TYPE_STAGE_WINDOW, ClutterStageWindowIface))
15 * ClutterStageWindow: (skip)
17 * <structname>ClutterStageWindow</structname> is an opaque structure
18 * whose members should not be accessed directly
22 typedef struct _ClutterStageWindow ClutterStageWindow; /* dummy */
23 typedef struct _ClutterStageWindowIface ClutterStageWindowIface;
26 * ClutterStageWindowIface: (skip)
28 * The interface implemented by backends for stage windows
32 struct _ClutterStageWindowIface
35 GTypeInterface parent_iface;
37 ClutterActor *(* get_wrapper) (ClutterStageWindow *stage_window);
39 void (* set_title) (ClutterStageWindow *stage_window,
41 void (* set_fullscreen) (ClutterStageWindow *stage_window,
42 gboolean is_fullscreen);
43 void (* set_cursor_visible) (ClutterStageWindow *stage_window,
44 gboolean cursor_visible);
45 void (* set_user_resizable) (ClutterStageWindow *stage_window,
46 gboolean is_resizable);
48 gboolean (* realize) (ClutterStageWindow *stage_window);
49 void (* unrealize) (ClutterStageWindow *stage_window);
51 void (* show) (ClutterStageWindow *stage_window,
53 void (* hide) (ClutterStageWindow *stage_window);
55 void (* resize) (ClutterStageWindow *stage_window,
58 void (* get_geometry) (ClutterStageWindow *stage_window,
59 cairo_rectangle_int_t *geometry);
61 int (* get_pending_swaps) (ClutterStageWindow *stage_window);
63 void (* add_redraw_clip) (ClutterStageWindow *stage_window,
64 cairo_rectangle_int_t *stage_rectangle);
65 gboolean (* has_redraw_clips) (ClutterStageWindow *stage_window);
66 gboolean (* ignoring_redraw_clips) (ClutterStageWindow *stage_window);
67 gboolean (* get_redraw_clip_bounds) (ClutterStageWindow *stage_window,
68 cairo_rectangle_int_t *clip);
71 void (* set_accept_focus) (ClutterStageWindow *stage_window,
72 gboolean accept_focus);
74 void (* redraw) (ClutterStageWindow *stage_window);
76 CoglFramebuffer *(* get_active_framebuffer) (ClutterStageWindow *stage_window);
78 gboolean (* can_clip_redraws) (ClutterStageWindow *stage_window);
81 GType _clutter_stage_window_get_type (void) G_GNUC_CONST;
83 ClutterActor * _clutter_stage_window_get_wrapper (ClutterStageWindow *window);
85 void _clutter_stage_window_set_title (ClutterStageWindow *window,
87 void _clutter_stage_window_set_fullscreen (ClutterStageWindow *window,
88 gboolean is_fullscreen);
89 void _clutter_stage_window_set_cursor_visible (ClutterStageWindow *window,
91 void _clutter_stage_window_set_user_resizable (ClutterStageWindow *window,
92 gboolean is_resizable);
94 gboolean _clutter_stage_window_realize (ClutterStageWindow *window);
95 void _clutter_stage_window_unrealize (ClutterStageWindow *window);
97 void _clutter_stage_window_show (ClutterStageWindow *window,
99 void _clutter_stage_window_hide (ClutterStageWindow *window);
101 void _clutter_stage_window_resize (ClutterStageWindow *window,
104 void _clutter_stage_window_get_geometry (ClutterStageWindow *window,
105 cairo_rectangle_int_t *geometry);
106 int _clutter_stage_window_get_pending_swaps (ClutterStageWindow *window);
108 void _clutter_stage_window_add_redraw_clip (ClutterStageWindow *window,
109 cairo_rectangle_int_t *stage_clip);
110 gboolean _clutter_stage_window_has_redraw_clips (ClutterStageWindow *window);
111 gboolean _clutter_stage_window_ignoring_redraw_clips (ClutterStageWindow *window);
112 gboolean _clutter_stage_window_get_redraw_clip_bounds (ClutterStageWindow *window,
113 cairo_rectangle_int_t *clip);
115 void _clutter_stage_window_set_accept_focus (ClutterStageWindow *window,
116 gboolean accept_focus);
118 void _clutter_stage_window_redraw (ClutterStageWindow *window);
120 CoglFramebuffer *_clutter_stage_window_get_active_framebuffer (ClutterStageWindow *window);
122 gboolean _clutter_stage_window_can_clip_redraws (ClutterStageWindow *window);
126 #endif /* __CLUTTER_STAGE_WINDOW_H__ */