cogl/matrix: Add cogl_matrix_get_value

This will allow us stop accessing members of the structure
directly. Also mark all struct members as private.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1439
This commit is contained in:
Georges Basile Stavracas Neto 2020-09-09 22:15:35 -03:00
parent e06139323b
commit 8e125fbab6
2 changed files with 21 additions and 2 deletions

View File

@ -1941,6 +1941,14 @@ cogl_matrix_get_array (const CoglMatrix *matrix)
return (float *)matrix;
}
float
cogl_matrix_get_value (const CoglMatrix *matrix,
unsigned int row,
unsigned int column)
{
return MAT ((float *)matrix, row, column);
}
void
cogl_matrix_transform_point (const CoglMatrix *matrix,
float *x,

View File

@ -86,6 +86,8 @@ G_BEGIN_DECLS
*/
struct _CoglMatrix
{
/*< private >*/
/* column 0 */
float xx;
float yx;
@ -110,8 +112,6 @@ struct _CoglMatrix
float zw;
float ww;
/*< private >*/
/* Note: we may want to extend this later with private flags
* and a cache of the inverse transform matrix. */
float COGL_PRIVATE (inv)[16];
@ -491,6 +491,17 @@ cogl_matrix_init_from_matrix (CoglMatrix *matrix,
COGL_EXPORT const float *
cogl_matrix_get_array (const CoglMatrix *matrix);
/**
* cogl_matrix_get_value:
* @matrix: A 4x4 transformation matrix
*
*
*/
COGL_EXPORT float
cogl_matrix_get_value (const CoglMatrix *matrix,
unsigned int row,
unsigned int column);
/**
* cogl_matrix_init_from_euler:
* @matrix: A 4x4 transformation matrix