aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2008-10-30 19:42:46 +0100
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2008-10-30 19:42:46 +0100
commitb048b697486d97e9dd83619242f34493c69a8bb4 (patch)
treecb37e5a6ad048bfd42c3b41edb37b3f1d1330304 /src
parent4ff2c53ca3890f1f1a42c5af4d94c497e9a40d15 (diff)
add <b> and <i>
Diffstat (limited to 'src')
-rw-r--r--src/css.cc12
-rw-r--r--src/css.hh1
-rw-r--r--src/styleengine.cc15
3 files changed, 23 insertions, 5 deletions
diff --git a/src/css.cc b/src/css.cc
index b0c6d295..cbf60faa 100644
--- a/src/css.cc
+++ b/src/css.cc
@@ -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;
diff --git a/src/css.hh b/src/css.hh
index 1cd11629..9070b646 100644
--- a/src/css.hh
+++ b/src/css.hh
@@ -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;