summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2014-10-03 12:49:03 +0200
committerSebastian Geerken <devnull@localhost>2014-10-03 12:49:03 +0200
commit4d154339cf13216d97a460cfbc6bfa7f3fac040e (patch)
tree2fc8fdeecb92574154c64420329c61664e7a70ab /src
parentfa01703ead5b5c92badfd3f381314ebcb16d5c42 (diff)
Added (not implemented) CSS attribute 'overflow'.
Diffstat (limited to 'src')
-rw-r--r--src/cssparser.cc6
-rw-r--r--src/styleengine.cc3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/cssparser.cc b/src/cssparser.cc
index a8de027a..1487a605 100644
--- a/src/cssparser.cc
+++ b/src/cssparser.cc
@@ -129,6 +129,10 @@ static const char *const Css_list_style_type_enum_vals[] = {
"katakana-iroha", "none", NULL
};
+static const char *const Css_overflow_enum_vals[] = {
+ "visible", "hidden", "scroll", "auto", NULL
+};
+
static const char *const Css_position_enum_vals[] = {
"static", "relative", "absolute", "fixed", NULL
};
@@ -250,7 +254,7 @@ const CssPropertyInfo Css_property_info[CSS_PROPERTY_LAST] = {
{"outline-color", {CSS_TYPE_UNUSED}, NULL},
{"outline-style", {CSS_TYPE_UNUSED}, NULL},
{"outline-width", {CSS_TYPE_UNUSED}, NULL},
- {"overflow", {CSS_TYPE_UNUSED}, NULL},
+ {"overflow", {CSS_TYPE_ENUM, CSS_TYPE_UNUSED}, Css_overflow_enum_vals},
{"padding-bottom", {CSS_TYPE_LENGTH, CSS_TYPE_UNUSED}, NULL},
{"padding-left", {CSS_TYPE_LENGTH, CSS_TYPE_UNUSED}, NULL},
{"padding-right", {CSS_TYPE_LENGTH, CSS_TYPE_UNUSED}, NULL},
diff --git a/src/styleengine.cc b/src/styleengine.cc
index 1c90b7b7..918e7460 100644
--- a/src/styleengine.cc
+++ b/src/styleengine.cc
@@ -653,6 +653,9 @@ void StyleEngine::apply (int i, StyleAttrs *attrs, CssPropertyList *props,
if (attrs->margin.top < 0) // \todo fix negative margins in dw/*
attrs->margin.top = 0;
break;
+ case CSS_PROPERTY_OVERFLOW:
+ attrs->overflow = (Overflow) p->value.intVal;
+ break;
case CSS_PROPERTY_PADDING_TOP:
computeValue (&attrs->padding.top, p->value.intVal, attrs->font);
break;