aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cssparser.cc27
-rw-r--r--src/dillo.cc24
-rw-r--r--src/html.cc2
-rw-r--r--src/styleengine.cc6
4 files changed, 37 insertions, 22 deletions
diff --git a/src/cssparser.cc b/src/cssparser.cc
index 1487a605..f4291797 100644
--- a/src/cssparser.cc
+++ b/src/cssparser.cc
@@ -198,7 +198,7 @@ const CssPropertyInfo Css_property_info[CSS_PROPERTY_LAST] = {
Css_border_style_enum_vals},
{"border-top-width", {CSS_TYPE_ENUM, CSS_TYPE_LENGTH, CSS_TYPE_UNUSED},
Css_border_width_enum_vals},
- {"bottom", {CSS_TYPE_LENGTH_PERCENTAGE, CSS_TYPE_UNUSED}, NULL},
+ {"bottom", {CSS_TYPE_SIGNED_LENGTH, CSS_TYPE_UNUSED}, NULL},
{"caption-side", {CSS_TYPE_UNUSED}, NULL},
{"clear", {CSS_TYPE_ENUM, CSS_TYPE_UNUSED}, Css_clear_enum_vals},
{"clip", {CSS_TYPE_UNUSED}, NULL},
@@ -222,7 +222,7 @@ const CssPropertyInfo Css_property_info[CSS_PROPERTY_LAST] = {
{"font-weight", {CSS_TYPE_ENUM, CSS_TYPE_FONT_WEIGHT, CSS_TYPE_UNUSED},
Css_font_weight_enum_vals},
{"height", {CSS_TYPE_LENGTH_PERCENTAGE, CSS_TYPE_AUTO, CSS_TYPE_UNUSED}, NULL},
- {"left", {CSS_TYPE_UNUSED}, NULL},
+ {"left", {CSS_TYPE_SIGNED_LENGTH, CSS_TYPE_UNUSED}, NULL},
{"letter-spacing", {CSS_TYPE_ENUM, CSS_TYPE_SIGNED_LENGTH, CSS_TYPE_UNUSED},
Css_letter_spacing_enum_vals},
{"line-height",
@@ -261,7 +261,7 @@ const CssPropertyInfo Css_property_info[CSS_PROPERTY_LAST] = {
{"padding-top", {CSS_TYPE_LENGTH, CSS_TYPE_UNUSED}, NULL},
{"position", {CSS_TYPE_ENUM, CSS_TYPE_UNUSED}, Css_position_enum_vals},
{"quotes", {CSS_TYPE_UNUSED}, NULL},
- {"right", {CSS_TYPE_LENGTH_PERCENTAGE, CSS_TYPE_UNUSED}, NULL},
+ {"right", {CSS_TYPE_SIGNED_LENGTH, CSS_TYPE_UNUSED}, NULL},
{"text-align", {CSS_TYPE_ENUM, CSS_TYPE_UNUSED}, Css_text_align_enum_vals},
{"text-decoration", {CSS_TYPE_MULTI_ENUM, CSS_TYPE_UNUSED},
Css_text_decoration_enum_vals},
@@ -269,7 +269,7 @@ const CssPropertyInfo Css_property_info[CSS_PROPERTY_LAST] = {
{"text-shadow", {CSS_TYPE_UNUSED}, NULL},
{"text-transform", {CSS_TYPE_ENUM, CSS_TYPE_UNUSED},
Css_text_transform_enum_vals},
- {"top", {CSS_TYPE_LENGTH_PERCENTAGE, CSS_TYPE_UNUSED}, NULL},
+ {"top", {CSS_TYPE_SIGNED_LENGTH, CSS_TYPE_UNUSED}, NULL},
{"unicode-bidi", {CSS_TYPE_UNUSED}, NULL},
{"vertical-align",{CSS_TYPE_ENUM, CSS_TYPE_UNUSED},Css_vertical_align_vals},
{"visibility", {CSS_TYPE_UNUSED}, NULL},
@@ -277,7 +277,7 @@ const CssPropertyInfo Css_property_info[CSS_PROPERTY_LAST] = {
{"width", {CSS_TYPE_LENGTH_PERCENTAGE, CSS_TYPE_AUTO, CSS_TYPE_UNUSED}, NULL},
{"word-spacing", {CSS_TYPE_ENUM, CSS_TYPE_SIGNED_LENGTH, CSS_TYPE_UNUSED},
Css_word_spacing_enum_vals},
- {"z-index", {CSS_TYPE_UNUSED}, NULL},
+ {"z-index", {CSS_TYPE_INTEGER, CSS_TYPE_AUTO, CSS_TYPE_UNUSED}, NULL},
/* These are extensions, for internal used, and never parsed. */
{"x-link", {CSS_TYPE_INTEGER, CSS_TYPE_UNUSED}, NULL},
@@ -793,9 +793,12 @@ bool CssParser::tokenMatchesProperty(CssPropertyName prop, CssValueType *type)
return true;
break;
- case CSS_TYPE_UNUSED:
case CSS_TYPE_INTEGER:
- /* Not used for parser values. */
+ if (ttype == CSS_TK_DECINT)
+ return true;
+ break;
+
+ case CSS_TYPE_UNUSED:
default:
assert(false);
break;
@@ -1174,12 +1177,18 @@ bool CssParser::parseValue(CssPropertyName prop,
}
break;
+ case CSS_TYPE_INTEGER:
+ if (ttype == CSS_TK_DECINT) {
+ val->intVal = strtol(tval, NULL, 10);
+ ret = true;
+ nextToken();
+ }
+ break;
+
case CSS_TYPE_UNUSED:
/* nothing */
break;
- case CSS_TYPE_INTEGER:
- /* Not used for parser values. */
default:
assert(false); /* not reached */
}
diff --git a/src/dillo.cc b/src/dillo.cc
index 0a68cb59..0e49e7b5 100644
--- a/src/dillo.cc
+++ b/src/dillo.cc
@@ -379,18 +379,18 @@ static DilloUrl *makeStartUrl(char *str, bool local)
*/
int main(int argc, char **argv)
{
- DBG_OBJ_COLOR ("dw::*", "#c0ff80");
- DBG_OBJ_COLOR ("dw::fltk::*", "#c0c0ff");
- DBG_OBJ_COLOR ("dw::core::*", "#ffa0a0");
- DBG_OBJ_COLOR ("dw::core::style::*", "#ffe0a0");
-
- DBG_OBJ_COLOR ("dw::Image", "#80ffa0");
- DBG_OBJ_COLOR ("dw::Textblock", "#f0ff80");
- DBG_OBJ_COLOR ("dw::OutOfFlowMgr", "#d0ff80");
- DBG_OBJ_COLOR ("dw::AlignedTextblock", "#e0ff80");
- DBG_OBJ_COLOR ("dw::ListItem", "#b0ff80");
- DBG_OBJ_COLOR ("dw::TableCell", "#80ff80");
- DBG_OBJ_COLOR ("dw::Table", "#80ffc0");
+ DBG_OBJ_CLASS_COLOR ("dw::*", "#c0ff80");
+ DBG_OBJ_CLASS_COLOR ("dw::fltk::*", "#c0c0ff");
+ DBG_OBJ_CLASS_COLOR ("dw::core::*", "#ffa0a0");
+ DBG_OBJ_CLASS_COLOR ("dw::core::style::*", "#ffe0a0");
+
+ DBG_OBJ_CLASS_COLOR ("dw::Image", "#80ffa0");
+ DBG_OBJ_CLASS_COLOR ("dw::Textblock", "#f0ff80");
+ DBG_OBJ_CLASS_COLOR ("dw::OutOfFlowMgr", "#d0ff80");
+ DBG_OBJ_CLASS_COLOR ("dw::AlignedTextblock", "#e0ff80");
+ DBG_OBJ_CLASS_COLOR ("dw::ListItem", "#b0ff80");
+ DBG_OBJ_CLASS_COLOR ("dw::TableCell", "#80ff80");
+ DBG_OBJ_CLASS_COLOR ("dw::Table", "#80ffc0");
uint_t opt_id;
uint_t options_got = 0;
diff --git a/src/html.cc b/src/html.cc
index a1452858..be4d3526 100644
--- a/src/html.cc
+++ b/src/html.cc
@@ -376,7 +376,7 @@ static void Html_add_textblock(DilloHtml *html, bool addBreaks, int breakSpace)
static bool Html_will_textblock_be_out_of_flow(DilloHtml *html)
{
- return HT2TB(html)->isStyleOutOfFlow (html->style ());
+ return HT2TB(html)->testStyleOutOfFlow (html->style ());
}
/*
diff --git a/src/styleengine.cc b/src/styleengine.cc
index 98b02b69..4192a9ef 100644
--- a/src/styleengine.cc
+++ b/src/styleengine.cc
@@ -728,6 +728,12 @@ void StyleEngine::apply (int i, StyleAttrs *attrs, CssPropertyList *props,
case CSS_PROPERTY_MAX_HEIGHT:
computeLength (&attrs->maxHeight, p->value.intVal, attrs->font);
break;
+ case CSS_PROPERTY_Z_INDEX:
+ if (p->type == CSS_LENGTH_TYPE_AUTO)
+ attrs->zIndex = dw::core::style::Z_INDEX_AUTO;
+ else
+ attrs->zIndex = p->value.intVal;
+ break;
case PROPERTY_X_LINK:
attrs->x_link = p->value.intVal;
break;