diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/css.cc | 12 | ||||
-rw-r--r-- | src/css.hh | 1 | ||||
-rw-r--r-- | src/styleengine.cc | 15 |
3 files changed, 23 insertions, 5 deletions
@@ -109,6 +109,18 @@ CssStyleSheet * CssContext::buildUserAgentStyle () { props->set (CssProperty::CSS_PROPERTY_CURSOR, v); s->addRule (new CssSelector(a_Html_tag_index("a"), NULL, NULL), props); + // <b> + props = new CssPropertyList (); + v.weight = 700; + props->set (CssProperty::CSS_PROPERTY_FONT_WEIGHT, v); + s->addRule (new CssSelector(a_Html_tag_index("b"), NULL, NULL), props); + + // <i> + props = new CssPropertyList (); + v.fontStyle = dw::core::style::FONT_STYLE_ITALIC; + props->set (CssProperty::CSS_PROPERTY_FONT_STYLE, v); + s->addRule (new CssSelector(a_Html_tag_index("i"), NULL, NULL), props); + // <h1> props = new CssPropertyList (); v.size = 40; @@ -20,6 +20,7 @@ class CssProperty { dw::core::style::WhiteSpace whiteSpace; const char *name; /* used for font family */ int size; + int weight; int x_link; int x_img; } Value; diff --git a/src/styleengine.cc b/src/styleengine.cc index 7446e073..a144bc63 100644 --- a/src/styleengine.cc +++ b/src/styleengine.cc @@ -45,7 +45,7 @@ StyleEngine::~StyleEngine () { void StyleEngine::startElement (int tag, const char *id, const char *klass, const char *style) { -// fprintf(stderr, "===> START %d %s %s %s\n", tag, id, klass, style); + fprintf(stderr, "===> START %d %s %s %s\n", tag, id, klass, style); if (stack->getRef (stack->size () - 1)->style == NULL) style0 (); @@ -65,8 +65,8 @@ void StyleEngine::setNonCssProperties (CssPropertyList *props) { } void StyleEngine::endElement (int tag) { -// fprintf(stderr, "===> END %d\n", tag); - assert (stack->size () > 0); + fprintf(stderr, "===> END %d\n", tag); + assert (stack->size () > 1); Node *n = stack->getRef (stack->size () - 1); if (n->style) @@ -95,8 +95,7 @@ void StyleEngine::apply (StyleAttrs *attrs, CssPropertyList *props) { attrs->borderStyle.bottom = p->value.borderStyle; break; case CssProperty::CSS_PROPERTY_COLOR: - attrs->color = - Color::createSimple (layout, p->value.color); + attrs->color = Color::createSimple (layout, p->value.color); break; case CssProperty::CSS_PROPERTY_CURSOR: attrs->cursor = p->value.cursor; @@ -107,6 +106,12 @@ void StyleEngine::apply (StyleAttrs *attrs, CssPropertyList *props) { case CssProperty::CSS_PROPERTY_FONT_SIZE: fontAttrs.size = p->value.size; break; + case CssProperty::CSS_PROPERTY_FONT_STYLE: + fontAttrs.style = p->value.fontStyle; + break; + case CssProperty::CSS_PROPERTY_FONT_WEIGHT: + fontAttrs.weight = p->value.weight; + break; case CssProperty::CSS_PROPERTY_TEXT_DECORATION: attrs->textDecoration |= p->value.textDecoration; break; |