Lines Matching refs:transform

33 sp_svg_transform_read(gchar const *str, Geom::Affine *transform)
100 /* ok, have parsed keyword and args, now modify the transform */
150 *transform = a;
157 sp_svg_transform_write(Geom::Affine const &transform)
161 double e = 0.000001 * transform.descrim();
167 if (transform[0] == 0 && transform[1] == 0 && transform[2] == 0 &&
168 transform[3] == 0 && transform[4] == 0 && transform[5] == 0)
179 if (transform.isIdentity()) {
180 // We are more or less identity, so no transform attribute needed:
182 } else if (transform.isScale()) {
186 p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[0], prec, min_exp );
187 if (Geom::are_near(transform[0], transform[3], e)) {
192 p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[3], prec, min_exp );
196 } else if (transform.isTranslation()) {
200 p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[4], prec, min_exp );
201 if (Geom::are_near(transform[5], 0.0, e)) {
206 p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[5], prec, min_exp );
210 } else if (transform.isRotation()) {
215 double angle = std::atan2(transform[1], transform[0]) * (180 / M_PI);
220 } else if (transform.withoutTranslation().isRotation()) {
228 double angle = std::atan2(transform[1], transform[0]) * (180 / M_PI);
232 Geom::Affine const& m = transform;
243 } else if (transform.isHShear()) {
248 double angle = atan(transform[2]) * (180 / M_PI);
253 } else if (transform.isVShear()) {
258 double angle = atan(transform[1]) * (180 / M_PI);
266 p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[0], prec, min_exp );
268 p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[1], prec, min_exp );
270 p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[2], prec, min_exp );
272 p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[3], prec, min_exp );
274 p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[4], prec, min_exp );
276 p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[5], prec, min_exp );
287 sp_svg_transform_write(Geom::Affine const *transform)
289 return sp_svg_transform_write(*transform);