eina_matrix.h File Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files
- Examples

- File List
- Globals

Data Structures | Macros | Typedefs | Enumerations | Functions
eina_matrix.h File Reference

{Eina_Matrix_Type} {Eina_Matrix3_F16p16} {Eina_Matrix3} More...

## Data Structures
struct | _Eina_Matrix3_F16p16
struct | _Eina_Matrix3

## Macros
#define | EINA_MATRIX3_FORMAT "g %g %g | %g %g %g | %g %g %g"
| Helper macro for printf formatting.
#define | EINA_MATRIX3_ARGS(m)
| Helper macro for printf formatting arg. More...

## Typedefs
typedef enum _Eina_Matrix_Type | Eina_Matrix_Type
typedef struct _Eina_Matrix3_F16p16 | Eina_Matrix3_F16p16
| Fixed point matrix3 handler.
typedef struct _Eina_Matrix3 | Eina_Matrix3
| Floating point matrix3 handler.

## Enumerations
enum | _Eina_Matrix_Type { EINA_MATRIX_TYPE_IDENTITY, EINA_MATRIX_TYPE_AFFINE, EINA_MATRIX_TYPE_PROJECTIVE, EINA_MATRIX_TYPE_LAST }

## Functions
void | eina_matrix3_f16p16_identity (Eina_Matrix3_F16p16 *m)
| Set the given fixed point matrix to the identity matrix. More...
void | eina_matrix3_f16p16_compose (const Eina_Matrix3_F16p16 *m1, const Eina_Matrix3_F16p16 *m2, Eina_Matrix3_F16p16 *dst)
Eina_Matrix_Type | eina_matrix3_f16p16_type_get (const Eina_Matrix3_F16p16 *m)
| Return the type of the given fixed point matrix. More...
Eina_Matrix_Type | eina_matrix3_type_get (const Eina_Matrix3 *m)
| Return the type of the given floating point matrix. More...
void | eina_matrix3_values_set (Eina_Matrix3 *m, double xx, double xy, double xz, double yx, double yy, double yz, double zx, double zy, double zz)
| Set the values of the coefficients of the given floating point matrix. More...
void | eina_matrix3_values_get (const Eina_Matrix3 *m, double *xx, double *xy, double *xz, double *yx, double *yy, double *yz, double *zx, double *zy, double *zz)
| Get the values of the coefficients of the given floating point matrix. More...
void | eina_matrix3_fixed_values_get (const Eina_Matrix3 *m, Eina_F16p16 *xx, Eina_F16p16 *xy, Eina_F16p16 *xz, Eina_F16p16 *yx, Eina_F16p16 *yy, Eina_F16p16 *yz, Eina_F16p16 *zx, Eina_F16p16 *zy, Eina_F16p16 *zz)
| Get the values of the coefficients of the given fixed point matrix. More...
void | eina_matrix3_matrix3_f16p16_to (const Eina_Matrix3 *m, Eina_Matrix3_F16p16 *fm)
| Transform the given floating point matrix to the given fixed point matrix. More...
Eina_Bool | eina_matrix3_equal (const Eina_Matrix3 *m1, const Eina_Matrix3 *m2)
| Check whether the two given matrices are equal or not. More...
void | eina_matrix3_compose (const Eina_Matrix3 *m1, const Eina_Matrix3 *m2, Eina_Matrix3 *dst)
void | eina_matrix3_translate (Eina_Matrix3 *t, double tx, double ty)
| Set the matrix values for a translation. More...
void | eina_matrix3_scale (Eina_Matrix3 *t, double sx, double sy)
| Set the matrix values for a scale. More...
void | eina_matrix3_rotate (Eina_Matrix3 *t, double rad)
| Set the matrix values for a rotation. More...
void | eina_matrix3_identity (Eina_Matrix3 *t)
| Set the given floating point matrix to the identity matrix. More...
double | eina_matrix3_determinant (const Eina_Matrix3 *m)
| Return the determinant of the given matrix. More...
void | eina_matrix3_divide (Eina_Matrix3 *m, double scalar)
| Divide the given matrix by the given scalar. More...
void | eina_matrix3_inverse (const Eina_Matrix3 *m, Eina_Matrix3 *m2)
| Compute the inverse of the given matrix. More...
void | eina_matrix3_transpose (const Eina_Matrix3 *m, Eina_Matrix3 *a)
void | eina_matrix3_cofactor (const Eina_Matrix3 *m, Eina_Matrix3 *a)
void | eina_matrix3_adjoint (const Eina_Matrix3 *m, Eina_Matrix3 *a)
void | eina_matrix3_point_transform (const Eina_Matrix3 *m, double x, double y, double *xr, double *yr)
void | eina_matrix3_rectangle_transform (const Eina_Matrix3 *m, const Eina_Rectangle *r, const Eina_Quad *q)
Eina_Bool | eina_matrix3_quad_quad_map (Eina_Matrix3 *m, const Eina_Quad *src, const Eina_Quad *dst)
| Creates a projective matrix that maps a quadrangle to a quadrangle.
Eina_Bool | eina_matrix3_square_quad_map (Eina_Matrix3 *m, const Eina_Quad *q)
Eina_Bool | eina_matrix3_quad_square_map (Eina_Matrix3 *m, const Eina_Quad *q)

## Detailed Description

{Eina_Matrix_Type} {Eina_Matrix3_F16p16} {Eina_Matrix3}