VKVG  
Vulkan Vector Graphics
Data Structures | Macros | Functions
Matrices

Description

This is the reference documentation for handling matrices to use as transformation in drawing operations. Matrix computations in vkvg are taken from the cairo library.

Data Structures

struct  vkvg_matrix_t
 vkvg matrix structure More...
 

Macros

#define VKVG_IDENTITY_MATRIX   (vkvg_matrix_t){1,0,0,1,0,0}
 

Functions

void vkvg_matrix_init_identity (vkvg_matrix_t *matrix)
 Set matrix to identity. More...
 
void vkvg_matrix_init (vkvg_matrix_t *matrix, float xx, float yx, float xy, float yy, float x0, float y0)
 Matrix initialization. More...
 
void vkvg_matrix_init_translate (vkvg_matrix_t *matrix, float tx, float ty)
 Rotation matrix initialization. More...
 
void vkvg_matrix_init_scale (vkvg_matrix_t *matrix, float sx, float sy)
 scaling matrix initialization More...
 
void vkvg_matrix_init_rotate (vkvg_matrix_t *matrix, float radians)
 rotation matrix initialization More...
 
void vkvg_matrix_translate (vkvg_matrix_t *matrix, float tx, float ty)
 apply translation on matrix More...
 
void vkvg_matrix_scale (vkvg_matrix_t *matrix, float sx, float sy)
 apply scale on matrix More...
 
void vkvg_matrix_rotate (vkvg_matrix_t *matrix, float radians)
 apply rotation on matrix More...
 
void vkvg_matrix_multiply (vkvg_matrix_t *result, const vkvg_matrix_t *a, const vkvg_matrix_t *b)
 matrices multiplication More...
 
void vkvg_matrix_transform_distance (const vkvg_matrix_t *matrix, float *dx, float *dy)
 transform distances More...
 
void vkvg_matrix_transform_point (const vkvg_matrix_t *matrix, float *x, float *y)
 transform point More...
 
vkvg_status_t vkvg_matrix_invert (vkvg_matrix_t *matrix)
 invert matrix More...
 
void vkvg_matrix_get_scale (const vkvg_matrix_t *matrix, float *sx, float *sy)