summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2013-08-14 11:17:09 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2013-09-19 22:51:52 +0100
commitb9072a5e211cfb14c9f8a2d9affe0e40dd91dbb9 (patch)
tree6fde78f01f2ff538fb1206d60ac3bf8518d331c8
parent5c44a5e6f49e1697fffb92e69072542c1d2cf315 (diff)
downloadclutter-b9072a5e211cfb14c9f8a2d9affe0e40dd91dbb9.tar.gz
stage-window: Add scaling factor accessors
We'll need to set and get the scaling factor of a ClutterStage from its StageWindow implementation. https://bugzilla.gnome.org/show_bug.cgi?id=705915
-rw-r--r--clutter/clutter-stage-window.c27
-rw-r--r--clutter/clutter-stage-window.h8
2 files changed, 35 insertions, 0 deletions
diff --git a/clutter/clutter-stage-window.c b/clutter/clutter-stage-window.c
index c6c9f1ad8..450d264a1 100644
--- a/clutter/clutter-stage-window.c
+++ b/clutter/clutter-stage-window.c
@@ -333,3 +333,30 @@ _clutter_stage_window_can_clip_redraws (ClutterStageWindow *window)
return FALSE;
}
+
+void
+_clutter_stage_window_set_scale_factor (ClutterStageWindow *window,
+ int factor)
+{
+ ClutterStageWindowIface *iface;
+
+ g_return_if_fail (CLUTTER_IS_STAGE_WINDOW (window));
+
+ iface = CLUTTER_STAGE_WINDOW_GET_IFACE (window);
+ if (iface->set_scale_factor != NULL)
+ iface->set_scale_factor (window, factor);
+}
+
+int
+_clutter_stage_window_get_scale_factor (ClutterStageWindow *window)
+{
+ ClutterStageWindowIface *iface;
+
+ g_return_val_if_fail (CLUTTER_IS_STAGE_WINDOW (window), 1);
+
+ iface = CLUTTER_STAGE_WINDOW_GET_IFACE (window);
+ if (iface->get_scale_factor != NULL)
+ return iface->get_scale_factor (window);
+
+ return 1;
+}
diff --git a/clutter/clutter-stage-window.h b/clutter/clutter-stage-window.h
index 9b38994cc..c6233d1bc 100644
--- a/clutter/clutter-stage-window.h
+++ b/clutter/clutter-stage-window.h
@@ -84,6 +84,10 @@ struct _ClutterStageWindowIface
CoglFramebuffer *(* get_active_framebuffer) (ClutterStageWindow *stage_window);
gboolean (* can_clip_redraws) (ClutterStageWindow *stage_window);
+
+ void (* set_scale_factor) (ClutterStageWindow *stage_window,
+ int factor);
+ int (* get_scale_factor) (ClutterStageWindow *stage_window);
};
GType _clutter_stage_window_get_type (void) G_GNUC_CONST;
@@ -137,6 +141,10 @@ CoglFramebuffer *_clutter_stage_window_get_active_framebuffer (ClutterStageWin
gboolean _clutter_stage_window_can_clip_redraws (ClutterStageWindow *window);
+void _clutter_stage_window_set_scale_factor (ClutterStageWindow *window,
+ int factor);
+int _clutter_stage_window_get_scale_factor (ClutterStageWindow *window);
+
G_END_DECLS
#endif /* __CLUTTER_STAGE_WINDOW_H__ */