11
#define ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_TYPE_FULLSCREEN (org_westhoffswelt_pdfpresenter_window_fullscreen_get_type ())
12
#define ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_FULLSCREEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_TYPE_FULLSCREEN, orgwesthoffsweltpdfpresenterWindowFullscreen))
13
#define ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_FULLSCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_TYPE_FULLSCREEN, orgwesthoffsweltpdfpresenterWindowFullscreenClass))
14
#define ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_IS_FULLSCREEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_TYPE_FULLSCREEN))
15
#define ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_IS_FULLSCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_TYPE_FULLSCREEN))
16
#define ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_FULLSCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_TYPE_FULLSCREEN, orgwesthoffsweltpdfpresenterWindowFullscreenClass))
11
#define PDFPC_WINDOW_TYPE_FULLSCREEN (pdfpc_window_fullscreen_get_type ())
12
#define PDFPC_WINDOW_FULLSCREEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PDFPC_WINDOW_TYPE_FULLSCREEN, pdfpcWindowFullscreen))
13
#define PDFPC_WINDOW_FULLSCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PDFPC_WINDOW_TYPE_FULLSCREEN, pdfpcWindowFullscreenClass))
14
#define PDFPC_WINDOW_IS_FULLSCREEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PDFPC_WINDOW_TYPE_FULLSCREEN))
15
#define PDFPC_WINDOW_IS_FULLSCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PDFPC_WINDOW_TYPE_FULLSCREEN))
16
#define PDFPC_WINDOW_FULLSCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PDFPC_WINDOW_TYPE_FULLSCREEN, pdfpcWindowFullscreenClass))
18
typedef struct _orgwesthoffsweltpdfpresenterWindowFullscreen orgwesthoffsweltpdfpresenterWindowFullscreen;
19
typedef struct _orgwesthoffsweltpdfpresenterWindowFullscreenClass orgwesthoffsweltpdfpresenterWindowFullscreenClass;
20
typedef struct _orgwesthoffsweltpdfpresenterWindowFullscreenPrivate orgwesthoffsweltpdfpresenterWindowFullscreenPrivate;
18
typedef struct _pdfpcWindowFullscreen pdfpcWindowFullscreen;
19
typedef struct _pdfpcWindowFullscreenClass pdfpcWindowFullscreenClass;
20
typedef struct _pdfpcWindowFullscreenPrivate pdfpcWindowFullscreenPrivate;
21
21
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
22
22
#define _gdk_cursor_unref0(var) ((var == NULL) ? NULL : (var = (gdk_cursor_unref (var), NULL)))
24
struct _orgwesthoffsweltpdfpresenterWindowFullscreen {
24
struct _pdfpcWindowFullscreen {
25
25
GtkWindow parent_instance;
26
orgwesthoffsweltpdfpresenterWindowFullscreenPrivate * priv;
26
pdfpcWindowFullscreenPrivate * priv;
27
27
GdkRectangle screen_geometry;
28
28
guint hide_cursor_timeout;
29
29
gboolean faded_to_black;
33
struct _orgwesthoffsweltpdfpresenterWindowFullscreenClass {
33
struct _pdfpcWindowFullscreenClass {
34
34
GtkWindowClass parent_class;
38
static gpointer org_westhoffswelt_pdfpresenter_window_fullscreen_parent_class = NULL;
38
static gpointer pdfpc_window_fullscreen_parent_class = NULL;
39
extern gboolean pdfpc_options_windowed;
40
GType org_westhoffswelt_pdfpresenter_window_fullscreen_get_type (void) G_GNUC_CONST;
41
GType pdfpc_window_fullscreen_get_type (void) G_GNUC_CONST;
42
ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_FULLSCREEN_DUMMY_PROPERTY
43
PDFPC_WINDOW_FULLSCREEN_DUMMY_PROPERTY
44
orgwesthoffsweltpdfpresenterWindowFullscreen* org_westhoffswelt_pdfpresenter_window_fullscreen_new (gint screen_num);
45
orgwesthoffsweltpdfpresenterWindowFullscreen* org_westhoffswelt_pdfpresenter_window_fullscreen_construct (GType object_type, gint screen_num);
46
void org_westhoffswelt_pdfpresenter_window_fullscreen_on_size_allocate (orgwesthoffsweltpdfpresenterWindowFullscreen* self, GtkWidget* source, GdkRectangle* r);
47
static void _org_westhoffswelt_pdfpresenter_window_fullscreen_on_size_allocate_gtk_widget_size_allocate (GtkWidget* _sender, GdkRectangle* allocation, gpointer self);
48
gboolean org_westhoffswelt_pdfpresenter_window_fullscreen_on_mouse_move (orgwesthoffsweltpdfpresenterWindowFullscreen* self, GtkWidget* source, GdkEventMotion* event);
49
static gboolean _org_westhoffswelt_pdfpresenter_window_fullscreen_on_mouse_move_gtk_widget_motion_notify_event (GtkWidget* _sender, GdkEventMotion* event, gpointer self);
50
void org_westhoffswelt_pdfpresenter_window_fullscreen_restart_hide_cursor_timer (orgwesthoffsweltpdfpresenterWindowFullscreen* self);
51
gboolean org_westhoffswelt_pdfpresenter_window_fullscreen_on_hide_cursor_timeout (orgwesthoffsweltpdfpresenterWindowFullscreen* self);
52
static gboolean _org_westhoffswelt_pdfpresenter_window_fullscreen_on_hide_cursor_timeout_gsource_func (gpointer self);
53
static void org_westhoffswelt_pdfpresenter_window_fullscreen_finalize (GObject* obj);
45
pdfpcWindowFullscreen* pdfpc_window_fullscreen_new (gint screen_num);
46
pdfpcWindowFullscreen* pdfpc_window_fullscreen_construct (GType object_type, gint screen_num);
47
void pdfpc_window_fullscreen_on_size_allocate (pdfpcWindowFullscreen* self, GtkWidget* source, GdkRectangle* r);
48
static void _pdfpc_window_fullscreen_on_size_allocate_gtk_widget_size_allocate (GtkWidget* _sender, GdkRectangle* allocation, gpointer self);
49
gboolean pdfpc_window_fullscreen_on_configure (pdfpcWindowFullscreen* self, GdkEventConfigure* e);
50
static gboolean _pdfpc_window_fullscreen_on_configure_gtk_widget_configure_event (GtkWidget* _sender, GdkEventConfigure* event, gpointer self);
51
gboolean pdfpc_window_fullscreen_on_mouse_move (pdfpcWindowFullscreen* self, GtkWidget* source, GdkEventMotion* event);
52
static gboolean _pdfpc_window_fullscreen_on_mouse_move_gtk_widget_motion_notify_event (GtkWidget* _sender, GdkEventMotion* event, gpointer self);
53
void pdfpc_window_fullscreen_restart_hide_cursor_timer (pdfpcWindowFullscreen* self);
54
gboolean pdfpc_window_fullscreen_on_hide_cursor_timeout (pdfpcWindowFullscreen* self);
55
static gboolean _pdfpc_window_fullscreen_on_hide_cursor_timeout_gsource_func (gpointer self);
56
static void pdfpc_window_fullscreen_finalize (GObject* obj);
56
59
static gpointer _g_object_ref0 (gpointer self) {
61
static void _org_westhoffswelt_pdfpresenter_window_fullscreen_on_size_allocate_gtk_widget_size_allocate (GtkWidget* _sender, GdkRectangle* allocation, gpointer self) {
62
org_westhoffswelt_pdfpresenter_window_fullscreen_on_size_allocate (self, _sender, allocation);
66
static gboolean _org_westhoffswelt_pdfpresenter_window_fullscreen_on_mouse_move_gtk_widget_motion_notify_event (GtkWidget* _sender, GdkEventMotion* event, gpointer self) {
68
result = org_westhoffswelt_pdfpresenter_window_fullscreen_on_mouse_move (self, _sender, event);
73
orgwesthoffsweltpdfpresenterWindowFullscreen* org_westhoffswelt_pdfpresenter_window_fullscreen_construct (GType object_type, gint screen_num) {
74
orgwesthoffsweltpdfpresenterWindowFullscreen * self = NULL;
64
static void _pdfpc_window_fullscreen_on_size_allocate_gtk_widget_size_allocate (GtkWidget* _sender, GdkRectangle* allocation, gpointer self) {
65
pdfpc_window_fullscreen_on_size_allocate (self, _sender, allocation);
69
static gboolean _pdfpc_window_fullscreen_on_configure_gtk_widget_configure_event (GtkWidget* _sender, GdkEventConfigure* event, gpointer self) {
71
result = pdfpc_window_fullscreen_on_configure (self, event);
76
static gboolean _pdfpc_window_fullscreen_on_mouse_move_gtk_widget_motion_notify_event (GtkWidget* _sender, GdkEventMotion* event, gpointer self) {
78
result = pdfpc_window_fullscreen_on_mouse_move (self, _sender, event);
83
pdfpcWindowFullscreen* pdfpc_window_fullscreen_construct (GType object_type, gint screen_num) {
84
pdfpcWindowFullscreen * self = NULL;
75
85
GdkScreen* screen = NULL;
81
self = (orgwesthoffsweltpdfpresenterWindowFullscreen*) g_object_new (object_type, NULL);
88
self = (pdfpcWindowFullscreen*) g_object_new (object_type, NULL);
82
89
_tmp0_ = screen_num;
84
91
GdkScreen* _tmp1_ = NULL;
134
141
self->screen_geometry = _tmp19_;
135
142
_g_object_unref0 (display);
137
_tmp20_ = self->screen_geometry;
139
_tmp22_ = self->screen_geometry;
141
gtk_window_move ((GtkWindow*) self, _tmp21_, _tmp23_);
142
gtk_window_fullscreen ((GtkWindow*) self);
143
g_signal_connect_object ((GtkWidget*) self, "size-allocate", (GCallback) _org_westhoffswelt_pdfpresenter_window_fullscreen_on_size_allocate_gtk_widget_size_allocate, self, 0);
144
_tmp20_ = pdfpc_options_windowed;
146
GdkRectangle _tmp21_;
148
GdkRectangle _tmp23_;
150
_tmp21_ = self->screen_geometry;
152
_tmp23_ = self->screen_geometry;
154
gtk_window_move ((GtkWindow*) self, _tmp22_, _tmp24_);
155
g_signal_connect_object ((GtkWidget*) self, "size-allocate", (GCallback) _pdfpc_window_fullscreen_on_size_allocate_gtk_widget_size_allocate, self, 0);
156
g_signal_connect_object ((GtkWidget*) self, "configure-event", (GCallback) _pdfpc_window_fullscreen_on_configure_gtk_widget_configure_event, self, 0);
160
_tmp25_ = self->screen_geometry.width;
161
self->screen_geometry.width = _tmp25_ / 2;
162
_tmp26_ = self->screen_geometry.height;
163
self->screen_geometry.height = _tmp26_ / 2;
164
gtk_window_set_resizable ((GtkWindow*) self, FALSE);
144
166
gtk_widget_add_events ((GtkWidget*) self, (gint) GDK_POINTER_MOTION_MASK);
145
g_signal_connect_object ((GtkWidget*) self, "motion-notify-event", (GCallback) _org_westhoffswelt_pdfpresenter_window_fullscreen_on_mouse_move_gtk_widget_motion_notify_event, self, 0);
146
org_westhoffswelt_pdfpresenter_window_fullscreen_restart_hide_cursor_timer (self);
167
g_signal_connect_object ((GtkWidget*) self, "motion-notify-event", (GCallback) _pdfpc_window_fullscreen_on_mouse_move_gtk_widget_motion_notify_event, self, 0);
168
pdfpc_window_fullscreen_restart_hide_cursor_timer (self);
147
169
_g_object_unref0 (screen);
152
orgwesthoffsweltpdfpresenterWindowFullscreen* org_westhoffswelt_pdfpresenter_window_fullscreen_new (gint screen_num) {
153
return org_westhoffswelt_pdfpresenter_window_fullscreen_construct (ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_TYPE_FULLSCREEN, screen_num);
174
pdfpcWindowFullscreen* pdfpc_window_fullscreen_new (gint screen_num) {
175
return pdfpc_window_fullscreen_construct (PDFPC_WINDOW_TYPE_FULLSCREEN, screen_num);
179
gboolean pdfpc_window_fullscreen_on_configure (pdfpcWindowFullscreen* self, GdkEventConfigure* e) {
180
gboolean result = FALSE;
182
g_return_val_if_fail (self != NULL, FALSE);
183
g_return_val_if_fail (e != NULL, FALSE);
184
gtk_window_fullscreen ((GtkWindow*) self);
185
g_signal_parse_name ("configure-event", GTK_TYPE_WIDGET, &_tmp0_, NULL, FALSE);
186
g_signal_handlers_disconnect_matched ((GtkWidget*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _pdfpc_window_fullscreen_on_configure_gtk_widget_configure_event, self);
299
static void org_westhoffswelt_pdfpresenter_window_fullscreen_class_init (orgwesthoffsweltpdfpresenterWindowFullscreenClass * klass) {
300
org_westhoffswelt_pdfpresenter_window_fullscreen_parent_class = g_type_class_peek_parent (klass);
301
G_OBJECT_CLASS (klass)->finalize = org_westhoffswelt_pdfpresenter_window_fullscreen_finalize;
323
static void pdfpc_window_fullscreen_class_init (pdfpcWindowFullscreenClass * klass) {
324
pdfpc_window_fullscreen_parent_class = g_type_class_peek_parent (klass);
325
G_OBJECT_CLASS (klass)->finalize = pdfpc_window_fullscreen_finalize;
305
static void org_westhoffswelt_pdfpresenter_window_fullscreen_instance_init (orgwesthoffsweltpdfpresenterWindowFullscreen * self) {
329
static void pdfpc_window_fullscreen_instance_init (pdfpcWindowFullscreen * self) {
306
330
self->hide_cursor_timeout = (guint) 0;
307
331
self->faded_to_black = FALSE;
308
332
self->frozen = FALSE;
312
static void org_westhoffswelt_pdfpresenter_window_fullscreen_finalize (GObject* obj) {
313
orgwesthoffsweltpdfpresenterWindowFullscreen * self;
314
self = ORG_WESTHOFFSWELT_PDFPRESENTER_WINDOW_FULLSCREEN (obj);
315
G_OBJECT_CLASS (org_westhoffswelt_pdfpresenter_window_fullscreen_parent_class)->finalize (obj);
336
static void pdfpc_window_fullscreen_finalize (GObject* obj) {
337
pdfpcWindowFullscreen * self;
338
self = PDFPC_WINDOW_FULLSCREEN (obj);
339
G_OBJECT_CLASS (pdfpc_window_fullscreen_parent_class)->finalize (obj);
323
347
* Methods to specify the monitor to be displayed on in a multi-head setup
324
348
* are provided as well.
326
GType org_westhoffswelt_pdfpresenter_window_fullscreen_get_type (void) {
327
static volatile gsize org_westhoffswelt_pdfpresenter_window_fullscreen_type_id__volatile = 0;
328
if (g_once_init_enter (&org_westhoffswelt_pdfpresenter_window_fullscreen_type_id__volatile)) {
329
static const GTypeInfo g_define_type_info = { sizeof (orgwesthoffsweltpdfpresenterWindowFullscreenClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) org_westhoffswelt_pdfpresenter_window_fullscreen_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (orgwesthoffsweltpdfpresenterWindowFullscreen), 0, (GInstanceInitFunc) org_westhoffswelt_pdfpresenter_window_fullscreen_instance_init, NULL };
330
GType org_westhoffswelt_pdfpresenter_window_fullscreen_type_id;
331
org_westhoffswelt_pdfpresenter_window_fullscreen_type_id = g_type_register_static (GTK_TYPE_WINDOW, "orgwesthoffsweltpdfpresenterWindowFullscreen", &g_define_type_info, 0);
332
g_once_init_leave (&org_westhoffswelt_pdfpresenter_window_fullscreen_type_id__volatile, org_westhoffswelt_pdfpresenter_window_fullscreen_type_id);
350
GType pdfpc_window_fullscreen_get_type (void) {
351
static volatile gsize pdfpc_window_fullscreen_type_id__volatile = 0;
352
if (g_once_init_enter (&pdfpc_window_fullscreen_type_id__volatile)) {
353
static const GTypeInfo g_define_type_info = { sizeof (pdfpcWindowFullscreenClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pdfpc_window_fullscreen_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (pdfpcWindowFullscreen), 0, (GInstanceInitFunc) pdfpc_window_fullscreen_instance_init, NULL };
354
GType pdfpc_window_fullscreen_type_id;
355
pdfpc_window_fullscreen_type_id = g_type_register_static (GTK_TYPE_WINDOW, "pdfpcWindowFullscreen", &g_define_type_info, 0);
356
g_once_init_leave (&pdfpc_window_fullscreen_type_id__volatile, pdfpc_window_fullscreen_type_id);
334
return org_westhoffswelt_pdfpresenter_window_fullscreen_type_id__volatile;
358
return pdfpc_window_fullscreen_type_id__volatile;