[gnome-flashback] monitor-transform: add gf_monitor_transform_transform helper



commit 555fb9a0bae644e249e555f401ca2979d9fc3687
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Thu Mar 12 21:58:04 2020 +0200

    monitor-transform: add gf_monitor_transform_transform helper
    
    Based on mutter commit:
    https://gitlab.gnome.org/GNOME/mutter/-/commit/e6913d1471d67e4b9f28

 backends/gf-monitor-transform.c | 15 +++++++++++++++
 backends/gf-monitor-transform.h |  5 ++++-
 2 files changed, 19 insertions(+), 1 deletion(-)
---
diff --git a/backends/gf-monitor-transform.c b/backends/gf-monitor-transform.c
index c0e9e07..ee1c1a3 100644
--- a/backends/gf-monitor-transform.c
+++ b/backends/gf-monitor-transform.c
@@ -49,3 +49,18 @@ gf_monitor_transform_invert (GfMonitorTransform transform)
 
   return inverted_transform;
 }
+
+GfMonitorTransform
+gf_monitor_transform_transform (GfMonitorTransform transform,
+                                GfMonitorTransform other)
+{
+  GfMonitorTransform new_transform;
+
+  new_transform = (transform + other) % GF_MONITOR_TRANSFORM_FLIPPED;
+
+  if (gf_monitor_transform_is_flipped (transform) !=
+      gf_monitor_transform_is_flipped (other))
+    new_transform += GF_MONITOR_TRANSFORM_FLIPPED;
+
+  return new_transform;
+}
diff --git a/backends/gf-monitor-transform.h b/backends/gf-monitor-transform.h
index ef823c1..eabc83d 100644
--- a/backends/gf-monitor-transform.h
+++ b/backends/gf-monitor-transform.h
@@ -47,7 +47,10 @@ gf_monitor_transform_is_flipped (GfMonitorTransform transform)
   return (transform >= GF_MONITOR_TRANSFORM_FLIPPED);
 }
 
-GfMonitorTransform gf_monitor_transform_invert (GfMonitorTransform transform);
+GfMonitorTransform gf_monitor_transform_invert    (GfMonitorTransform transform);
+
+GfMonitorTransform gf_monitor_transform_transform (GfMonitorTransform transform,
+                                                   GfMonitorTransform other);
 
 G_END_DECLS
 


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