diff options
Diffstat (limited to 'src/select/properties')
-rw-r--r-- | src/select/properties/column_span.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/select/properties/column_span.c b/src/select/properties/column_span.c index 92048a0..2c870d3 100644 --- a/src/select/properties/column_span.c +++ b/src/select/properties/column_span.c @@ -14,23 +14,27 @@ #include "select/properties/properties.h" #include "select/properties/helpers.h" -css_error css__cascade_column_span(uint32_t opv, css_style *style, +css_error css__cascade_column_span(uint32_t opv, css_style *style, css_select_state *state) { + uint16_t value = CSS_COLUMN_SPAN_INHERIT; + UNUSED(style); if (isInherit(opv) == false) { switch (getValue(opv)) { case COLUMN_SPAN_NONE: + value = CSS_COLUMN_SPAN_NONE; + break; case COLUMN_SPAN_ALL: - /** \todo convert to public values */ + value = CSS_COLUMN_SPAN_ALL; break; } } if (css__outranks_existing(getOpcode(opv), isImportant(opv), state, isInherit(opv))) { - /** \todo set computed elevation */ + return set_column_span(state->computed, value); } return CSS_OK; @@ -39,27 +43,24 @@ css_error css__cascade_column_span(uint32_t opv, css_style *style, css_error css__set_column_span_from_hint(const css_hint *hint, css_computed_style *style) { - UNUSED(hint); - UNUSED(style); - - return CSS_OK; + return set_column_span(style, hint->status); } css_error css__initial_column_span(css_select_state *state) { - UNUSED(state); - - return CSS_OK; + return set_column_span(state->computed, CSS_COLUMN_SPAN_NONE); } css_error css__compose_column_span(const css_computed_style *parent, const css_computed_style *child, css_computed_style *result) { - UNUSED(parent); - UNUSED(child); - UNUSED(result); + uint8_t type = get_column_span(child); - return CSS_OK; + if (type == CSS_COLUMN_SPAN_INHERIT) { + type = get_column_span(parent); + } + + return set_column_span(result, type); } |