diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2013-08-14 11:17:09 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2013-09-19 22:51:52 +0100 |
commit | b9072a5e211cfb14c9f8a2d9affe0e40dd91dbb9 (patch) | |
tree | 6fde78f01f2ff538fb1206d60ac3bf8518d331c8 | |
parent | 5c44a5e6f49e1697fffb92e69072542c1d2cf315 (diff) | |
download | clutter-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.c | 27 | ||||
-rw-r--r-- | clutter/clutter-stage-window.h | 8 |
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__ */ |