|
| NOVASVG_INLINE int | novasvg::render::render_version (void) |
| | Gets the version of the novasvg rendering library.
|
| |
| NOVASVG_INLINE const char * | novasvg::render::render_version_string (void) |
| | Gets the version of the novasvg rendering library as a string.
|
| |
| 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 bool | novasvg::render::matrix_parse (matrix_t *matrix, const char *data, int length) |
| | Parses an SVG transform string into a matrix.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_iterator_init (path_iterator_t *it, const path_t *path) |
| | Initializes a path iterator for a given path.
|
| |
| NOVASVG_INLINE bool | novasvg::render::path_iterator_has_next (const path_iterator_t *it) |
| | Checks if there are more elements to iterate over.
|
| |
| NOVASVG_INLINE path_command_t | novasvg::render::path_iterator_next (path_iterator_t *it, point_t points[3]) |
| | Retrieves the current command and its associated points, then advances the iterator.
|
| |
| NOVASVG_INLINE path_t * | novasvg::render::path_create (void) |
| | Creates a new path object.
|
| |
| NOVASVG_INLINE path_t * | novasvg::render::path_reference (path_t *path) |
| | Increases the reference count of a path object.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_destroy (path_t *path) |
| | Decreases the reference count of a path object.
|
| |
| NOVASVG_INLINE int | novasvg::render::path_get_reference_count (const path_t *path) |
| | Retrieves the reference count of a path object.
|
| |
| NOVASVG_INLINE int | novasvg::render::path_get_elements (const path_t *path, const path_element_t **elements) |
| | Retrieves the elements of a path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_move_to (path_t *path, float x, float y) |
| | Moves the current point to a new position.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_line_to (path_t *path, float x, float y) |
| | Adds a straight line segment to the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_quad_to (path_t *path, float x1, float y1, float x2, float y2) |
| | Adds a quadratic Bézier curve to the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_cubic_to (path_t *path, float x1, float y1, float x2, float y2, float x3, float y3) |
| | Adds a cubic Bézier curve to the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_arc_to (path_t *path, float rx, float ry, float angle, bool large_arc_flag, bool sweep_flag, float x, float y) |
| | Adds an elliptical arc to the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_close (path_t *path) |
| | Closes the current sub-path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_get_current_point (const path_t *path, float *x, float *y) |
| | Retrieves the current point of the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_reserve (path_t *path, int count) |
| | Reserves space for path elements.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_reset (path_t *path) |
| | Resets the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_add_rect (path_t *path, float x, float y, float w, float h) |
| | Adds a rectangle to the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_add_round_rect (path_t *path, float x, float y, float w, float h, float rx, float ry) |
| | Adds a rounded rectangle to the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_add_ellipse (path_t *path, float cx, float cy, float rx, float ry) |
| | Adds an ellipse to the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_add_circle (path_t *path, float cx, float cy, float r) |
| | Adds a circle to the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_add_arc (path_t *path, float cx, float cy, float r, float a0, float a1, bool ccw) |
| | Adds an arc to the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_add_path (path_t *path, const path_t *source, const matrix_t *matrix) |
| | Adds a sub-path to the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_transform (path_t *path, const matrix_t *matrix) |
| | Applies a transformation matrix to the path.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_traverse (const path_t *path, path_traverse_func_t traverse_func, void *closure) |
| | Traverses the path and calls the callback for each element.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_traverse_flatten (const path_t *path, path_traverse_func_t traverse_func, void *closure) |
| | Traverses the path with Bézier curves flattened to line segments.
|
| |
| NOVASVG_INLINE void | novasvg::render::path_traverse_dashed (const path_t *path, float offset, const float *dashes, int ndashes, path_traverse_func_t traverse_func, void *closure) |
| | Traverses the path with a dashed pattern and calls the callback for each segment.
|
| |
| NOVASVG_INLINE path_t * | novasvg::render::path_clone (const path_t *path) |
| | Creates a copy of the path.
|
| |
| NOVASVG_INLINE path_t * | novasvg::render::path_clone_flatten (const path_t *path) |
| | Creates a copy of the path with Bézier curves flattened to line segments.
|
| |
| NOVASVG_INLINE path_t * | novasvg::render::path_clone_dashed (const path_t *path, float offset, const float *dashes, int ndashes) |
| | Creates a copy of the path with a dashed pattern applied.
|
| |
| NOVASVG_INLINE float | novasvg::render::path_extents (const path_t *path, rect_t *extents, bool tight) |
| | Computes the bounding box and total length of the path.
|
| |
| NOVASVG_INLINE float | novasvg::render::path_length (const path_t *path) |
| | Calculates the total length of the path.
|
| |
| NOVASVG_INLINE bool | novasvg::render::path_parse (path_t *path, const char *data, int length) |
| | Parses SVG path data into a path_t object.
|
| |
| NOVASVG_INLINE void | novasvg::render::text_iterator_init (text_iterator_t *it, const void *text, int length, text_encoding_t encoding) |
| | Initializes a text iterator.
|
| |
| NOVASVG_INLINE bool | novasvg::render::text_iterator_has_next (const text_iterator_t *it) |
| | Checks if there are more code points to iterate.
|
| |
| NOVASVG_INLINE codepoint_t | novasvg::render::text_iterator_next (text_iterator_t *it) |
| | Retrieves the next code point and advances the iterator.
|
| |
| NOVASVG_INLINE font_face_t * | novasvg::render::font_face_load_from_file (const char *filename, int ttcindex) |
| | Loads a font face from a file.
|
| |
| NOVASVG_INLINE font_face_t * | novasvg::render::font_face_load_from_data (const void *data, unsigned int length, int ttcindex, destroy_func_t destroy_func, void *closure) |
| | Loads a font face from memory.
|
| |
| NOVASVG_INLINE font_face_t * | novasvg::render::font_face_reference (font_face_t *face) |
| | Increments the reference count of a font face.
|
| |
| NOVASVG_INLINE void | novasvg::render::font_face_destroy (font_face_t *face) |
| | Decrements the reference count and potentially destroys the font face.
|
| |
| NOVASVG_INLINE int | novasvg::render::font_face_get_reference_count (const font_face_t *face) |
| | Retrieves the current reference count of a font face.
|
| |
| NOVASVG_INLINE void | novasvg::render::font_face_get_metrics (const font_face_t *face, float size, float *ascent, float *descent, float *line_gap, rect_t *extents) |
| | Retrieves metrics for a font face at a specified size.
|
| |
| NOVASVG_INLINE void | novasvg::render::font_face_get_glyph_metrics (font_face_t *face, float size, codepoint_t codepoint, float *advance_width, float *left_side_bearing, rect_t *extents) |
| | Retrieves metrics for a specified glyph at a given size.
|
| |
| NOVASVG_INLINE float | novasvg::render::font_face_get_glyph_path (font_face_t *face, float size, float x, float y, codepoint_t codepoint, path_t *path) |
| | Retrieves the path of a glyph and its advance width.
|
| |
| NOVASVG_INLINE float | novasvg::render::font_face_traverse_glyph_path (font_face_t *face, float size, float x, float y, codepoint_t codepoint, path_traverse_func_t traverse_func, void *closure) |
| | Traverses the path of a glyph and calls a callback for each path element.
|
| |
| NOVASVG_INLINE float | novasvg::render::font_face_text_extents (font_face_t *face, float size, const void *text, int length, text_encoding_t encoding, rect_t *extents) |
| | Computes the bounding box of a text string and its advance width.
|
| |
| NOVASVG_INLINE font_face_cache_t * | novasvg::render::font_face_cache_create (void) |
| | Create a new, empty font‐face cache.
|
| |
| NOVASVG_INLINE font_face_cache_t * | novasvg::render::font_face_cache_reference (font_face_cache_t *cache) |
| | Increments the reference count of a font‐face cache.
|
| |
| NOVASVG_INLINE void | novasvg::render::font_face_cache_destroy (font_face_cache_t *cache) |
| | Decrement the reference count of a font‐face cache and destroy it when it reaches zero.
|
| |
| NOVASVG_INLINE int | novasvg::render::font_face_cache_reference_count (const font_face_cache_t *cache) |
| | Retrieve the current reference count of a font‐face cache.
|
| |
| NOVASVG_INLINE void | novasvg::render::font_face_cache_reset (font_face_cache_t *cache) |
| | Remove all entries from a font‐face cache.
|
| |
| NOVASVG_INLINE void | novasvg::render::font_face_cache_add (font_face_cache_t *cache, const char *family, bool bold, bool italic, font_face_t *face) |
| | Add a font face to the cache with the specified family and style.
|
| |
| NOVASVG_INLINE bool | novasvg::render::font_face_cache_add_file (font_face_cache_t *cache, const char *family, bool bold, bool italic, const char *filename, int ttcindex) |
| | Load a font face from a file and add it to the cache with the specified family and style.
|
| |
| NOVASVG_INLINE font_face_t * | novasvg::render::font_face_cache_get (font_face_cache_t *cache, const char *family, bool bold, bool italic) |
| | Retrieve a font face from the cache by family and style.
|
| |
| NOVASVG_INLINE int | novasvg::render::font_face_cache_load_file (font_face_cache_t *cache, const char *filename) |
| | Load all font faces from a file and add them to the cache.
|
| |
| NOVASVG_INLINE int | novasvg::render::font_face_cache_load_dir (font_face_cache_t *cache, const char *dirname) |
| | Load all font faces from files in a directory recursively and add them to the cache.
|
| |
| NOVASVG_INLINE int | novasvg::render::font_face_cache_load_sys (font_face_cache_t *cache) |
| | Load all available system font faces and add them to the cache.
|
| |
| NOVASVG_INLINE void | novasvg::render::color_init_rgb (color_t *color, float r, float g, float b) |
| | Initializes a color using RGB components in the 0-1 range.
|
| |
| NOVASVG_INLINE void | novasvg::render::color_init_rgba (color_t *color, float r, float g, float b, float a) |
| | Initializes a color using RGBA components in the 0-1 range.
|
| |
| NOVASVG_INLINE void | novasvg::render::color_init_rgb8 (color_t *color, int r, int g, int b) |
| | Initializes a color using RGB components in the 0-255 range.
|
| |
| NOVASVG_INLINE void | novasvg::render::color_init_rgba8 (color_t *color, int r, int g, int b, int a) |
| | Initializes a color using RGBA components in the 0-255 range.
|
| |
| NOVASVG_INLINE void | novasvg::render::color_init_rgba32 (color_t *color, unsigned int value) |
| | Initializes a color from a 32-bit unsigned RGBA value.
|
| |
| NOVASVG_INLINE void | novasvg::render::color_init_argb32 (color_t *color, unsigned int value) |
| | Initializes a color from a 32-bit unsigned ARGB value.
|
| |
| NOVASVG_INLINE void | novasvg::render::color_init_hsl (color_t *color, float h, float s, float l) |
| | Initializes a color with the specified HSL color values.
|
| |
| NOVASVG_INLINE void | novasvg::render::color_init_hsla (color_t *color, float h, float s, float l, float a) |
| | Initializes a color with the specified HSLA color values.
|
| |
| NOVASVG_INLINE unsigned int | novasvg::render::color_to_rgba32 (const color_t *color) |
| | Converts a color to a 32-bit unsigned RGBA value.
|
| |
| NOVASVG_INLINE unsigned int | novasvg::render::color_to_argb32 (const color_t *color) |
| | Converts a color to a 32-bit unsigned ARGB value.
|
| |
| NOVASVG_INLINE int | novasvg::render::color_parse (color_t *color, const char *data, int length) |
| | Parses a color from a string using CSS color syntax.
|
| |
| surface_t * | novasvg::render::surface_create (int width, int height) |
| | Creates a new image surface with the specified dimensions.
|
| |
| surface_t * | novasvg::render::surface_create_for_data (unsigned char *data, int width, int height, int stride) |
| | Creates an image surface using existing pixel data.
|
| |
| surface_t * | novasvg::render::surface_load_from_image_file (const char *filename) |
| | Loads an image surface from a file.
|
| |
| surface_t * | novasvg::render::surface_load_from_image_data (const void *data, int length) |
| | Loads an image surface from raw image data.
|
| |
| surface_t * | novasvg::render::surface_load_from_image_base64 (const char *data, int length) |
| | Loads an image surface from base64-encoded data.
|
| |
| surface_t * | novasvg::render::surface_reference (surface_t *surface) |
| | Increments the reference count for a surface.
|
| |
| void | novasvg::render::surface_destroy (surface_t *surface) |
| | Decrements the reference count and destroys the surface if the count reaches zero.
|
| |
| int | novasvg::render::surface_get_reference_count (const surface_t *surface) |
| | Gets the current reference count of a surface.
|
| |
| unsigned char * | novasvg::render::surface_get_data (const surface_t *surface) |
| | Gets the pixel data of the surface.
|
| |
| int | novasvg::render::surface_get_width (const surface_t *surface) |
| | Gets the width of the surface.
|
| |
| int | novasvg::render::surface_get_height (const surface_t *surface) |
| | Gets the height of the surface.
|
| |
| int | novasvg::render::surface_get_stride (const surface_t *surface) |
| | Gets the stride of the surface.
|
| |
| void | novasvg::render::surface_clear (surface_t *surface, const color_t *color) |
| | Clears the entire surface with the specified color.
|
| |
| void | novasvg::render::convert_argb_to_rgba (unsigned char *dst, const unsigned char *src, int width, int height, int stride) |
| | Converts pixel data from premultiplied ARGB to RGBA format.
|
| |
| void | novasvg::render::convert_rgba_to_argb (unsigned char *dst, const unsigned char *src, int width, int height, int stride) |
| | Converts pixel data from RGBA to premultiplied ARGB format.
|
| |
| NOVASVG_INLINE paint_t * | novasvg::render::paint_create_rgb (float r, float g, float b) |
| | Creates a solid RGB paint.
|
| |
| NOVASVG_INLINE paint_t * | novasvg::render::paint_create_rgba (float r, float g, float b, float a) |
| | Creates a solid RGBA paint.
|
| |
| NOVASVG_INLINE paint_t * | novasvg::render::paint_create_color (const color_t *color) |
| | Creates a solid color paint.
|
| |
| NOVASVG_INLINE paint_t * | novasvg::render::paint_create_linear_gradient (float x1, float y1, float x2, float y2, spread_method_t spread, const gradient_stop_t *stops, int nstops, const matrix_t *matrix) |
| | Creates a linear gradient paint.
|
| |
| NOVASVG_INLINE paint_t * | novasvg::render::paint_create_radial_gradient (float cx, float cy, float cr, float fx, float fy, float fr, spread_method_t spread, const gradient_stop_t *stops, int nstops, const matrix_t *matrix) |
| | Creates a radial gradient paint.
|
| |
| NOVASVG_INLINE paint_t * | novasvg::render::paint_create_texture (surface_t *surface, texture_type_t type, float opacity, const matrix_t *matrix) |
| | Creates a texture paint from a surface.
|
| |
| NOVASVG_INLINE paint_t * | novasvg::render::paint_reference (paint_t *paint) |
| | Increments the reference count of a paint object.
|
| |
| NOVASVG_INLINE void | novasvg::render::paint_destroy (paint_t *paint) |
| | Decrements the reference count and destroys the paint if the count reaches zero.
|
| |
| NOVASVG_INLINE int | novasvg::render::paint_get_reference_count (const paint_t *paint) |
| | Retrieves the reference count of a paint object.
|
| |
| NOVASVG_INLINE canvas_t * | novasvg::render::canvas_create (surface_t *surface) |
| | Creates a drawing context on a surface.
|
| |
| NOVASVG_INLINE canvas_t * | novasvg::render::canvas_reference (canvas_t *canvas) |
| | Increases the reference count of the canvas.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_destroy (canvas_t *canvas) |
| | Decreases the reference count and destroys the canvas when it reaches zero.
|
| |
| NOVASVG_INLINE int | novasvg::render::canvas_get_reference_count (const canvas_t *canvas) |
| | Retrieves the reference count of the canvas.
|
| |
| NOVASVG_INLINE surface_t * | novasvg::render::canvas_get_surface (const canvas_t *canvas) |
| | Gets the surface associated with the canvas.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_save (canvas_t *canvas) |
| | Saves the current state of the canvas.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_restore (canvas_t *canvas) |
| | Restores the canvas to the most recently saved state.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_rgb (canvas_t *canvas, float r, float g, float b) |
| | Sets the current paint to a solid color.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_rgba (canvas_t *canvas, float r, float g, float b, float a) |
| | Sets the current paint to a solid color.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_color (canvas_t *canvas, const color_t *color) |
| | Sets the current paint to a solid color.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_linear_gradient (canvas_t *canvas, float x1, float y1, float x2, float y2, spread_method_t spread, const gradient_stop_t *stops, int nstops, const matrix_t *matrix) |
| | Sets the current paint to a linear gradient.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_radial_gradient (canvas_t *canvas, float cx, float cy, float cr, float fx, float fy, float fr, spread_method_t spread, const gradient_stop_t *stops, int nstops, const matrix_t *matrix) |
| | Sets the current paint to a radial gradient.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_texture (canvas_t *canvas, surface_t *surface, texture_type_t type, float opacity, const matrix_t *matrix) |
| | Sets the current paint to a texture.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_paint (canvas_t *canvas, paint_t *paint) |
| | Sets the current paint.
|
| |
| NOVASVG_INLINE paint_t * | novasvg::render::canvas_get_paint (const canvas_t *canvas, color_t *color) |
| | Retrieves the current paint.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_font_face_cache (canvas_t *canvas, font_face_cache_t *cache) |
| | Assigns a font-face cache to the canvas for font management.
|
| |
| NOVASVG_INLINE font_face_cache_t * | novasvg::render::canvas_get_font_face_cache (const canvas_t *canvas) |
| | Returns the font-face cache associated with the canvas.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_add_font_face (canvas_t *canvas, const char *family, bool bold, bool italic, font_face_t *face) |
| | Add a font face to the canvas using the specified family and style.
|
| |
| NOVASVG_INLINE bool | novasvg::render::canvas_add_font_file (canvas_t *canvas, const char *family, bool bold, bool italic, const char *filename, int ttcindex) |
| | Load a font face from a file and add it to the canvas using the specified family and style.
|
| |
| NOVASVG_INLINE bool | novasvg::render::canvas_select_font_face (canvas_t *canvas, const char *family, bool bold, bool italic) |
| | Selects and sets the current font face on the canvas.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_font (canvas_t *canvas, font_face_t *face, float size) |
| | Sets the font face and size for text rendering on the canvas.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_font_face (canvas_t *canvas, font_face_t *face) |
| | Sets the font face for text rendering on the canvas.
|
| |
| NOVASVG_INLINE font_face_t * | novasvg::render::canvas_get_font_face (const canvas_t *canvas) |
| | Retrieves the current font face used for text rendering on the canvas.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_font_size (canvas_t *canvas, float size) |
| | Sets the font size for text rendering on the canvas.
|
| |
| NOVASVG_INLINE float | novasvg::render::canvas_get_font_size (const canvas_t *canvas) |
| | Retrieves the current font size used for text rendering on the canvas.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_fill_rule (canvas_t *canvas, fill_rule_t winding) |
| | Sets the fill rule.
|
| |
| NOVASVG_INLINE fill_rule_t | novasvg::render::canvas_get_fill_rule (const canvas_t *canvas) |
| | Retrieves the current fill rule.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_operator (canvas_t *canvas, operator_t op) |
| | Sets the compositing operator.
|
| |
| NOVASVG_INLINE operator_t | novasvg::render::canvas_get_operator (const canvas_t *canvas) |
| | Retrieves the current compositing operator.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_opacity (canvas_t *canvas, float opacity) |
| | Sets the global opacity.
|
| |
| NOVASVG_INLINE float | novasvg::render::canvas_get_opacity (const canvas_t *canvas) |
| | Retrieves the current global opacity.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_line_width (canvas_t *canvas, float line_width) |
| | Sets the line width.
|
| |
| NOVASVG_INLINE float | novasvg::render::canvas_get_line_width (const canvas_t *canvas) |
| | Retrieves the current line width.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_line_cap (canvas_t *canvas, line_cap_t line_cap) |
| | Sets the line cap style.
|
| |
| NOVASVG_INLINE line_cap_t | novasvg::render::canvas_get_line_cap (const canvas_t *canvas) |
| | Retrieves the current line cap style.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_line_join (canvas_t *canvas, line_join_t line_join) |
| | Sets the line join style.
|
| |
| NOVASVG_INLINE line_join_t | novasvg::render::canvas_get_line_join (const canvas_t *canvas) |
| | Retrieves the current line join style.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_miter_limit (canvas_t *canvas, float miter_limit) |
| | Sets the miter limit.
|
| |
| NOVASVG_INLINE float | novasvg::render::canvas_get_miter_limit (const canvas_t *canvas) |
| | Retrieves the current miter limit.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_dash (canvas_t *canvas, float offset, const float *dashes, int ndashes) |
| | Sets the dash pattern.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_dash_offset (canvas_t *canvas, float offset) |
| | Sets the dash offset.
|
| |
| NOVASVG_INLINE float | novasvg::render::canvas_get_dash_offset (const canvas_t *canvas) |
| | Retrieves the current dash offset.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_dash_array (canvas_t *canvas, const float *dashes, int ndashes) |
| | Sets the dash pattern.
|
| |
| NOVASVG_INLINE int | novasvg::render::canvas_get_dash_array (const canvas_t *canvas, const float **dashes) |
| | Retrieves the current dash pattern.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_translate (canvas_t *canvas, float tx, float ty) |
| | Translates the current transformation matrix by offsets tx and ty.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_scale (canvas_t *canvas, float sx, float sy) |
| | Scales the current transformation matrix by factors sx and sy.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_shear (canvas_t *canvas, float shx, float shy) |
| | Shears the current transformation matrix by factors shx and shy.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_rotate (canvas_t *canvas, float angle) |
| | Rotates the current transformation matrix by the specified angle (in radians).
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_transform (canvas_t *canvas, const matrix_t *matrix) |
| | Multiplies the current transformation matrix with the specified matrix.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_reset_matrix (canvas_t *canvas) |
| | Resets the current transformation matrix to the identity matrix.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_set_matrix (canvas_t *canvas, const matrix_t *matrix) |
| | Resets the current transformation matrix to the specified matrix.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_get_matrix (const canvas_t *canvas, matrix_t *matrix) |
| | Stores the current transformation matrix in matrix.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_map (const canvas_t *canvas, float x, float y, float *xx, float *yy) |
| | Transforms the point (x, y) using the current transformation matrix and stores the result in (xx, yy).
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_map_point (const canvas_t *canvas, const point_t *src, point_t *dst) |
| | Transforms the src point using the current transformation matrix and stores the result in dst.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_map_rect (const canvas_t *canvas, const rect_t *src, rect_t *dst) |
| | Transforms the src rectangle using the current transformation matrix and stores the result in dst.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_move_to (canvas_t *canvas, float x, float y) |
| | Moves the current point to a new position.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_line_to (canvas_t *canvas, float x, float y) |
| | Adds a straight line segment to the current path.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_quad_to (canvas_t *canvas, float x1, float y1, float x2, float y2) |
| | Adds a quadratic Bézier curve to the current path.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_cubic_to (canvas_t *canvas, float x1, float y1, float x2, float y2, float x3, float y3) |
| | Adds a cubic Bézier curve to the current path.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_arc_to (canvas_t *canvas, float rx, float ry, float angle, bool large_arc_flag, bool sweep_flag, float x, float y) |
| | Adds an elliptical arc to the current path.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_rect (canvas_t *canvas, float x, float y, float w, float h) |
| | Adds a rectangle to the current path.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_round_rect (canvas_t *canvas, float x, float y, float w, float h, float rx, float ry) |
| | Adds a rounded rectangle to the current path.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_ellipse (canvas_t *canvas, float cx, float cy, float rx, float ry) |
| | Adds an ellipse to the current path.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_circle (canvas_t *canvas, float cx, float cy, float r) |
| | Adds a circle to the current path.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_arc (canvas_t *canvas, float cx, float cy, float r, float a0, float a1, bool ccw) |
| | Adds an arc to the current path.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_add_path (canvas_t *canvas, const path_t *path) |
| | Adds a path to the current path.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_new_path (canvas_t *canvas) |
| | Starts a new path on the canvas.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_close_path (canvas_t *canvas) |
| | Closes the current path.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_get_current_point (const canvas_t *canvas, float *x, float *y) |
| | Retrieves the current point of the canvas.
|
| |
| NOVASVG_INLINE path_t * | novasvg::render::canvas_get_path (const canvas_t *canvas) |
| | Gets the current path from the canvas.
|
| |
| NOVASVG_INLINE bool | novasvg::render::canvas_fill_contains (canvas_t *canvas, float x, float y) |
| | Tests whether a point lies within the current fill region.
|
| |
| NOVASVG_INLINE bool | novasvg::render::canvas_stroke_contains (canvas_t *canvas, float x, float y) |
| | Tests whether a point lies within the current stroke region.
|
| |
| NOVASVG_INLINE bool | novasvg::render::canvas_clip_contains (canvas_t *canvas, float x, float y) |
| | Tests whether a point lies within the current clipping region.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_fill_extents (canvas_t *canvas, rect_t *extents) |
| | Computes the bounding box of the area that would be affected by a fill operation.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_stroke_extents (canvas_t *canvas, rect_t *extents) |
| | Computes the bounding box of the area that would be affected by a stroke operation.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_clip_extents (canvas_t *canvas, rect_t *extents) |
| | Gets the bounding box of the current clipping region.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_fill (canvas_t *canvas) |
| | A drawing operator that fills the current path according to the current fill rule.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_stroke (canvas_t *canvas) |
| | A drawing operator that strokes the current path according to the current stroke settings.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_clip (canvas_t *canvas) |
| | A drawing operator that intersects the current clipping region with the current path according to the current fill rule.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_paint (canvas_t *canvas) |
| | A drawing operator that paints the current clipping region using the current paint.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_fill_preserve (canvas_t *canvas) |
| | A drawing operator that fills the current path according to the current fill rule.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_stroke_preserve (canvas_t *canvas) |
| | A drawing operator that strokes the current path according to the current stroke settings.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_clip_preserve (canvas_t *canvas) |
| | A drawing operator that intersects the current clipping region with the current path according to the current fill rule.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_fill_rect (canvas_t *canvas, float x, float y, float w, float h) |
| | Fills a rectangle according to the current fill rule.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_fill_path (canvas_t *canvas, const path_t *path) |
| | Fills a path according to the current fill rule.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_stroke_rect (canvas_t *canvas, float x, float y, float w, float h) |
| | Strokes a rectangle with the current stroke settings.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_stroke_path (canvas_t *canvas, const path_t *path) |
| | Strokes a path with the current stroke settings.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_clip_rect (canvas_t *canvas, float x, float y, float w, float h) |
| | Intersects the current clipping region with a rectangle according to the current fill rule.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_clip_path (canvas_t *canvas, const path_t *path) |
| | Intersects the current clipping region with a path according to the current fill rule.
|
| |
| NOVASVG_INLINE float | novasvg::render::canvas_add_glyph (canvas_t *canvas, codepoint_t codepoint, float x, float y) |
| | Adds a glyph to the current path at the specified origin.
|
| |
| NOVASVG_INLINE float | novasvg::render::canvas_add_text (canvas_t *canvas, const void *text, int length, text_encoding_t encoding, float x, float y) |
| | Adds text to the current path at the specified origin.
|
| |
| NOVASVG_INLINE float | novasvg::render::canvas_fill_text (canvas_t *canvas, const void *text, int length, text_encoding_t encoding, float x, float y) |
| | Fills a text at the specified origin.
|
| |
| NOVASVG_INLINE float | novasvg::render::canvas_stroke_text (canvas_t *canvas, const void *text, int length, text_encoding_t encoding, float x, float y) |
| | Strokes a text at the specified origin.
|
| |
| NOVASVG_INLINE float | novasvg::render::canvas_clip_text (canvas_t *canvas, const void *text, int length, text_encoding_t encoding, float x, float y) |
| | Intersects the current clipping region with text at the specified origin.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_font_metrics (const canvas_t *canvas, float *ascent, float *descent, float *line_gap, rect_t *extents) |
| | Retrieves font metrics for the current font.
|
| |
| NOVASVG_INLINE void | novasvg::render::canvas_glyph_metrics (canvas_t *canvas, codepoint_t codepoint, float *advance_width, float *left_side_bearing, rect_t *extents) |
| | Retrieves metrics for a specific glyph.
|
| |
| NOVASVG_INLINE float | novasvg::render::canvas_text_extents (canvas_t *canvas, const void *text, int length, text_encoding_t encoding, rect_t *extents) |
| | Retrieves the extents of a text.
|
| |