Sets our main struct and passes it to the parent class.
Allocates a new #graphene_matrix_t.
Decomposes a transformation matrix into its component transformations.
Computes the determinant of the given matrix.
Checks whether the two given #graphene_matrix_t matrices are equal.
Checks whether the two given #graphene_matrix_t matrices are byte-by-byte equal.
Frees the resources allocated by graphene_matrix_alloc().
Get the main Gtk struct
Retrieves the given row vector at @index_ inside a matrix.
the main Gtk struct as a void*
Retrieves the value at the given @row and @col index.
Retrieves the scaling factor on the X axis in @m.
Retrieves the translation component on the X axis from @m.
Retrieves the scaling factor on the Y axis in @m.
Retrieves the translation component on the Y axis from @m.
Retrieves the scaling factor on the Z axis in @m.
Retrieves the translation component on the Z axis from @m.
Initializes a #graphene_matrix_t from the values of an affine transformation matrix.
Initializes a #graphene_matrix_t with the given array of floating point values.
Initializes a #graphene_matrix_t using the values of the given matrix.
Initializes a #graphene_matrix_t with the given four row vectors.
Initializes a #graphene_matrix_t compatible with #graphene_frustum_t.
Initializes a #graphene_matrix_t with the identity matrix.
Initializes a #graphene_matrix_t so that it positions the "camera" at the given @eye coordinates towards an object at the @center coordinates. The top of the camera is aligned to the direction of the @up vector.
Initializes a #graphene_matrix_t with an orthographic projection.
Initializes a #graphene_matrix_t with a perspective projection.
Initializes @m to represent a rotation of @angle degrees on the axis represented by the @axis vector.
Initializes a #graphene_matrix_t with the given scaling factors.
Initializes a #graphene_matrix_t with a skew transformation with the given factors.
Initializes a #graphene_matrix_t with a translation to the given coordinates.
Linearly interpolates the two given #graphene_matrix_t by interpolating the decomposed transformations separately.
Inverts the given matrix.
Checks whether the given #graphene_matrix_t is compatible with an a 2D affine transformation matrix.
Checks whether a #graphene_matrix_t has a visible back face.
Checks whether the given #graphene_matrix_t is the identity matrix.
Checks whether a matrix is singular.
Multiplies two #graphene_matrix_t.
Compares the two given #graphene_matrix_t matrices and checks whether their values are within the given @epsilon of each other.
Normalizes the given #graphene_matrix_t.
Applies a perspective of @depth to the matrix.
Prints the contents of a matrix to the standard error stream.
Projects a #graphene_point_t using the matrix @m.
Projects all corners of a #graphene_rect_t using the given matrix.
Projects a #graphene_rect_t using the given matrix.
Adds a rotation transformation to @m, using the given @angle and @axis vector.
Adds a rotation transformation to @m, using the given #graphene_euler_t.
Adds a rotation transformation to @m, using the given #graphene_quaternion_t.
Adds a rotation transformation around the X axis to @m, using the given @angle.
Adds a rotation transformation around the Y axis to @m, using the given @angle.
Adds a rotation transformation around the Z axis to @m, using the given @angle.
Adds a scaling transformation to @m, using the three given factors.
Adds a skew of @factor on the X and Y axis to the given matrix.
Adds a skew of @factor on the X and Z axis to the given matrix.
Adds a skew of @factor on the Y and Z axis to the given matrix.
Converts a #graphene_matrix_t to an affine transformation matrix, if the given matrix is compatible.
Converts a #graphene_matrix_t to an array of floating point values.
Transforms each corner of a #graphene_rect_t using the given matrix @m.
Transforms the vertices of a #graphene_box_t using the given matrix @m.
Transforms the given #graphene_point_t using the matrix @m.
Transforms the given #graphene_point3d_t using the matrix @m.
Transform a #graphene_ray_t using the given matrix @m.
Transforms each corner of a #graphene_rect_t using the given matrix @m.
Transforms a #graphene_sphere_t using the given matrix @m. The result is the bounding sphere containing the transformed sphere.
Transforms the given #graphene_vec3_t using the matrix @m.
Transforms the given #graphene_vec4_t using the matrix @m.
Adds a translation transformation to @m using the coordinates of the given #graphene_point3d_t.
Transposes the given matrix.
Unprojects the given @point using the @projection matrix and a @modelview matrix.
Undoes the transformation on the corners of a #graphene_rect_t using the given matrix, within the given axis aligned rectangular @bounds.
Undoes the transformation of a #graphene_point_t using the given matrix, within the given axis aligned rectangular @bounds.
the main Gtk struct
A structure capable of holding a 4x4 matrix.
The contents of the #graphene_matrix_t structure are private and should never be accessed directly.