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

Go to the source code of this file.

Classes

struct  novasvg::render::surface
 
struct  novasvg::render::path
 
struct  novasvg::render::paint
 
struct  novasvg::render::solid_paint_t
 
struct  novasvg::render::gradient_paint_t
 
struct  novasvg::render::texture_paint_t
 
struct  novasvg::render::span_t
 
struct  novasvg::render::span_buffer_t
 
struct  novasvg::render::stroke_dash_t
 
struct  novasvg::render::stroke_style_t
 
struct  novasvg::render::stroke_data_t
 
struct  novasvg::render::state
 
struct  novasvg::render::canvas
 

Namespaces

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

Macros

#define NOVASVG_PRIVATE_H
 
#define novasvg_init_reference(ob)   ((ob)->ref_count = 1)
 
#define novasvg_increment_reference(ob)   (void)(ob && ++(ob)->ref_count)
 
#define novasvg_destroy_reference(ob)   (ob && --(ob)->ref_count == 0)
 
#define novasvg_get_reference_count(ob)   ((ob) ? (ob)->ref_count : 0)
 

Typedefs

typedef int novasvg::render::ref_count_t
 
typedef struct novasvg::render::state novasvg::render::state_t
 

Enumerations

enum  novasvg::render::paint_type_t { novasvg::render::NOVASVG_PAINT_TYPE_COLOR , novasvg::render::NOVASVG_PAINT_TYPE_GRADIENT , novasvg::render::NOVASVG_PAINT_TYPE_TEXTURE }
 
enum  novasvg::render::gradient_type_t { novasvg::render::NOVASVG_GRADIENT_TYPE_LINEAR , novasvg::render::NOVASVG_GRADIENT_TYPE_RADIAL }
 

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)
 
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)
 
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)
 
NOVASVG_INLINE void novasvg::render::blend (canvas_t *canvas, const span_buffer_t *span_buffer)
 
NOVASVG_INLINE void novasvg::render::memfill32 (unsigned int *dest, int length, unsigned int value)
 

Macro Definition Documentation

◆ novasvg_destroy_reference

#define novasvg_destroy_reference (   ob)    (ob && --(ob)->ref_count == 0)

Definition at line 47 of file private.h.

◆ novasvg_get_reference_count

#define novasvg_get_reference_count (   ob)    ((ob) ? (ob)->ref_count : 0)

Definition at line 48 of file private.h.

◆ novasvg_increment_reference

#define novasvg_increment_reference (   ob)    (void)(ob && ++(ob)->ref_count)

Definition at line 46 of file private.h.

◆ novasvg_init_reference

#define novasvg_init_reference (   ob)    ((ob)->ref_count = 1)

Definition at line 45 of file private.h.

◆ NOVASVG_PRIVATE_H

#define NOVASVG_PRIVATE_H

Definition at line 4 of file private.h.