libsf3
Loading...
Searching...
No Matches
Data Structures | Macros | Enumerations | Functions
sf3_vector_graphic.h File Reference
#include "sf3_core.h"
Include dependency graph for sf3_vector_graphic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  sf3_point
 Description of a point on the canvas. More...
 
struct  sf3_size
 Description of an extent on the canvas. More...
 
struct  sf3_color
 Description of a colour of a shape. More...
 
struct  sf3_shape_outline
 Description of a shape's outline. More...
 
struct  sf3_shape_bounds
 Description of a shape's bounds or extent on the canvas. More...
 
struct  sf3_shape_fill
 Description of the fill parameters of a shape. More...
 
struct  sf3_text_instruction
 
struct  sf3_curve_instruction
 An instruction to draw a Bezier curve. More...
 
struct  sf3_polygon_instruction
 An instruction to draw a closed polygon. More...
 
struct  sf3_circle_instruction
 An instruction to draw a circle. More...
 
struct  sf3_rectangle_instruction
 An instruction to draw a rectangle. More...
 
struct  sf3_line_instruction
 An instruction to draw a segmented line. More...
 
struct  sf3_matrix_instruction
 
struct  sf3_identity_instruction
 
struct  sf3_vector_instruction
 
struct  sf3_vector_graphic
 

Macros

#define SF3_FORMAT_ID_VECTOR_GRAPHIC   0x09
 The format_id for a vector graphic file.
 
#define SF3_SKIP_OUTLINE(OUTLINE)   ((OUTLINE).edges+(OUTLINE).count)
 Macro to obtain a pointer past the outline structure.
 

Enumerations

enum  sf3_vector_instruction_type {
  SF3_INSTRUCTION_LINE = 0x01 , SF3_INSTRUCTION_RECTANGLE = 0x02 , SF3_INSTRUCTION_CIRCLE = 0x03 , SF3_INSTRUCTION_POLYGON = 0x04 ,
  SF3_INSTRUCTION_CURVE = 0x05 , SF3_INSTRUCTION_TEXT = 0x06 , SF3_INSTRUCTION_IDENTITY = 0x11 , SF3_INSTRUCTION_MATRIX = 0x12
}
 

Functions

SF3_INLINE const struct sf3_vector_instructionsf3_vector_graphic_next_instruction (const struct sf3_vector_instruction *instruction)
 
SF3_INLINE const char * sf3_text_instruction_string (const struct sf3_text_instruction *instruction)
 Returns the string to draw of a text instruction.
 
SF3_EXPORT const char * sf3_vector_instruction_type (enum sf3_vector_instruction_type type)
 
SF3_EXPORT size_t sf3_vector_graphic_size (const struct sf3_vector_graphic *vector_graphic)
 Computes the size of the vector graphic file in bytes.
 

Macro Definition Documentation

◆ SF3_FORMAT_ID_VECTOR_GRAPHIC

#define SF3_FORMAT_ID_VECTOR_GRAPHIC   0x09

The format_id for a vector graphic file.

Definition at line 6 of file sf3_vector_graphic.h.

◆ SF3_SKIP_OUTLINE

#define SF3_SKIP_OUTLINE (   OUTLINE)    ((OUTLINE).edges+(OUTLINE).count)

Macro to obtain a pointer past the outline structure.

Definition at line 66 of file sf3_vector_graphic.h.

Enumeration Type Documentation

◆ sf3_vector_instruction_type

The vector instructions that can be stored in a vector graphic file.

Enumerator
SF3_INSTRUCTION_LINE 

The instruction is a sf3_line_instruction.

SF3_INSTRUCTION_RECTANGLE 

The instruction is a sf3_rectangle_instruction.

SF3_INSTRUCTION_CIRCLE 

The instruction is a sf3_circle_instruction.

SF3_INSTRUCTION_POLYGON 

The instruction is a sf3_polygon_instruction.

SF3_INSTRUCTION_CURVE 

The instruction is a sf3_curve_instruction.

SF3_INSTRUCTION_TEXT 

The instruction is a sf3_text_instruction.

SF3_INSTRUCTION_IDENTITY 

The instruction is a sf3_identity_instruction.

SF3_INSTRUCTION_MATRIX 

The instruction is a sf3_matrix_instruction.

Definition at line 10 of file sf3_vector_graphic.h.

Function Documentation

◆ sf3_text_instruction_string()

SF3_INLINE const char * sf3_text_instruction_string ( const struct sf3_text_instruction instruction)

Returns the string to draw of a text instruction.

Definition at line 223 of file sf3_vector_graphic.h.

◆ sf3_vector_graphic_next_instruction()

SF3_INLINE const struct sf3_vector_instruction * sf3_vector_graphic_next_instruction ( const struct sf3_vector_instruction instruction)

Returns the next instruction after this one. Note that this function does not perform any bounds checking whatsoever. It is up to you to ensure you do not call this with the last instruction of a vector graphic file.

Definition at line 196 of file sf3_vector_graphic.h.

◆ sf3_vector_graphic_size()

SF3_EXPORT size_t sf3_vector_graphic_size ( const struct sf3_vector_graphic vector_graphic)

Computes the size of the vector graphic file in bytes.

Definition at line 245 of file sf3_vector_graphic.h.

◆ sf3_vector_instruction_type()

Returns a human-readable string description of the vector instruction type.

Definition at line 230 of file sf3_vector_graphic.h.