summaryrefslogtreecommitdiff
path: root/css/ruleset.c
diff options
context:
space:
mode:
Diffstat (limited to 'css/ruleset.c')
-rw-r--r--css/ruleset.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/css/ruleset.c b/css/ruleset.c
index 7ae15bd02..381e1fea3 100644
--- a/css/ruleset.c
+++ b/css/ruleset.c
@@ -70,6 +70,7 @@ static void parse_border_width_side(struct css_style * const s,
const struct css_node * const v, unsigned int i);
static void parse_clear(struct css_style * const s, const struct css_node * const v);
static void parse_color(struct css_style * const s, const struct css_node * const v);
+static void parse_cursor(struct css_style * const s, const struct css_node * v);
static void parse_display(struct css_style * const s, const struct css_node * const v);
static void parse_float(struct css_style * const s, const struct css_node * const v);
static void parse_font(struct css_style * const s, const struct css_node * v);
@@ -130,6 +131,7 @@ static const struct property_entry property_table[] = {
{ "border-width", parse_border_width },
{ "clear", parse_clear },
{ "color", parse_color },
+ { "cursor", parse_cursor },
{ "display", parse_display },
{ "float", parse_float },
{ "font", parse_font },
@@ -735,6 +737,24 @@ void parse_color(struct css_style * const s, const struct css_node * const v)
s->color = c;
}
+void parse_cursor(struct css_style * const s, const struct css_node * v)
+{
+ css_cursor z;
+ for (; v; v = v->next) {
+ switch (v->type) {
+ case CSS_NODE_IDENT:
+ z = css_cursor_parse(v->data);
+ if (z != CSS_CURSOR_UNKNOWN) {
+ s->cursor = z;
+ return;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+}
+
void parse_display(struct css_style * const s, const struct css_node * const v)
{
css_display z;