Go to the documentation of this file.
51 #ifndef HAL_GFX_MATRIX3X3_H__
52 #define HAL_GFX_MATRIX3X3_H__
208 float dx1,
float dy1,
209 float dx2,
float dy2,
210 float dx3,
float dy3,
231 float sx0,
float sy0,
232 float sx1,
float sy1,
233 float sx2,
float sy2,
234 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]
Global define matrix3x3 variable.
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.