From 8c2e39323ffe948c39516c55b22511b9ad9e09c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Fri, 22 Nov 2024 16:10:41 +0100 Subject: [PATCH] mtk/monitor-transform: Add to/from string helpers Part-of: --- mtk/mtk/mtk-monitor-transform.c | 49 +++++++++++++++++++++++++++++++++ mtk/mtk/mtk-monitor-transform.h | 6 ++++ 2 files changed, 55 insertions(+) diff --git a/mtk/mtk/mtk-monitor-transform.c b/mtk/mtk/mtk-monitor-transform.c index a97cdcda1..3b172843e 100644 --- a/mtk/mtk/mtk-monitor-transform.c +++ b/mtk/mtk/mtk-monitor-transform.c @@ -216,3 +216,52 @@ mtk_monitor_transform_transform_matrix (MtkMonitorTransform transform, graphene_matrix_translate (matrix, &GRAPHENE_POINT3D_INIT (0.5, 0.5, 0.0)); } + +const char * +mtk_monitor_transform_to_string (MtkMonitorTransform transform) +{ + switch (transform) + { + case MTK_MONITOR_TRANSFORM_90: + return "90"; + case MTK_MONITOR_TRANSFORM_270: + return "270"; + case MTK_MONITOR_TRANSFORM_NORMAL: + return "normal"; + case MTK_MONITOR_TRANSFORM_180: + return "180"; + case MTK_MONITOR_TRANSFORM_FLIPPED: + return "flipped"; + case MTK_MONITOR_TRANSFORM_FLIPPED_90: + return "flipped-90"; + case MTK_MONITOR_TRANSFORM_FLIPPED_180: + return "flipped-180"; + case MTK_MONITOR_TRANSFORM_FLIPPED_270: + return "flipped-270"; + } + + g_assert_not_reached (); +} + +MtkMonitorTransform +mtk_monitor_transform_from_string (const char *name) +{ + if (strcmp (name, "90") == 0) + return MTK_MONITOR_TRANSFORM_90; + if (strcmp (name, "270") == 0) + return MTK_MONITOR_TRANSFORM_270; + if (strcmp (name, "normal") == 0) + return MTK_MONITOR_TRANSFORM_NORMAL; + if (strcmp (name, "180") == 0) + return MTK_MONITOR_TRANSFORM_180; + if (strcmp (name, "flipped") == 0) + return MTK_MONITOR_TRANSFORM_FLIPPED; + if (strcmp (name, "flipped-90") == 0) + return MTK_MONITOR_TRANSFORM_FLIPPED_90; + if (strcmp (name, "flipped-180") == 0) + return MTK_MONITOR_TRANSFORM_FLIPPED_180; + if (strcmp (name, "flipped-270") == 0) + return MTK_MONITOR_TRANSFORM_FLIPPED_270; + + g_assert_not_reached (); +} diff --git a/mtk/mtk/mtk-monitor-transform.h b/mtk/mtk/mtk-monitor-transform.h index 3dde5e1af..e38f52d6f 100644 --- a/mtk/mtk/mtk-monitor-transform.h +++ b/mtk/mtk/mtk-monitor-transform.h @@ -75,3 +75,9 @@ void mtk_monitor_transform_transform_point (MtkMonitorTransform transform, MTK_EXPORT void mtk_monitor_transform_transform_matrix (MtkMonitorTransform transform, graphene_matrix_t *matrix); + +MTK_EXPORT +const char * mtk_monitor_transform_to_string (MtkMonitorTransform transform); + +MTK_EXPORT +MtkMonitorTransform mtk_monitor_transform_from_string (const char *name);