NovaSVG 0.10.0
A header-only SVG library
Loading...
Searching...
No Matches
matrix.h File Reference
#include "utils.h"
Include dependency graph for matrix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  novasvg
 Main namespace for the NovaSVG library.
 
namespace  novasvg::render
 

Functions

NOVASVG_INLINE void novasvg::render::matrix_init (matrix_t *matrix, float a, float b, float c, float d, float e, float f)
 Initializes a 2D transformation matrix.
 
NOVASVG_INLINE void novasvg::render::matrix_init_identity (matrix_t *matrix)
 Initializes a 2D transformation matrix to the identity matrix.
 
NOVASVG_INLINE void novasvg::render::matrix_init_translate (matrix_t *matrix, float tx, float ty)
 Initializes a 2D transformation matrix for translation.
 
NOVASVG_INLINE void novasvg::render::matrix_init_scale (matrix_t *matrix, float sx, float sy)
 Initializes a 2D transformation matrix for scaling.
 
NOVASVG_INLINE void novasvg::render::matrix_init_rotate (matrix_t *matrix, float angle)
 Initializes a 2D transformation matrix for rotation.
 
NOVASVG_INLINE void novasvg::render::matrix_init_shear (matrix_t *matrix, float shx, float shy)
 Initializes a 2D transformation matrix for shearing.
 
NOVASVG_INLINE void novasvg::render::matrix_translate (matrix_t *matrix, float tx, float ty)
 Adds a translation with offsets tx and ty to the matrix.
 
NOVASVG_INLINE void novasvg::render::matrix_scale (matrix_t *matrix, float sx, float sy)
 Scales the matrix by factors sx and sy
 
NOVASVG_INLINE void novasvg::render::matrix_rotate (matrix_t *matrix, float angle)
 Rotates the matrix by the specified angle (in radians).
 
NOVASVG_INLINE void novasvg::render::matrix_shear (matrix_t *matrix, float shx, float shy)
 Shears the matrix by factors shx and shy.
 
NOVASVG_INLINE void novasvg::render::matrix_multiply (matrix_t *matrix, const matrix_t *left, const matrix_t *right)
 Multiplies left and right matrices and stores the result in matrix.
 
NOVASVG_INLINE bool novasvg::render::matrix_invert (const matrix_t *matrix, matrix_t *inverse)
 Calculates the inverse of matrix and stores it in inverse.
 
NOVASVG_INLINE void novasvg::render::matrix_map (const matrix_t *matrix, float x, float y, float *xx, float *yy)
 Transforms the point (x, y) using matrix and stores the result in (xx, yy).
 
NOVASVG_INLINE void novasvg::render::matrix_map_point (const matrix_t *matrix, const point_t *src, point_t *dst)
 Transforms the src point using matrix and stores the result in dst.
 
NOVASVG_INLINE void novasvg::render::matrix_map_points (const matrix_t *matrix, const point_t *src, point_t *dst, int count)
 Transforms an array of src points using matrix and stores the results in dst.
 
NOVASVG_INLINE void novasvg::render::matrix_map_rect (const matrix_t *matrix, const rect_t *src, rect_t *dst)
 Transforms the src rectangle using matrix and stores the result in dst.
 
NOVASVG_INLINE int novasvg::render::parse_matrix_parameters (const char **begin, const char *end, float values[6], int required, int optional)
 
NOVASVG_INLINE bool novasvg::render::matrix_parse (matrix_t *matrix, const char *data, int length)
 Parses an SVG transform string into a matrix.