diff --git a/src/backends/meta-renderer-view.c b/src/backends/meta-renderer-view.c index 785b29cd7..d698baba6 100644 --- a/src/backends/meta-renderer-view.c +++ b/src/backends/meta-renderer-view.c @@ -32,6 +32,7 @@ #include "backends/meta-renderer-view.h" +#include "backends/meta-crtc.h" #include "backends/meta-renderer.h" #include "clutter/clutter-mutter.h" #include "compositor/region-utils.h" @@ -41,6 +42,7 @@ enum PROP_0, PROP_TRANSFORM, + PROP_CRTC, PROP_LAST }; @@ -52,6 +54,8 @@ struct _MetaRendererView ClutterStageViewCogl parent; MetaMonitorTransform transform; + + MetaCrtc *crtc; }; G_DEFINE_TYPE (MetaRendererView, meta_renderer_view, @@ -63,6 +67,12 @@ meta_renderer_view_get_transform (MetaRendererView *view) return view->transform; } +MetaCrtc * +meta_renderer_view_get_crtc (MetaRendererView *view) +{ + return view->crtc; +} + static void meta_renderer_view_get_offscreen_transformation_matrix (ClutterStageView *view, CoglMatrix *matrix) @@ -161,6 +171,9 @@ meta_renderer_view_get_property (GObject *object, case PROP_TRANSFORM: g_value_set_uint (value, view->transform); break; + case PROP_CRTC: + g_value_set_object (value, view->crtc); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -180,6 +193,9 @@ meta_renderer_view_set_property (GObject *object, case PROP_TRANSFORM: meta_renderer_view_set_transform (view, g_value_get_uint (value)); break; + case PROP_CRTC: + view->crtc = g_value_get_object (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -218,5 +234,14 @@ meta_renderer_view_class_init (MetaRendererViewClass *klass) G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + obj_props[PROP_CRTC] = + g_param_spec_object ("crtc", + "MetaCrtc", + "MetaCrtc", + META_TYPE_CRTC, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS); + g_object_class_install_properties (object_class, PROP_LAST, obj_props); } diff --git a/src/backends/meta-renderer-view.h b/src/backends/meta-renderer-view.h index f601de534..0e19dc2f2 100644 --- a/src/backends/meta-renderer-view.h +++ b/src/backends/meta-renderer-view.h @@ -28,4 +28,6 @@ G_DECLARE_FINAL_TYPE (MetaRendererView, meta_renderer_view, MetaMonitorTransform meta_renderer_view_get_transform (MetaRendererView *view); +MetaCrtc *meta_renderer_view_get_crtc (MetaRendererView *view); + #endif /* META_RENDERER_VIEW_H */ diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c index 24756c891..fad557a23 100644 --- a/src/backends/native/meta-renderer-native.c +++ b/src/backends/native/meta-renderer-native.c @@ -3249,6 +3249,7 @@ meta_renderer_native_create_view (MetaRenderer *renderer, "name", meta_output_get_name (output), "stage", meta_backend_get_stage (backend), "layout", &view_layout, + "crtc", crtc, "scale", scale, "framebuffer", onscreen, "offscreen", offscreen, diff --git a/src/backends/x11/nested/meta-renderer-x11-nested.c b/src/backends/x11/nested/meta-renderer-x11-nested.c index cf3244d5a..92c176ee4 100644 --- a/src/backends/x11/nested/meta-renderer-x11-nested.c +++ b/src/backends/x11/nested/meta-renderer-x11-nested.c @@ -219,6 +219,7 @@ meta_renderer_x11_nested_create_view (MetaRenderer *renderer, "name", meta_output_get_name (output), "stage", meta_backend_get_stage (backend), "layout", &view_layout, + "crtc", crtc, "framebuffer", COGL_FRAMEBUFFER (fake_onscreen), "offscreen", COGL_FRAMEBUFFER (offscreen), "transform", view_transform,