[gnome-flashback] monitor-transform: add helper function transform_invert
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-flashback] monitor-transform: add helper function transform_invert
- Date: Thu, 12 Mar 2020 20:51:32 +0000 (UTC)
commit 9d98bb406259692511ea55be90f833fba6093f11
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Thu Mar 12 21:57:11 2020 +0200
monitor-transform: add helper function transform_invert
Based on mutter commit:
https://gitlab.gnome.org/GNOME/mutter/-/commit/b7a9c7e7d384a08f7106
backends/Makefile.am | 1 +
backends/gf-monitor-transform.c | 51 +++++++++++++++++++++++++++++++++++++++++
backends/gf-monitor-transform.h | 2 ++
3 files changed, 54 insertions(+)
---
diff --git a/backends/Makefile.am b/backends/Makefile.am
index 881ae83..1915695 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -72,6 +72,7 @@ libbackends_la_SOURCES = \
gf-monitor-spec.c \
gf-monitor-tiled-private.h \
gf-monitor-tiled.c \
+ gf-monitor-transform.c \
gf-monitor-transform.h \
gf-monitor.c \
gf-monitors-config-private.h \
diff --git a/backends/gf-monitor-transform.c b/backends/gf-monitor-transform.c
new file mode 100644
index 0000000..c0e9e07
--- /dev/null
+++ b/backends/gf-monitor-transform.c
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2018 Robert Mader
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+#include "gf-monitor-transform.h"
+
+GfMonitorTransform
+gf_monitor_transform_invert (GfMonitorTransform transform)
+{
+ GfMonitorTransform inverted_transform;
+
+ switch (transform)
+ {
+ case GF_MONITOR_TRANSFORM_90:
+ inverted_transform = GF_MONITOR_TRANSFORM_270;
+ break;
+
+ case GF_MONITOR_TRANSFORM_270:
+ inverted_transform = GF_MONITOR_TRANSFORM_90;
+ break;
+
+ case GF_MONITOR_TRANSFORM_NORMAL:
+ case GF_MONITOR_TRANSFORM_180:
+ case GF_MONITOR_TRANSFORM_FLIPPED:
+ case GF_MONITOR_TRANSFORM_FLIPPED_90:
+ case GF_MONITOR_TRANSFORM_FLIPPED_180:
+ case GF_MONITOR_TRANSFORM_FLIPPED_270:
+ inverted_transform = transform;
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ return inverted_transform;
+}
diff --git a/backends/gf-monitor-transform.h b/backends/gf-monitor-transform.h
index 5c8f3f6..ef823c1 100644
--- a/backends/gf-monitor-transform.h
+++ b/backends/gf-monitor-transform.h
@@ -47,6 +47,8 @@ gf_monitor_transform_is_flipped (GfMonitorTransform transform)
return (transform >= GF_MONITOR_TRANSFORM_FLIPPED);
}
+GfMonitorTransform gf_monitor_transform_invert (GfMonitorTransform transform);
+
G_END_DECLS
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]