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}