renderer-view: Use common helper function to transform matrices
To deduplicate some code. Tested with all eight possible values. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2468>
This commit is contained in:
parent
d3b81d70f0
commit
2a87eb6226
@ -80,42 +80,8 @@ meta_renderer_view_get_offscreen_transformation_matrix (ClutterStageView *view,
|
|||||||
MetaRendererView *renderer_view = META_RENDERER_VIEW (view);
|
MetaRendererView *renderer_view = META_RENDERER_VIEW (view);
|
||||||
|
|
||||||
graphene_matrix_init_identity (matrix);
|
graphene_matrix_init_identity (matrix);
|
||||||
|
meta_monitor_transform_transform_matrix (
|
||||||
switch (renderer_view->transform)
|
meta_monitor_transform_invert (renderer_view->transform), matrix);
|
||||||
{
|
|
||||||
case META_MONITOR_TRANSFORM_NORMAL:
|
|
||||||
break;
|
|
||||||
case META_MONITOR_TRANSFORM_90:
|
|
||||||
graphene_matrix_translate (matrix, &GRAPHENE_POINT3D_INIT (0, -1, 0));
|
|
||||||
graphene_matrix_rotate (matrix, 90, graphene_vec3_z_axis ());
|
|
||||||
break;
|
|
||||||
case META_MONITOR_TRANSFORM_180:
|
|
||||||
graphene_matrix_translate (matrix, &GRAPHENE_POINT3D_INIT (-1, -1, 0));
|
|
||||||
graphene_matrix_rotate (matrix, 180, graphene_vec3_z_axis ());
|
|
||||||
break;
|
|
||||||
case META_MONITOR_TRANSFORM_270:
|
|
||||||
graphene_matrix_translate (matrix, &GRAPHENE_POINT3D_INIT (-1, 0, 0));
|
|
||||||
graphene_matrix_rotate (matrix, 270, graphene_vec3_z_axis ());
|
|
||||||
break;
|
|
||||||
case META_MONITOR_TRANSFORM_FLIPPED:
|
|
||||||
graphene_matrix_translate (matrix, &GRAPHENE_POINT3D_INIT (-1, 0, 0));
|
|
||||||
graphene_matrix_scale (matrix, -1, 1, 1);
|
|
||||||
break;
|
|
||||||
case META_MONITOR_TRANSFORM_FLIPPED_90:
|
|
||||||
graphene_matrix_rotate (matrix, 90, graphene_vec3_z_axis ());
|
|
||||||
graphene_matrix_scale (matrix, -1, 1, 1);
|
|
||||||
break;
|
|
||||||
case META_MONITOR_TRANSFORM_FLIPPED_180:
|
|
||||||
graphene_matrix_translate (matrix, &GRAPHENE_POINT3D_INIT (0, -1, 0));
|
|
||||||
graphene_matrix_rotate (matrix, 180, graphene_vec3_z_axis ());
|
|
||||||
graphene_matrix_scale (matrix, -1, 1, 1);
|
|
||||||
break;
|
|
||||||
case META_MONITOR_TRANSFORM_FLIPPED_270:
|
|
||||||
graphene_matrix_translate (matrix, &GRAPHENE_POINT3D_INIT (-1, -1, 0));
|
|
||||||
graphene_matrix_rotate (matrix, 270, graphene_vec3_z_axis ());
|
|
||||||
graphene_matrix_scale (matrix, -1, 1, 1);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user