diff options
| author | tim <tim@gray.(none)> | 2014-04-18 09:28:31 +0100 |
|---|---|---|
| committer | tim <tim@gray.(none)> | 2014-04-18 09:28:31 +0100 |
| commit | ba9af7648a79b54836019ca792e40e81ca863c86 (patch) | |
| tree | 10cf27eca307caabcd45cdab53067cded31961f8 /liveengineUnmapped/ofxSVGTiny/libs/svgtiny.h | |
| parent | 9d46e74d0f6e9c240bb5f0597ff75b5415a4a5a1 (diff) | |
good to go
Diffstat (limited to 'liveengineUnmapped/ofxSVGTiny/libs/svgtiny.h')
| -rw-r--r-- | liveengineUnmapped/ofxSVGTiny/libs/svgtiny.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/liveengineUnmapped/ofxSVGTiny/libs/svgtiny.h b/liveengineUnmapped/ofxSVGTiny/libs/svgtiny.h new file mode 100644 index 0000000..9d685e9 --- /dev/null +++ b/liveengineUnmapped/ofxSVGTiny/libs/svgtiny.h @@ -0,0 +1,74 @@ +/* + * This file is part of Libsvgtiny + * Licensed under the MIT License, + * http://opensource.org/licenses/mit-license.php + * Copyright 2008 James Bursa <james@semichrome.net> + */ + +#ifndef SVGTINY_H +#define SVGTINY_H + +#include <libxml/parser.h> + +typedef int svgtiny_colour; +#define svgtiny_TRANSPARENT 0x1000000 +#ifdef __riscos__ +#define svgtiny_RGB(r, g, b) ((b) << 16 | (g) << 8 | (r)) +#define svgtiny_RED(c) ((c) & 0xff) +#define svgtiny_GREEN(c) (((c) >> 8) & 0xff) +#define svgtiny_BLUE(c) (((c) >> 16) & 0xff) +#else +#define svgtiny_RGB(r, g, b) ((r) << 16 | (g) << 8 | (b)) +#define svgtiny_RED(c) (((c) >> 16) & 0xff) +#define svgtiny_GREEN(c) (((c) >> 8) & 0xff) +#define svgtiny_BLUE(c) ((c) & 0xff) +#endif + +struct svgtiny_shape { + float *path; + unsigned int path_length; + char *text; + float text_x, text_y; + svgtiny_colour fill; + svgtiny_colour stroke; + int stroke_width; +}; + +struct svgtiny_diagram { + int width, height; + + struct svgtiny_shape *shape; + unsigned int shape_count; + + unsigned short error_line; + const char *error_message; +}; + +typedef enum { + svgtiny_OK, + svgtiny_OUT_OF_MEMORY, + svgtiny_LIBXML_ERROR, + svgtiny_NOT_SVG, + svgtiny_SVG_ERROR +} svgtiny_code; + +enum { + svgtiny_PATH_MOVE, + svgtiny_PATH_CLOSE, + svgtiny_PATH_LINE, + svgtiny_PATH_BEZIER +}; + +struct svgtiny_named_color { + const char *name; + svgtiny_colour color; +}; + + +struct svgtiny_diagram *svgtiny_create(void); +svgtiny_code svgtiny_parse(struct svgtiny_diagram *diagram, + const char *buffer, size_t size, const char *url, + int width, int height); +void svgtiny_free(struct svgtiny_diagram *svg); + +#endif |
