mtk/monitor-transform: Add to/from string helpers

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3859>
This commit is contained in:
Jonas Ådahl 2024-11-22 16:10:41 +01:00 committed by Sebastian Wick
parent 5e4821d9fc
commit 8c2e39323f
2 changed files with 55 additions and 0 deletions

View File

@ -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 ();
}

View File

@ -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);