renderer-view: Keep track of what CRTC it is associated with
For the nested and native backend, it'll point to the CRTC it was created for. On the X11 CM backend, it'll be NULL, as there is only a single global stage view. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1285
This commit is contained in:
@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user