#include <dom/dom.h>
#include <dom/bindings/xml/xmlparser.h>
+#include <libcss/libcss.h>
+
#include "svgtiny.h"
#include "svgtiny_internal.h"
const char *buffer, size_t size, const char *url,
int viewport_width, int viewport_height)
{
+ css_error css_code;
dom_document *document;
dom_exception exc;
dom_xml_parser *parser;
state.viewport_width = viewport_width;
state.viewport_height = viewport_height;
+
+ /* Initialize CSS context */
+ if (state.select_ctx == NULL) {
+ css_code = css_select_ctx_create(&state.select_ctx);
+ if (css_code != CSS_OK) {
+ dom_node_unref(svg);
+ dom_node_unref(document);
+ return svgtiny_LIBCSS_ERROR;
+ }
+ }
+
#define SVGTINY_STRING_ACTION2(s,n) \
if (dom_string_create_interned((const uint8_t *) #n, \
strlen(#n), &state.interned_##s) \
state.ctm.d = 1; /*(float) viewport_height / (float) height;*/
state.ctm.e = 0; /*x;*/
state.ctm.f = 0; /*y;*/
- /*state.style = css_base_style;
- state.style.font_size.value.length.value = option_font_size * 0.1;*/
state.fill = 0x000000;
state.stroke = svgtiny_TRANSPARENT;
state.stroke_width = 1;
dom_node_unref(svg);
dom_node_unref(document);
+ css_code = css_select_ctx_destroy(state.select_ctx);
+ if (css_code != CSS_OK) {
+ code = svgtiny_LIBCSS_ERROR;
+ }
cleanup:
svgtiny_cleanup_state_local(&state);
/* state.ctm.e = px - state.origin_x; */
/* state.ctm.f = py - state.origin_y; */
- /*struct css_style style = state.style;
- style.font_size.value.length.value *= state.ctm.a;*/
-
exc = dom_node_get_first_child(text, &child);
if (exc != DOM_NO_ERR) {
return svgtiny_LIBDOM_ERROR;
int num_length = strspn(s, "0123456789+-.");
const char *unit = s + num_length;
float n = atof((const char *) s);
- float font_size = 20; /*css_len2px(&state.style.font_size.value.length, 0);*/
+ float font_size = 20;
UNUSED(state);
for (attr = node->properties; attr; attr = attr->next) {
if (strcmp((const char *) attr->name, "font-size") == 0) {
- /*if (css_parse_length(
- (const char *) attr->children->content,
- &state->style.font_size.value.length,
- true, true)) {
- state->style.font_size.size =
- CSS_FONT_SIZE_LENGTH;
- }*/
+ /* TODO */
}
}
#endif