From 54b2abfe1b1dde9187ebc5080553921abd167a11 Mon Sep 17 00:00:00 2001 From: Sebastian Wick Date: Wed, 7 Aug 2024 20:51:00 +0200 Subject: [PATCH] backends: Move monitor_transform_from_orientation to orientation manager This removes the dependency on MetaOrientation from MetaMonitorTransform which makes it possible to move MetaMonitorTransform to Mtk. Part-of: --- src/backends/meta-monitor-config-manager.c | 2 +- src/backends/meta-monitor-manager.c | 2 +- src/backends/meta-monitor-transform.c | 18 ------------------ src/backends/meta-monitor-transform.h | 3 --- src/backends/meta-orientation-manager.c | 18 ++++++++++++++++++ src/meta/meta-orientation-manager.h | 5 +++++ src/tests/monitor-unit-tests.c | 2 +- 7 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/backends/meta-monitor-config-manager.c b/src/backends/meta-monitor-config-manager.c index 94d235260..ac4ab89df 100644 --- a/src/backends/meta-monitor-config-manager.c +++ b/src/backends/meta-monitor-config-manager.c @@ -713,7 +713,7 @@ get_monitor_transform (MetaMonitorManager *monitor_manager, orientation_manager = meta_backend_get_orientation_manager (backend); orientation = meta_orientation_manager_get_orientation (orientation_manager); - return meta_monitor_transform_from_orientation (orientation); + return meta_orientation_to_transform (orientation); } static void diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c index 30659dcbe..bad78ff71 100644 --- a/src/backends/meta-monitor-manager.c +++ b/src/backends/meta-monitor-manager.c @@ -902,7 +902,7 @@ handle_orientation_change (MetaOrientationManager *orientation_manager, return; orientation = meta_orientation_manager_get_orientation (orientation_manager); - transform = meta_monitor_transform_from_orientation (orientation); + transform = meta_orientation_to_transform (orientation); laptop_logical_monitor = meta_monitor_get_logical_monitor (laptop_panel); panel_transform = diff --git a/src/backends/meta-monitor-transform.c b/src/backends/meta-monitor-transform.c index cf0eb3df4..0e0865a0f 100644 --- a/src/backends/meta-monitor-transform.c +++ b/src/backends/meta-monitor-transform.c @@ -19,24 +19,6 @@ #include "backends/meta-monitor-transform.h" -MetaMonitorTransform -meta_monitor_transform_from_orientation (MetaOrientation orientation) -{ - switch (orientation) - { - case META_ORIENTATION_BOTTOM_UP: - return META_MONITOR_TRANSFORM_180; - case META_ORIENTATION_LEFT_UP: - return META_MONITOR_TRANSFORM_90; - case META_ORIENTATION_RIGHT_UP: - return META_MONITOR_TRANSFORM_270; - case META_ORIENTATION_UNDEFINED: - case META_ORIENTATION_NORMAL: - default: - return META_MONITOR_TRANSFORM_NORMAL; - } -} - MetaMonitorTransform meta_monitor_transform_invert (MetaMonitorTransform transform) { diff --git a/src/backends/meta-monitor-transform.h b/src/backends/meta-monitor-transform.h index d55445811..1a7848aee 100644 --- a/src/backends/meta-monitor-transform.h +++ b/src/backends/meta-monitor-transform.h @@ -53,9 +53,6 @@ meta_monitor_transform_is_flipped (MetaMonitorTransform transform) return (transform >= META_MONITOR_TRANSFORM_FLIPPED); } -META_EXPORT_TEST -MetaMonitorTransform meta_monitor_transform_from_orientation (MetaOrientation orientation); - META_EXPORT_TEST MetaMonitorTransform meta_monitor_transform_invert (MetaMonitorTransform transform); diff --git a/src/backends/meta-orientation-manager.c b/src/backends/meta-orientation-manager.c index 187d4fce1..f227e7954 100644 --- a/src/backends/meta-orientation-manager.c +++ b/src/backends/meta-orientation-manager.c @@ -75,6 +75,24 @@ G_DEFINE_TYPE (MetaOrientationManager, meta_orientation_manager, G_TYPE_OBJECT) #define CONF_SCHEMA "org.gnome.settings-daemon.peripherals.touchscreen" #define ORIENTATION_LOCK_KEY "orientation-lock" +MetaMonitorTransform +meta_orientation_to_transform (MetaOrientation orientation) +{ + switch (orientation) + { + case META_ORIENTATION_BOTTOM_UP: + return META_MONITOR_TRANSFORM_180; + case META_ORIENTATION_LEFT_UP: + return META_MONITOR_TRANSFORM_90; + case META_ORIENTATION_RIGHT_UP: + return META_MONITOR_TRANSFORM_270; + case META_ORIENTATION_UNDEFINED: + case META_ORIENTATION_NORMAL: + default: + return META_MONITOR_TRANSFORM_NORMAL; + } +} + static MetaOrientation orientation_from_string (const char *orientation) { diff --git a/src/meta/meta-orientation-manager.h b/src/meta/meta-orientation-manager.h index c857ec543..e6b5df16a 100644 --- a/src/meta/meta-orientation-manager.h +++ b/src/meta/meta-orientation-manager.h @@ -21,6 +21,8 @@ #include +#include "backends/meta-monitor-transform.h" +#include "core/util-private.h" #include "meta/common.h" typedef enum @@ -47,3 +49,6 @@ MetaOrientation meta_orientation_manager_get_orientation (MetaOrientationManager META_EXPORT gboolean meta_orientation_manager_has_accelerometer (MetaOrientationManager *self); + +META_EXPORT_TEST +MetaMonitorTransform meta_orientation_to_transform (MetaOrientation orientation); diff --git a/src/tests/monitor-unit-tests.c b/src/tests/monitor-unit-tests.c index 1ad36860e..223e079c0 100644 --- a/src/tests/monitor-unit-tests.c +++ b/src/tests/monitor-unit-tests.c @@ -4086,7 +4086,7 @@ check_monitor_configuration_per_orientation (MonitorTestCase *test_case, MonitorTestCaseSetup *setup = &test_case->setup; int i = 0; - transform = meta_monitor_transform_from_orientation (orientation); + transform = meta_orientation_to_transform (orientation); output_transform = setup->outputs[monitor_index].panel_orientation_transform; expect.logical_monitors[monitor_index].transform = meta_monitor_transform_transform (transform,