Go to the documentation of this file.
12 #ifndef HAL_GFX_MATRIX3X3_H__
13 #define HAL_GFX_MATRIX3X3_H__
169 float dx1,
float dy1,
170 float dx2,
float dy2,
171 float dx3,
float dy3,
192 float sx0,
float sy0,
193 float sx1,
float sy1,
194 float sx2,
float sy2,
195 float sx3,
float sy3,
void hal_gfx_mat3x3_div_scalar(hal_gfx_matrix3x3_t m, float s)
Divide matrix with scalar value.
void hal_gfx_mat3x3_mul_vec_affine(hal_gfx_matrix3x3_t m, float *x, float *y)
Multiply vector with affine matrix.
void hal_gfx_mat3x3_rotate(hal_gfx_matrix3x3_t m, float angle_degrees)
Apply rotation transformation.
void hal_gfx_mat3x3_load_identity(hal_gfx_matrix3x3_t m)
Load Identity Matrix.
int hal_gfx_mat3x3_square_to_quad(float dx0, float dy0, float dx1, float dy1, float dx2, float dy2, float dx3, float dy3, hal_gfx_matrix3x3_t m)
Square to quad transformation.
void hal_gfx_mat3x3_adj(hal_gfx_matrix3x3_t m)
Calculate adjoint.
void hal_gfx_mat3x3_mirror(hal_gfx_matrix3x3_t m, int mx, int my)
Apply mirror transformation.
void hal_gfx_mat3x3_mul(hal_gfx_matrix3x3_t m, hal_gfx_matrix3x3_t _m)
Multiply two 3x3 matrices ( m = m*_m)
int hal_gfx_mat3x3_invert(hal_gfx_matrix3x3_t m)
Invert matrix.
int hal_gfx_mat3x3_quad_to_rect(int width, int height, float sx0, float sy0, float sx1, float sy1, float sx2, float sy2, float sx3, float sy3, hal_gfx_matrix3x3_t m)
Map rectangle to quadrilateral.
void hal_gfx_mat3x3_translate(hal_gfx_matrix3x3_t m, float tx, float ty)
Apply translate transformation.
void hal_gfx_mat3x3_scale(hal_gfx_matrix3x3_t m, float sx, float sy)
Apply scale transformation.
float hal_gfx_matrix3x3_t[3][3]
void hal_gfx_mat3x3_mul_vec(hal_gfx_matrix3x3_t m, float *x, float *y)
Multiply vector with matrix.
void hal_gfx_mat3x3_shear(hal_gfx_matrix3x3_t m, float shx, float shy)
Apply shear transformation.