summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
Diffstat (limited to 'render')
-rw-r--r--render/css.c26
-rw-r--r--render/layout.c5
-rw-r--r--render/render.c4
3 files changed, 26 insertions, 9 deletions
diff --git a/render/css.c b/render/css.c
index 256dc4168..beb3afa1a 100644
--- a/render/css.c
+++ b/render/css.c
@@ -1,5 +1,5 @@
/**
- * $Id: css.c,v 1.2 2002/05/04 21:17:06 bursa Exp $
+ * $Id: css.c,v 1.3 2002/05/18 08:23:39 bursa Exp $
*/
#include <string.h>
@@ -66,6 +66,15 @@ const struct css_style css_empty_style = {
{ CSS_WIDTH_AUTO }
};
+const struct css_style css_blank_style = {
+ CSS_DISPLAY_BLOCK,
+ CSS_FLOAT_NONE,
+ { CSS_FONT_SIZE_INHERIT },
+ { CSS_HEIGHT_AUTO },
+ { CSS_WIDTH_AUTO }
+};
+
+
/**
* property parsers
@@ -311,12 +320,17 @@ void css_get_style(struct css_stylesheet * stylesheet, struct css_selector * sel
}
}
- qsort(decl, decls, sizeof(struct decl), (int (*) (const void *, const void *)) cmpdecl);
+ if (decls == 0) {
+ css_cascade(style, &css_blank_style);
- for (d = 0; d < decls; d++) {
-/* printf("%i: 0x%lx\n", d, decl[d].score); */
-/* css_dump_rule(decl[d].rule); */
- css_cascade(style, decl[d].rule->style);
+ } else {
+ qsort(decl, decls, sizeof(struct decl), (int (*) (const void *, const void *)) cmpdecl);
+
+ for (d = 0; d < decls; d++) {
+/* printf("%i: 0x%lx\n", d, decl[d].score); */
+/* css_dump_rule(decl[d].rule); */
+ css_cascade(style, decl[d].rule->style);
+ }
}
}
diff --git a/render/layout.c b/render/layout.c
index 8e386736f..d02c44926 100644
--- a/render/layout.c
+++ b/render/layout.c
@@ -1,5 +1,5 @@
/**
- * $Id: layout.c,v 1.2 2002/05/11 15:22:24 bursa Exp $
+ * $Id: layout.c,v 1.3 2002/05/18 08:23:39 bursa Exp $
*/
#include <assert.h>
@@ -98,6 +98,9 @@ unsigned long layout_block_children(struct box * box, unsigned long width)
y += c->height;
break;
default:
+ printf("%s -> %s\n",
+ box->node ? box->node->name : "()",
+ c->node ? c->node->name : "()");
die("block child not block, table, or inline container");
}
}
diff --git a/render/render.c b/render/render.c
index 2e3eb9c12..e77a8c65f 100644
--- a/render/render.c
+++ b/render/render.c
@@ -1,5 +1,5 @@
/**
- * $Id: render.c,v 1.9 2002/05/11 15:22:24 bursa Exp $
+ * $Id: render.c,v 1.10 2002/05/18 08:23:39 bursa Exp $
*/
#include <assert.h>
@@ -147,7 +147,7 @@ int main(int argc, char *argv[])
doc_box->node = c;
xml_to_box(c, style, stylesheet, &selector, 0, doc_box, 0);
html_box = doc_box->children;
-/* box_dump(html_box, 0);*/
+ /*box_dump(html_box, 0);*/
layout_block(html_box, 600);
/* box_dump(html_box, 0);*/