diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2009-02-11 02:58:28 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2009-02-11 02:58:28 +0000 |
commit | 29e182959b3cc8b6ac7c2c2984addaea06bfe30a (patch) | |
tree | fb7a4788d7f2ae7de32f0a64aa61484e4187a226 /src/select/properties.c | |
parent | a9b670675d27b3d2fdc8593a7f4d389db646c6a3 (diff) | |
download | libcss-29e182959b3cc8b6ac7c2c2984addaea06bfe30a.tar.gz libcss-29e182959b3cc8b6ac7c2c2984addaea06bfe30a.tar.bz2 |
More property handlers
svn path=/trunk/libcss/; revision=6421
Diffstat (limited to 'src/select/properties.c')
-rw-r--r-- | src/select/properties.c | 130 |
1 files changed, 100 insertions, 30 deletions
diff --git a/src/select/properties.c b/src/select/properties.c index 8839142..2d0067b 100644 --- a/src/select/properties.c +++ b/src/select/properties.c @@ -576,12 +576,13 @@ static css_error initial_content(css_computed_style *style) static css_error cascade_counter_increment(uint32_t opv, css_style *style, css_select_state *state) -{ - +{ UNUSED(opv); UNUSED(style); UNUSED(state); + /** \todo counter-increment/reset */ + return CSS_OK; } @@ -592,8 +593,8 @@ static css_error initial_counter_increment(css_computed_style *style) return CSS_OK; } -static css_error cascade_counter_reset( - uint32_t opv, css_style *style, css_select_state *state) +static css_error cascade_counter_reset(uint32_t opv, css_style *style, + css_select_state *state) { UNUSED(opv); @@ -610,14 +611,15 @@ static css_error initial_counter_reset(css_computed_style *style) return CSS_OK; } -static css_error cascade_cue_after( - uint32_t opv, css_style *style, css_select_state *state) +static css_error cascade_cue_after(uint32_t opv, css_style *style, + css_select_state *state) { - UNUSED(opv); UNUSED(style); UNUSED(state); + /** \todo cue-after */ + return CSS_OK; } @@ -628,14 +630,15 @@ static css_error initial_cue_after(css_computed_style *style) return CSS_OK; } -static css_error cascade_cue_before( - uint32_t opv, css_style *style, css_select_state *state) +static css_error cascade_cue_before(uint32_t opv, css_style *style, + css_select_state *state) { - UNUSED(opv); UNUSED(style); UNUSED(state); + /** \todo cue-before */ + return CSS_OK; } @@ -646,14 +649,15 @@ static css_error initial_cue_before(css_computed_style *style) return CSS_OK; } -static css_error cascade_cursor( - uint32_t opv, css_style *style, css_select_state *state) -{ - +static css_error cascade_cursor(uint32_t opv, css_style *style, + css_select_state *state) +{ UNUSED(opv); UNUSED(style); UNUSED(state); + /** \todo cursor */ + return CSS_OK; } @@ -664,40 +668,106 @@ static css_error initial_cursor(css_computed_style *style) return CSS_OK; } -static css_error cascade_direction( - uint32_t opv, css_style *style, css_select_state *state) +static css_error cascade_direction(uint32_t opv, css_style *style, + css_select_state *state) { - - UNUSED(opv); + uint16_t value = CSS_DIRECTION_INHERIT; + UNUSED(style); - UNUSED(state); + + if (isInherit(opv) == false) { + switch (getValue(opv)) { + case DIRECTION_LTR: + value = CSS_DIRECTION_LTR; + break; + case DIRECTION_RTL: + value = CSS_DIRECTION_RTL; + break; + } + } + + if (outranks_existing(getOpcode(opv), isImportant(opv), state)) { + return set_direction(state->result, value); + } return CSS_OK; } static css_error initial_direction(css_computed_style *style) { - UNUSED(style); - - return CSS_OK; + return set_direction(style, CSS_DIRECTION_LTR); } -static css_error cascade_display( - uint32_t opv, css_style *style, css_select_state *state) +static css_error cascade_display(uint32_t opv, css_style *style, + css_select_state *state) { - - UNUSED(opv); + uint16_t value = CSS_DISPLAY_INHERIT; + UNUSED(style); - UNUSED(state); + + if (isInherit(opv) == false) { + switch (getValue(opv)) { + case DISPLAY_INLINE: + value = CSS_DISPLAY_INLINE; + break; + case DISPLAY_BLOCK: + value = CSS_DISPLAY_BLOCK; + break; + case DISPLAY_LIST_ITEM: + value = CSS_DISPLAY_LIST_ITEM; + break; + case DISPLAY_RUN_IN: + value = CSS_DISPLAY_RUN_IN; + break; + case DISPLAY_INLINE_BLOCK: + value = CSS_DISPLAY_INLINE_BLOCK; + break; + case DISPLAY_TABLE: + value = CSS_DISPLAY_TABLE; + break; + case DISPLAY_INLINE_TABLE: + value = CSS_DISPLAY_INLINE_TABLE; + break; + case DISPLAY_TABLE_ROW_GROUP: + value = CSS_DISPLAY_TABLE_ROW_GROUP; + break; + case DISPLAY_TABLE_HEADER_GROUP: + value = CSS_DISPLAY_TABLE_HEADER_GROUP; + break; + case DISPLAY_TABLE_FOOTER_GROUP: + value = CSS_DISPLAY_TABLE_FOOTER_GROUP; + break; + case DISPLAY_TABLE_ROW: + value = CSS_DISPLAY_TABLE_ROW; + break; + case DISPLAY_TABLE_COLUMN_GROUP: + value = CSS_DISPLAY_TABLE_COLUMN_GROUP; + break; + case DISPLAY_TABLE_COLUMN: + value = CSS_DISPLAY_TABLE_COLUMN; + break; + case DISPLAY_TABLE_CELL: + value = CSS_DISPLAY_TABLE_CELL; + break; + case DISPLAY_TABLE_CAPTION: + value = CSS_DISPLAY_TABLE_CAPTION; + break; + case DISPLAY_NONE: + value = DISPLAY_NONE; + break; + } + } + + if (outranks_existing(getOpcode(opv), isImportant(opv), state)) { + return set_display(state->result, value); + } return CSS_OK; } static css_error initial_display(css_computed_style *style) { - UNUSED(style); - - return CSS_OK; + return set_display(style, CSS_DISPLAY_INLINE); } static css_error cascade_elevation( |