NovaSVG 0.10.0
A header-only SVG library
Loading...
Searching...
No Matches
rasterize.h File Reference
#include "private.h"
#include "utils.h"
#include "vendor/ft_raster.h"
#include "vendor/ft_stroker.h"
#include <limits.h>
Include dependency graph for rasterize.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
 

Macros

#define ALIGN_SIZE(size)   (((size) + 7ul) & ~7ul)
 
#define FT_COORD(x)   ft_coord_round((x) * 64)
 

Functions

void novasvg::render::span_buffer_init (span_buffer_t *span_buffer)
 
void novasvg::render::span_buffer_init_rect (span_buffer_t *span_buffer, int x, int y, int width, int height)
 
void novasvg::render::span_buffer_reset (span_buffer_t *span_buffer)
 
void novasvg::render::span_buffer_destroy (span_buffer_t *span_buffer)
 
void novasvg::render::span_buffer_copy (span_buffer_t *span_buffer, const span_buffer_t *source)
 
bool novasvg::render::span_buffer_contains (const span_buffer_t *span_buffer, float x, float y)
 
NOVASVG_INLINE void novasvg::render::span_buffer_update_extents (span_buffer_t *span_buffer)
 
void novasvg::render::span_buffer_extents (span_buffer_t *span_buffer, rect_t *extents)
 
void novasvg::render::span_buffer_intersect (span_buffer_t *span_buffer, const span_buffer_t *a, const span_buffer_t *b)
 
NOVASVG_INLINE PVG_FT_Outline * novasvg::render::ft_outline_create (int points, int contours)
 
NOVASVG_INLINE void novasvg::render::ft_outline_destroy (PVG_FT_Outline *outline)
 
NOVASVG_INLINE PVG_FT_Pos novasvg::render::ft_coord_round (float v)
 
NOVASVG_INLINE void novasvg::render::ft_outline_move_to (PVG_FT_Outline *ft, float x, float y)
 
NOVASVG_INLINE void novasvg::render::ft_outline_line_to (PVG_FT_Outline *ft, float x, float y)
 
NOVASVG_INLINE void novasvg::render::ft_outline_cubic_to (PVG_FT_Outline *ft, float x1, float y1, float x2, float y2, float x3, float y3)
 
NOVASVG_INLINE void novasvg::render::ft_outline_close (PVG_FT_Outline *ft)
 
NOVASVG_INLINE void novasvg::render::ft_outline_end (PVG_FT_Outline *ft)
 
NOVASVG_INLINE PVG_FT_Outline * novasvg::render::ft_outline_convert_stroke (const path_t *path, const matrix_t *matrix, const stroke_data_t *stroke_data)
 
NOVASVG_INLINE PVG_FT_Outline * novasvg::render::ft_outline_convert (const path_t *path, const matrix_t *matrix, const stroke_data_t *stroke_data)
 
NOVASVG_INLINE PVG_FT_Outline * novasvg::render::ft_outline_convert_dash (const path_t *path, const matrix_t *matrix, const stroke_dash_t *stroke_dash)
 
NOVASVG_INLINE void novasvg::render::spans_generation_callback (int count, const PVG_FT_Span *spans, void *user)
 
void novasvg::render::rasterize (span_buffer_t *span_buffer, const path_t *path, const matrix_t *matrix, const rect_t *clip_rect, const stroke_data_t *stroke_data, fill_rule_t winding)
 

Macro Definition Documentation

◆ ALIGN_SIZE

#define ALIGN_SIZE (   size)    (((size) + 7ul) & ~7ul)

Definition at line 172 of file rasterize.h.

◆ FT_COORD

#define FT_COORD (   x)    ft_coord_round((x) * 64)

Definition at line 213 of file rasterize.h.