]> gitweb.michael.orlitzky.com - libsvgtiny.git/blobdiff - src/svgtiny_css.c
src/svgtiny_strings.h: intern a "userdata" key string
[libsvgtiny.git] / src / svgtiny_css.c
index dc2a613ea7878a933121885b066ae59d31879582..4e42888d59c83925d8ce3fa77eb30cb277525cdd 100644 (file)
@@ -47,6 +47,7 @@ static css_error node_count_siblings(void *pw, void *node,
                bool same_name, bool after, int32_t *count);
 static css_error node_is_empty(void *pw, void *node, bool *is_empty);
 static css_error node_is_link(void *pw, void *node, bool *is_link);
+static css_error node_is_visited(void *pw, void *node, bool *is_visited);
 static css_error node_is_hover(void *pw, void *node, bool *is_hover);
 static css_error node_is_active(void *pw, void *node, bool *is_active);
 static css_error node_is_focus(void *pw, void *node, bool *is_focus);
@@ -56,6 +57,8 @@ static css_error node_is_checked(void *pw, void *node, bool *is_checked);
 static css_error node_is_target(void *pw, void *node, bool *is_target);
 static css_error node_is_lang(void *pw, void *node,
                lwc_string *lang, bool *is_lang);
+static css_error ua_default_for_property(void *pw, uint32_t property,
+       css_hint *hint);
 
 
 /**
@@ -1512,6 +1515,26 @@ css_error node_is_link(void *pw, void *node, bool *is_link)
        return CSS_OK;
 }
 
+/**
+ * Check if the given node is a link that has been visited already
+ *
+ * This check always fails because the SVG DOM does not have the
+ * necessary information (it's a UI property).
+ *
+ * \param pw           Pointer to the current SVG parser state; unused
+ * \param node         Libdom SVG node to check; unused
+ * \param is_visited   Pointer to the boolean return value
+ *
+ * \return Always returns CSS_OK
+ */
+css_error node_is_visited(void *pw, void *node, bool *is_visited)
+{
+       UNUSED(pw);
+       UNUSED(node);
+       *is_visited = false;
+       return CSS_OK;
+}
+
 
 /**
  * Check if the given node is being "hovered" over
@@ -1742,3 +1765,25 @@ static css_error node_is_lang(void *pw, void *node,
        lwc_string_destroy(attr.name);
        return CSS_OK;
 }
+
+
+/**
+ * User-agent defaults for CSS properties
+ *
+ * For the moment, we provide no defaults, because libsvgtiny does not
+ * yet support any CSS properties that might need them.
+ *
+ * \param pw            Pointer to the current SVG parser state; unused
+ * \param property      LibCSS property identifier; unused
+ * \param hint          Pointer to hint object (a return value); unused
+ *
+ * \return Always returns CSS_INVALID
+ */
+css_error ua_default_for_property(void *pw, uint32_t property,
+       css_hint *hint)
+{
+       UNUSED(pw);
+       UNUSED(property);
+       UNUSED(hint);
+       return CSS_INVALID;
+}