/*
* Hic Est Leo -- MapCSS Stylesheets
*
- * (c) 2014 Martin Mares <mj@ucw.cz>
+ * (c) 2014--2015 Martin Mares <mj@ucw.cz>
*/
-#include <ucw/lib.h>
-#include <ucw/mempool.h>
-
-#include <stdio.h>
-
#include "leo.h"
#include "style.h"
#include "css.h"
+#include "expr.h"
+
+#include <ucw/mempool.h>
+
+#include <stdio.h>
void css_dump(struct css_sheet *ss)
{
void css_dump_action(struct css_action *a)
{
printf("\tAction: ");
- style_dump_prop(&a->prop);
+ switch (a->type)
+ {
+ case CSS_ACTION_SET:
+ style_dump_prop(&a->prop);
+ break;
+ case CSS_ACTION_EXPR:
+ printf("<expr>\n");
+ default:
+ ASSERT(0);
+ }
}
static bool css_match_condition(struct css_condition *c, struct osm_object *o)
static void css_apply_action(struct css_action *sa, struct style_results *r, layer_t layer)
{
- style_set_by_layer(r, layer, &sa->prop);
+ switch (sa->type)
+ {
+ case CSS_ACTION_SET:
+ style_set_by_layer(r, layer, &sa->prop);
+ break;
+ case CSS_ACTION_EXPR:
+ expr_execute(sa, r, layer);
+ break;
+ default:
+ ASSERT(0);
+ }
}
void css_apply(struct css_sheet *ss, struct style_results *r)