Home | History | Annotate | Download | only in vega

Lines Matching refs:matrix

79 struct matrix {
83 static INLINE void matrix_init(struct matrix *mat,
89 static INLINE void matrix_inits(struct matrix *mat,
99 static INLINE void matrix_load_identity(struct matrix *matrix)
104 memcpy(matrix->m, identity, sizeof(identity));
107 static INLINE VGboolean matrix_is_identity(struct matrix *matrix)
109 return floatsEqual(matrix->m[0], 1) && floatIsZero(matrix->m[1]) &&
110 floatIsZero(matrix->m[2]) &&
111 floatIsZero(matrix->m[3]) && floatsEqual(matrix->m[4], 1) &&
112 floatIsZero(matrix->m[5]) &&
113 floatIsZero(matrix->m[6]) && floatIsZero(matrix->m[7]) &&
114 floatIsZero(matrix->m[8]);
117 static INLINE VGboolean matrix_is_affine(struct matrix *matrix)
119 return floatIsZero(matrix->m[2]) && floatIsZero(matrix->m[5])
120 && floatsEqual(matrix->m[8], 1);
124 static INLINE void matrix_make_affine(struct matrix *matrix)
126 matrix->m[2] = 0.f;
127 matrix->m[5] = 0.f;
128 matrix->m[8] = 1.f;
131 static INLINE void matrix_mult(struct matrix *dst,
132 const struct matrix *src)
152 static INLINE void matrix_map_point(struct matrix *mat,
169 static INLINE void matrix_translate(struct matrix *dst,
173 struct matrix trans_matrix;
184 static INLINE void matrix_scale(struct matrix *dst,
188 struct matrix scale_matrix;
199 static INLINE void matrix_shear(struct matrix *dst,
202 struct matrix shear_matrix;
209 static INLINE void matrix_rotate(struct matrix *dst,
212 struct matrix mat;
246 static INLINE VGfloat matrix_determinant(struct matrix *mat)
254 static INLINE void matrix_adjoint(struct matrix *mat)
271 static INLINE void matrix_divs(struct matrix *mat,
285 static INLINE VGboolean matrix_invert(struct matrix *mat)
297 static INLINE VGboolean matrix_is_invertible(struct matrix *mat)
307 struct matrix *mat)
356 struct matrix *mat)
375 struct matrix *mat)
377 struct matrix sqr_to_qd;