From 1ff128beafba38a36d4bce950afa8d595e8f5613 Mon Sep 17 00:00:00 2001 From: James Bursa Date: Sat, 18 May 2002 08:23:39 +0000 Subject: [project @ 2002-05-18 08:23:39 by bursa] Added css_blank_style. svn path=/import/netsurf/; revision=16 --- render/css.c | 26 ++++++++++++++++++++------ render/layout.c | 5 ++++- render/render.c | 4 ++-- 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 @@ -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 @@ -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 @@ -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);*/ -- cgit v1.2.3