Lines Matching refs:matrix

44 void lv_matrix_identity(lv_matrix_t * matrix)  in lv_matrix_identity()  argument
46 matrix->m[0][0] = 1.0f; in lv_matrix_identity()
47 matrix->m[0][1] = 0.0f; in lv_matrix_identity()
48 matrix->m[0][2] = 0.0f; in lv_matrix_identity()
49 matrix->m[1][0] = 0.0f; in lv_matrix_identity()
50 matrix->m[1][1] = 1.0f; in lv_matrix_identity()
51 matrix->m[1][2] = 0.0f; in lv_matrix_identity()
52 matrix->m[2][0] = 0.0f; in lv_matrix_identity()
53 matrix->m[2][1] = 0.0f; in lv_matrix_identity()
54 matrix->m[2][2] = 1.0f; in lv_matrix_identity()
57 void lv_matrix_translate(lv_matrix_t * matrix, float dx, float dy) in lv_matrix_translate() argument
59 if(lv_matrix_is_identity_or_translation(matrix)) { in lv_matrix_translate()
61 matrix->m[0][2] += dx; in lv_matrix_translate()
62 matrix->m[1][2] += dy; in lv_matrix_translate()
73 lv_matrix_multiply(matrix, &tlm); in lv_matrix_translate()
76 void lv_matrix_scale(lv_matrix_t * matrix, float scale_x, float scale_y) in lv_matrix_scale() argument
85 lv_matrix_multiply(matrix, &scm); in lv_matrix_scale()
88 void lv_matrix_rotate(lv_matrix_t * matrix, float degree) in lv_matrix_rotate() argument
101 lv_matrix_multiply(matrix, &rtm); in lv_matrix_rotate()
104 void lv_matrix_skew(lv_matrix_t * matrix, float skew_x, float skew_y) in lv_matrix_skew() argument
118 lv_matrix_multiply(matrix, &skm); in lv_matrix_skew()
121 void lv_matrix_multiply(lv_matrix_t * matrix, const lv_matrix_t * mul) in lv_matrix_multiply() argument
128 tmp.m[y][x] = (matrix->m[y][0] * mul->m[0][x]) in lv_matrix_multiply()
129 + (matrix->m[y][1] * mul->m[1][x]) in lv_matrix_multiply()
130 + (matrix->m[y][2] * mul->m[2][x]); in lv_matrix_multiply()
134 lv_memcpy(matrix, &tmp, sizeof(lv_matrix_t)); in lv_matrix_multiply()
137 bool lv_matrix_inverse(lv_matrix_t * matrix, const lv_matrix_t * m) in lv_matrix_inverse() argument
145 lv_matrix_identity(matrix); in lv_matrix_inverse()
166 matrix->m[0][0] = d * det00; in lv_matrix_inverse()
167 matrix->m[0][1] = d * ((m->m[2][1] * m->m[0][2]) - (m->m[0][1] * m->m[2][2])); in lv_matrix_inverse()
168 matrix->m[0][2] = d * ((m->m[0][1] * m->m[1][2]) - (m->m[1][1] * m->m[0][2])); in lv_matrix_inverse()
169 matrix->m[1][0] = d * det01; in lv_matrix_inverse()
170 matrix->m[1][1] = d * ((m->m[0][0] * m->m[2][2]) - (m->m[2][0] * m->m[0][2])); in lv_matrix_inverse()
171 matrix->m[1][2] = d * ((m->m[1][0] * m->m[0][2]) - (m->m[0][0] * m->m[1][2])); in lv_matrix_inverse()
172 matrix->m[2][0] = is_affine ? 0.0f : d * det02; in lv_matrix_inverse()
173matrix->m[2][1] = is_affine ? 0.0f : d * ((m->m[2][0] * m->m[0][1]) - (m->m[0][0] * m->m[2][1])); in lv_matrix_inverse()
174matrix->m[2][2] = is_affine ? 1.0f : d * ((m->m[0][0] * m->m[1][1]) - (m->m[1][0] * m->m[0][1])); in lv_matrix_inverse()
180 lv_point_precise_t lv_matrix_transform_precise_point(const lv_matrix_t * matrix, const lv_point_pre… in lv_matrix_transform_precise_point() argument
183 …p.x = (lv_value_precise_t)roundf(point->x * matrix->m[0][0] + point->y * matrix->m[0][1] + matrix-… in lv_matrix_transform_precise_point()
184 …p.y = (lv_value_precise_t)roundf(point->x * matrix->m[1][0] + point->y * matrix->m[1][1] + matrix-… in lv_matrix_transform_precise_point()
188 lv_area_t lv_matrix_transform_area(const lv_matrix_t * matrix, const lv_area_t * area) in lv_matrix_transform_area() argument
197 p[0] = lv_matrix_transform_precise_point(matrix, &p[0]); in lv_matrix_transform_area()
198 p[1] = lv_matrix_transform_precise_point(matrix, &p[1]); in lv_matrix_transform_area()
199 p[2] = lv_matrix_transform_precise_point(matrix, &p[2]); in lv_matrix_transform_area()
200 p[3] = lv_matrix_transform_precise_point(matrix, &p[3]); in lv_matrix_transform_area()
210 bool lv_matrix_is_identity_or_translation(const lv_matrix_t * matrix) in lv_matrix_is_identity_or_translation() argument
212 return (matrix->m[0][0] == 1.0f && in lv_matrix_is_identity_or_translation()
213 matrix->m[0][1] == 0.0f && in lv_matrix_is_identity_or_translation()
214 matrix->m[1][0] == 0.0f && in lv_matrix_is_identity_or_translation()
215 matrix->m[1][1] == 1.0f && in lv_matrix_is_identity_or_translation()
216 matrix->m[2][0] == 0.0f && in lv_matrix_is_identity_or_translation()
217 matrix->m[2][1] == 0.0f && in lv_matrix_is_identity_or_translation()
218 matrix->m[2][2] == 1.0f); in lv_matrix_is_identity_or_translation()