output: Move configureable state to instance private

That is is_presentation, is_primary, is_underscanning and backlight.

The first three are set during CRTC assignment as they are only valid
when active. The other is set separately, as it is untied to
monitor configuration.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1287
This commit is contained in:
Jonas Ådahl
2020-02-25 18:37:21 +01:00
committed by Georges Basile Stavracas Neto
parent 9186b6d6b0
commit f71316c850
13 changed files with 215 additions and 155 deletions

View File

@ -85,14 +85,9 @@ struct _MetaOutput
MetaOutput **possible_clones;
unsigned int n_possible_clones;
int backlight;
int backlight_min;
int backlight_max;
gboolean is_primary;
gboolean is_presentation;
gboolean is_underscanning;
gboolean supports_underscanning;
gpointer driver_private;
@ -121,8 +116,23 @@ MetaGpu * meta_output_get_gpu (MetaOutput *output);
const char * meta_output_get_name (MetaOutput *output);
META_EXPORT_TEST
void meta_output_assign_crtc (MetaOutput *output,
MetaCrtc *crtc);
gboolean meta_output_is_primary (MetaOutput *output);
META_EXPORT_TEST
gboolean meta_output_is_presentation (MetaOutput *output);
META_EXPORT_TEST
gboolean meta_output_is_underscanning (MetaOutput *output);
void meta_output_set_backlight (MetaOutput *output,
int backlight);
int meta_output_get_backlight (MetaOutput *output);
META_EXPORT_TEST
void meta_output_assign_crtc (MetaOutput *output,
MetaCrtc *crtc,
const MetaOutputInfo *output_info);
META_EXPORT_TEST
void meta_output_unassign_crtc (MetaOutput *output);