[gnome-flashback] backends: move logical to CRTC transform helper to GfOutput



commit a0b1c073ef0c14705f1a5c97e11a90b036ce1795
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Thu Mar 12 18:02:29 2020 +0200

    backends: move logical to CRTC transform helper to GfOutput
    
    Based on mutter commit:
    https://gitlab.gnome.org/GNOME/mutter/-/commit/1b67f49f7f702d2c519

 backends/gf-monitor.c        |  8 +-------
 backends/gf-output-private.h | 19 +++++++++++--------
 backends/gf-output.c         | 15 +++++++++++++++
 3 files changed, 27 insertions(+), 15 deletions(-)
---
diff --git a/backends/gf-monitor.c b/backends/gf-monitor.c
index 8bd7337..416cc3d 100644
--- a/backends/gf-monitor.c
+++ b/backends/gf-monitor.c
@@ -881,16 +881,10 @@ gf_monitor_logical_to_crtc_transform (GfMonitor          *monitor,
                                       GfMonitorTransform  transform)
 {
   GfOutput *output;
-  GfMonitorTransform new_transform;
 
   output = gf_monitor_get_main_output (monitor);
-  new_transform = (transform + output->panel_orientation_transform) %
-                  GF_MONITOR_TRANSFORM_FLIPPED;
-
-  if (gf_monitor_transform_is_flipped (transform))
-    new_transform += GF_MONITOR_TRANSFORM_FLIPPED;
 
-  return new_transform;
+  return gf_output_logical_to_crtc_transform (output, transform);
 }
 
 GfMonitorTransform
diff --git a/backends/gf-output-private.h b/backends/gf-output-private.h
index 2af1eaf..7730045 100644
--- a/backends/gf-output-private.h
+++ b/backends/gf-output-private.h
@@ -110,19 +110,22 @@ struct _GfOutput
 #define GF_TYPE_OUTPUT (gf_output_get_type ())
 G_DECLARE_FINAL_TYPE (GfOutput, gf_output, GF, OUTPUT, GObject)
 
-GfGpu    *gf_output_get_gpu           (GfOutput *output);
+GfGpu              *gf_output_get_gpu                   (GfOutput           *output);
 
-void      gf_output_assign_crtc       (GfOutput *output,
-                                       GfCrtc   *crtc);
+void                gf_output_assign_crtc               (GfOutput           *output,
+                                                         GfCrtc             *crtc);
 
-void      gf_output_unassign_crtc     (GfOutput *output);
+void                gf_output_unassign_crtc             (GfOutput           *output);
 
-GfCrtc   *gf_output_get_assigned_crtc (GfOutput *output);
+GfCrtc             *gf_output_get_assigned_crtc         (GfOutput           *output);
 
-void      gf_output_parse_edid        (GfOutput *output,
-                                       GBytes   *edid);
+void                gf_output_parse_edid                (GfOutput           *output,
+                                                         GBytes             *edid);
 
-gboolean  gf_output_is_laptop         (GfOutput *output);
+gboolean            gf_output_is_laptop                 (GfOutput           *output);
+
+GfMonitorTransform  gf_output_logical_to_crtc_transform (GfOutput           *output,
+                                                         GfMonitorTransform  transform);
 
 G_END_DECLS
 
diff --git a/backends/gf-output.c b/backends/gf-output.c
index f4a05af..d21b09d 100644
--- a/backends/gf-output.c
+++ b/backends/gf-output.c
@@ -207,3 +207,18 @@ gf_output_is_laptop (GfOutput *output)
 
   return FALSE;
 }
+
+GfMonitorTransform
+gf_output_logical_to_crtc_transform (GfOutput           *output,
+                                     GfMonitorTransform  transform)
+{
+  GfMonitorTransform new_transform;
+
+  new_transform = (transform + output->panel_orientation_transform) %
+                  GF_MONITOR_TRANSFORM_FLIPPED;
+
+  if (gf_monitor_transform_is_flipped (transform))
+    new_transform += GF_MONITOR_TRANSFORM_FLIPPED;
+
+  return new_transform;
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]