summaryrefslogtreecommitdiff
path: root/src/select/properties
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2012-01-28 20:25:01 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2012-01-28 20:25:01 +0000
commit32ed7d0984f0dd872b4aaac0ac12c18471f291a0 (patch)
tree39181671076458c8f379507e0585d376ebc7363f /src/select/properties
parent6800a4d203fa62366720cc18993a74af92c0359c (diff)
downloadlibcss-32ed7d0984f0dd872b4aaac0ac12c18471f291a0.tar.gz
libcss-32ed7d0984f0dd872b4aaac0ac12c18471f291a0.tar.bz2
Add support for parsing CSS3 Multi-column layout properties:
+ break-after + break-before + break-inside + column-count + column-fill + column-gap + column-rule-color + column-rule-style + column_rule-width + column_span + column_width TODO: Shorthand properties (columns, column-rule) TODO: Selection svn path=/trunk/libcss/; revision=13412
Diffstat (limited to 'src/select/properties')
-rw-r--r--src/select/properties/Makefile11
-rw-r--r--src/select/properties/break_after.c72
-rw-r--r--src/select/properties/break_before.c72
-rw-r--r--src/select/properties/break_inside.c67
-rw-r--r--src/select/properties/column_count.c68
-rw-r--r--src/select/properties/column_fill.c65
-rw-r--r--src/select/properties/column_gap.c71
-rw-r--r--src/select/properties/column_rule_color.c69
-rw-r--r--src/select/properties/column_rule_style.c73
-rw-r--r--src/select/properties/column_rule_width.c73
-rw-r--r--src/select/properties/column_span.c65
-rw-r--r--src/select/properties/column_width.c71
-rw-r--r--src/select/properties/properties.h11
13 files changed, 788 insertions, 0 deletions
diff --git a/src/select/properties/Makefile b/src/select/properties/Makefile
index b26939c..f9e6580 100644
--- a/src/select/properties/Makefile
+++ b/src/select/properties/Makefile
@@ -21,10 +21,21 @@ border_top_color.c \
border_top_style.c \
border_top_width.c \
bottom.c \
+break_after.c \
+break_before.c \
+break_inside.c \
caption_side.c \
clear.c \
clip.c \
color.c \
+column_count.c \
+column_fill.c \
+column_gap.c \
+column_rule_color.c \
+column_rule_style.c \
+column_rule_width.c \
+column_span.c \
+column_width.c \
content.c \
counter_increment.c \
counter_reset.c \
diff --git a/src/select/properties/break_after.c b/src/select/properties/break_after.c
new file mode 100644
index 0000000..8a2cffc
--- /dev/null
+++ b/src/select/properties/break_after.c
@@ -0,0 +1,72 @@
+/*
+ * This file is part of LibCSS
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2012 Michael Drake <tlsa@netsurf-browser.org>
+ */
+
+#include "bytecode/bytecode.h"
+#include "bytecode/opcodes.h"
+#include "select/propset.h"
+#include "select/propget.h"
+#include "utils/utils.h"
+
+#include "select/properties/properties.h"
+#include "select/properties/helpers.h"
+
+css_error css__cascade_break_after(uint32_t opv, css_style *style,
+ css_select_state *state)
+{
+ UNUSED(style);
+
+ if (isInherit(opv) == false) {
+ switch (getValue(opv)) {
+ case BREAK_AFTER_AUTO:
+ case BREAK_AFTER_ALWAYS:
+ case BREAK_AFTER_AVOID:
+ case BREAK_AFTER_LEFT:
+ case BREAK_AFTER_RIGHT:
+ case BREAK_AFTER_PAGE:
+ case BREAK_AFTER_COLUMN:
+ case BREAK_AFTER_AVOID_PAGE:
+ case BREAK_AFTER_AVOID_COLUMN:
+ /** \todo convert to public values */
+ break;
+ }
+ }
+
+ if (css__outranks_existing(getOpcode(opv), isImportant(opv), state,
+ isInherit(opv))) {
+ /** \todo set computed elevation */
+ }
+
+ return CSS_OK;
+}
+
+css_error css__set_break_after_from_hint(const css_hint *hint,
+ css_computed_style *style)
+{
+ UNUSED(hint);
+ UNUSED(style);
+
+ return CSS_OK;
+}
+
+css_error css__initial_break_after(css_select_state *state)
+{
+ UNUSED(state);
+
+ return CSS_OK;
+}
+
+css_error css__compose_break_after(const css_computed_style *parent,
+ const css_computed_style *child,
+ css_computed_style *result)
+{
+ UNUSED(parent);
+ UNUSED(child);
+ UNUSED(result);
+
+ return CSS_OK;
+}
+
diff --git a/src/select/properties/break_before.c b/src/select/properties/break_before.c
new file mode 100644
index 0000000..73137f4
--- /dev/null
+++ b/src/select/properties/break_before.c
@@ -0,0 +1,72 @@
+/*
+ * This file is part of LibCSS
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2012 Michael Drake <tlsa@netsurf-browser.org>
+ */
+
+#include "bytecode/bytecode.h"
+#include "bytecode/opcodes.h"
+#include "select/propset.h"
+#include "select/propget.h"
+#include "utils/utils.h"
+
+#include "select/properties/properties.h"
+#include "select/properties/helpers.h"
+
+css_error css__cascade_break_before(uint32_t opv, css_style *style,
+ css_select_state *state)
+{
+ UNUSED(style);
+
+ if (isInherit(opv) == false) {
+ switch (getValue(opv)) {
+ case BREAK_BEFORE_AUTO:
+ case BREAK_BEFORE_ALWAYS:
+ case BREAK_BEFORE_AVOID:
+ case BREAK_BEFORE_LEFT:
+ case BREAK_BEFORE_RIGHT:
+ case BREAK_BEFORE_PAGE:
+ case BREAK_BEFORE_COLUMN:
+ case BREAK_BEFORE_AVOID_PAGE:
+ case BREAK_BEFORE_AVOID_COLUMN:
+ /** \todo convert to public values */
+ break;
+ }
+ }
+
+ if (css__outranks_existing(getOpcode(opv), isImportant(opv), state,
+ isInherit(opv))) {
+ /** \todo set computed elevation */
+ }
+
+ return CSS_OK;
+}
+
+css_error css__set_break_before_from_hint(const css_hint *hint,
+ css_computed_style *style)
+{
+ UNUSED(hint);
+ UNUSED(style);
+
+ return CSS_OK;
+}
+
+css_error css__initial_break_before(css_select_state *state)
+{
+ UNUSED(state);
+
+ return CSS_OK;
+}
+
+css_error css__compose_break_before(const css_computed_style *parent,
+ const css_computed_style *child,
+ css_computed_style *result)
+{
+ UNUSED(parent);
+ UNUSED(child);
+ UNUSED(result);
+
+ return CSS_OK;
+}
+
diff --git a/src/select/properties/break_inside.c b/src/select/properties/break_inside.c
new file mode 100644
index 0000000..82cf09c
--- /dev/null
+++ b/src/select/properties/break_inside.c
@@ -0,0 +1,67 @@
+/*
+ * This file is part of LibCSS
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2012 Michael Drake <tlsa@netsurf-browser.org>
+ */
+
+#include "bytecode/bytecode.h"
+#include "bytecode/opcodes.h"
+#include "select/propset.h"
+#include "select/propget.h"
+#include "utils/utils.h"
+
+#include "select/properties/properties.h"
+#include "select/properties/helpers.h"
+
+css_error css__cascade_break_inside(uint32_t opv, css_style *style,
+ css_select_state *state)
+{
+ UNUSED(style);
+
+ if (isInherit(opv) == false) {
+ switch (getValue(opv)) {
+ case BREAK_INSIDE_AUTO:
+ case BREAK_INSIDE_AVOID:
+ case BREAK_INSIDE_AVOID_PAGE:
+ case BREAK_INSIDE_AVOID_COLUMN:
+ /** \todo convert to public values */
+ break;
+ }
+ }
+
+ if (css__outranks_existing(getOpcode(opv), isImportant(opv), state,
+ isInherit(opv))) {
+ /** \todo set computed elevation */
+ }
+
+ return CSS_OK;
+}
+
+css_error css__set_break_inside_from_hint(const css_hint *hint,
+ css_computed_style *style)
+{
+ UNUSED(hint);
+ UNUSED(style);
+
+ return CSS_OK;
+}
+
+css_error css__initial_break_inside(css_select_state *state)
+{
+ UNUSED(state);
+
+ return CSS_OK;
+}
+
+css_error css__compose_break_inside(const css_computed_style *parent,
+ const css_computed_style *child,
+ css_computed_style *result)
+{
+ UNUSED(parent);
+ UNUSED(child);
+ UNUSED(result);
+
+ return CSS_OK;
+}
+
diff --git a/src/select/properties/column_count.c b/src/select/properties/column_count.c
new file mode 100644
index 0000000..5fe7465
--- /dev/null
+++ b/src/select/properties/column_count.c
@@ -0,0 +1,68 @@
+/*
+ * This file is part of LibCSS
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2012 Michael Drake <tlsa@netsurf-browser.org>
+ */
+
+#include "bytecode/bytecode.h"
+#include "bytecode/opcodes.h"
+#include "select/propset.h"
+#include "select/propget.h"
+#include "utils/utils.h"
+
+#include "select/properties/properties.h"
+#include "select/properties/helpers.h"
+
+css_error css__cascade_column_count(uint32_t opv, css_style *style,
+ css_select_state *state)
+{
+ css_fixed count = 0;
+
+ if (isInherit(opv) == false) {
+ switch (getValue(opv)) {
+ case COLUMN_COUNT_SET:
+ count = *((css_fixed *) style->bytecode);
+ advance_bytecode(style, sizeof(count));
+ break;
+ case COLUMN_COUNT_AUTO:
+ /** \todo convert to public values */
+ break;
+ }
+ }
+
+ if (css__outranks_existing(getOpcode(opv), isImportant(opv), state,
+ isInherit(opv))) {
+ /** \todo set computed elevation */
+ }
+
+ return CSS_OK;
+}
+
+css_error css__set_column_count_from_hint(const css_hint *hint,
+ css_computed_style *style)
+{
+ UNUSED(hint);
+ UNUSED(style);
+
+ return CSS_OK;
+}
+
+css_error css__initial_column_count(css_select_state *state)
+{
+ UNUSED(state);
+
+ return CSS_OK;
+}
+
+css_error css__compose_column_count(const css_computed_style *parent,
+ const css_computed_style *child,
+ css_computed_style *result)
+{
+ UNUSED(parent);
+ UNUSED(child);
+ UNUSED(result);
+
+ return CSS_OK;
+}
+
diff --git a/src/select/properties/column_fill.c b/src/select/properties/column_fill.c
new file mode 100644
index 0000000..2322c03
--- /dev/null
+++ b/src/select/properties/column_fill.c
@@ -0,0 +1,65 @@
+/*
+ * This file is part of LibCSS
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2012 Michael Drake <tlsa@netsurf-browser.org>
+ */
+
+#include "bytecode/bytecode.h"
+#include "bytecode/opcodes.h"
+#include "select/propset.h"
+#include "select/propget.h"
+#include "utils/utils.h"
+
+#include "select/properties/properties.h"
+#include "select/properties/helpers.h"
+
+css_error css__cascade_column_fill(uint32_t opv, css_style *style,
+ css_select_state *state)
+{
+ UNUSED(style);
+
+ if (isInherit(opv) == false) {
+ switch (getValue(opv)) {
+ case COLUMN_FILL_BALANCE:
+ case COLUMN_FILL_AUTO:
+ /** \todo convert to public values */
+ break;
+ }
+ }
+
+ if (css__outranks_existing(getOpcode(opv), isImportant(opv), state,
+ isInherit(opv))) {
+ /** \todo set computed elevation */
+ }
+
+ return CSS_OK;
+}
+
+css_error css__set_column_fill_from_hint(const css_hint *hint,
+ css_computed_style *style)
+{
+ UNUSED(hint);
+ UNUSED(style);
+
+ return CSS_OK;
+}
+
+css_error css__initial_column_fill(css_select_state *state)
+{
+ UNUSED(state);
+
+ return CSS_OK;
+}
+
+css_error css__compose_column_fill(const css_computed_style *parent,
+ const css_computed_style *child,
+ css_computed_style *result)
+{
+ UNUSED(parent);
+ UNUSED(child);
+ UNUSED(result);
+
+ return CSS_OK;
+}
+
diff --git a/src/select/properties/column_gap.c b/src/select/properties/column_gap.c
new file mode 100644
index 0000000..8b7a841
--- /dev/null
+++ b/src/select/properties/column_gap.c
@@ -0,0 +1,71 @@
+/*
+ * This file is part of LibCSS
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2012 Michael Drake <tlsa@netsurf-browser.org>
+ */
+
+#include "bytecode/bytecode.h"
+#include "bytecode/opcodes.h"
+#include "select/propset.h"
+#include "select/propget.h"
+#include "utils/utils.h"
+
+#include "select/properties/properties.h"
+#include "select/properties/helpers.h"
+
+css_error css__cascade_column_gap(uint32_t opv, css_style *style,
+ css_select_state *state)
+{
+ css_fixed length = 0;
+ uint32_t unit = UNIT_PX;
+
+ if (isInherit(opv) == false) {
+ switch (getValue(opv)) {
+ case COLUMN_GAP_SET:
+ length = *((css_fixed *) style->bytecode);
+ advance_bytecode(style, sizeof(length));
+ unit = *((uint32_t *) style->bytecode);
+ advance_bytecode(style, sizeof(unit));
+ break;
+ case COLUMN_GAP_NORMAL:
+ /** \todo convert to public values */
+ break;
+ }
+ }
+
+ if (css__outranks_existing(getOpcode(opv), isImportant(opv), state,
+ isInherit(opv))) {
+ /** \todo set computed elevation */
+ }
+
+ return CSS_OK;
+}
+
+css_error css__set_column_gap_from_hint(const css_hint *hint,
+ css_computed_style *style)
+{
+ UNUSED(hint);
+ UNUSED(style);
+
+ return CSS_OK;
+}
+
+css_error css__initial_column_gap(css_select_state *state)
+{
+ UNUSED(state);
+
+ return CSS_OK;
+}
+
+css_error css__compose_column_gap(const css_computed_style *parent,
+ const css_computed_style *child,
+ css_computed_style *result)
+{
+ UNUSED(parent);
+ UNUSED(child);
+ UNUSED(result);
+
+ return CSS_OK;
+}
+
diff --git a/src/select/properties/column_rule_color.c b/src/select/properties/column_rule_color.c
new file mode 100644
index 0000000..933cb60
--- /dev/null
+++ b/src/select/properties/column_rule_color.c
@@ -0,0 +1,69 @@
+/*
+ * This file is part of LibCSS
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2012 Michael Drake <tlsa@netsurf-browser.org>
+ */
+
+#include "bytecode/bytecode.h"
+#include "bytecode/opcodes.h"
+#include "select/propset.h"
+#include "select/propget.h"
+#include "utils/utils.h"
+
+#include "select/properties/properties.h"
+#include "select/properties/helpers.h"
+
+css_error css__cascade_column_rule_color(uint32_t opv, css_style *style,
+ css_select_state *state)
+{
+ css_color color = 0;
+
+ if (isInherit(opv) == false) {
+ switch (getValue(opv)) {
+ case COLUMN_RULE_COLOR_SET:
+ color = *((css_fixed *) style->bytecode);
+ advance_bytecode(style, sizeof(color));
+ break;
+ case COLUMN_RULE_COLOR_TRANSPARENT:
+ case COLUMN_RULE_COLOR_CURRENT_COLOR:
+ /** \todo convert to public values */
+ break;
+ }
+ }
+
+ if (css__outranks_existing(getOpcode(opv), isImportant(opv), state,
+ isInherit(opv))) {
+ /** \todo set computed elevation */
+ }
+
+ return CSS_OK;
+}
+
+css_error css__set_column_rule_color_from_hint(const css_hint *hint,
+ css_computed_style *style)
+{
+ UNUSED(hint);
+ UNUSED(style);
+
+ return CSS_OK;
+}
+
+css_error css__initial_column_rule_color(css_select_state *state)
+{
+ UNUSED(state);
+
+ return CSS_OK;
+}
+
+css_error css__compose_column_rule_color(const css_computed_style *parent,
+ const css_computed_style *child,
+ css_computed_style *result)
+{
+ UNUSED(parent);
+ UNUSED(child);
+ UNUSED(result);
+
+ return CSS_OK;
+}
+
diff --git a/src/select/properties/column_rule_style.c b/src/select/properties/column_rule_style.c
new file mode 100644
index 0000000..ba558a2
--- /dev/null
+++ b/src/select/properties/column_rule_style.c
@@ -0,0 +1,73 @@
+/*
+ * This file is part of LibCSS
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2012 Michael Drake <tlsa@netsurf-browser.org>
+ */
+
+#include "bytecode/bytecode.h"
+#include "bytecode/opcodes.h"
+#include "select/propset.h"
+#include "select/propget.h"
+#include "utils/utils.h"
+
+#include "select/properties/properties.h"
+#include "select/properties/helpers.h"
+
+css_error css__cascade_column_rule_style(uint32_t opv, css_style *style,
+ css_select_state *state)
+{
+ UNUSED(style);
+
+ if (isInherit(opv) == false) {
+ switch (getValue(opv)) {
+ case COLUMN_RULE_STYLE_NONE:
+ case COLUMN_RULE_STYLE_HIDDEN:
+ case COLUMN_RULE_STYLE_DOTTED:
+ case COLUMN_RULE_STYLE_DASHED:
+ case COLUMN_RULE_STYLE_SOLID:
+ case COLUMN_RULE_STYLE_DOUBLE:
+ case COLUMN_RULE_STYLE_GROOVE:
+ case COLUMN_RULE_STYLE_RIDGE:
+ case COLUMN_RULE_STYLE_INSET:
+ case COLUMN_RULE_STYLE_OUTSET:
+ /** \todo convert to public values */
+ break;
+ }
+ }
+
+ if (css__outranks_existing(getOpcode(opv), isImportant(opv), state,
+ isInherit(opv))) {
+ /** \todo set computed elevation */
+ }
+
+ return CSS_OK;
+}
+
+css_error css__set_column_rule_style_from_hint(const css_hint *hint,
+ css_computed_style *style)
+{
+ UNUSED(hint);
+ UNUSED(style);
+
+ return CSS_OK;
+}
+
+css_error css__initial_column_rule_style(css_select_state *state)
+{
+ UNUSED(state);
+
+ return CSS_OK;
+}
+
+css_error css__compose_column_rule_style(const css_computed_style *parent,
+ const css_computed_style *child,
+ css_computed_style *result)
+{
+ UNUSED(parent);
+ UNUSED(child);
+ UNUSED(result);
+
+ return CSS_OK;
+}
+
diff --git a/src/select/properties/column_rule_width.c b/src/select/properties/column_rule_width.c
new file mode 100644
index 0000000..2c0ca0d
--- /dev/null
+++ b/src/select/properties/column_rule_width.c
@@ -0,0 +1,73 @@
+/*
+ * This file is part of LibCSS
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2012 Michael Drake <tlsa@netsurf-browser.org>
+ */
+
+#include "bytecode/bytecode.h"
+#include "bytecode/opcodes.h"
+#include "select/propset.h"
+#include "select/propget.h"
+#include "utils/utils.h"
+
+#include "select/properties/properties.h"
+#include "select/properties/helpers.h"
+
+css_error css__cascade_column_rule_width(uint32_t opv, css_style *style,
+ css_select_state *state)
+{
+ css_fixed length = 0;
+ uint32_t unit = UNIT_PX;
+
+ if (isInherit(opv) == false) {
+ switch (getValue(opv)) {
+ case COLUMN_RULE_WIDTH_SET:
+ length = *((css_fixed *) style->bytecode);
+ advance_bytecode(style, sizeof(length));
+ unit = *((uint32_t *) style->bytecode);
+ advance_bytecode(style, sizeof(unit));
+ break;
+ case COLUMN_RULE_WIDTH_THIN:
+ case COLUMN_RULE_WIDTH_MEDIUM:
+ case COLUMN_RULE_WIDTH_THICK:
+ /** \todo convert to public values */
+ break;
+ }
+ }
+
+ if (css__outranks_existing(getOpcode(opv), isImportant(opv), state,
+ isInherit(opv))) {
+ /** \todo set computed elevation */
+ }
+
+ return CSS_OK;
+}
+
+css_error css__set_column_rule_width_from_hint(const css_hint *hint,
+ css_computed_style *style)
+{
+ UNUSED(hint);
+ UNUSED(style);
+
+ return CSS_OK;
+}
+
+css_error css__initial_column_rule_width(css_select_state *state)
+{
+ UNUSED(state);
+
+ return CSS_OK;
+}
+
+css_error css__compose_column_rule_width(const css_computed_style *parent,
+ const css_computed_style *child,
+ css_computed_style *result)
+{
+ UNUSED(parent);
+ UNUSED(child);
+ UNUSED(result);
+
+ return CSS_OK;
+}
+
diff --git a/src/select/properties/column_span.c b/src/select/properties/column_span.c
new file mode 100644
index 0000000..92048a0
--- /dev/null
+++ b/src/select/properties/column_span.c
@@ -0,0 +1,65 @@
+/*
+ * This file is part of LibCSS
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2012 Michael Drake <tlsa@netsurf-browser.org>
+ */
+
+#include "bytecode/bytecode.h"
+#include "bytecode/opcodes.h"
+#include "select/propset.h"
+#include "select/propget.h"
+#include "utils/utils.h"
+
+#include "select/properties/properties.h"
+#include "select/properties/helpers.h"
+
+css_error css__cascade_column_span(uint32_t opv, css_style *style,
+ css_select_state *state)
+{
+ UNUSED(style);
+
+ if (isInherit(opv) == false) {
+ switch (getValue(opv)) {
+ case COLUMN_SPAN_NONE:
+ case COLUMN_SPAN_ALL:
+ /** \todo convert to public values */
+ break;
+ }
+ }
+
+ if (css__outranks_existing(getOpcode(opv), isImportant(opv), state,
+ isInherit(opv))) {
+ /** \todo set computed elevation */
+ }
+
+ return CSS_OK;
+}
+
+css_error css__set_column_span_from_hint(const css_hint *hint,
+ css_computed_style *style)
+{
+ UNUSED(hint);
+ UNUSED(style);
+
+ return CSS_OK;
+}
+
+css_error css__initial_column_span(css_select_state *state)
+{
+ UNUSED(state);
+
+ return CSS_OK;
+}
+
+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);
+
+ return CSS_OK;
+}
+
diff --git a/src/select/properties/column_width.c b/src/select/properties/column_width.c
new file mode 100644
index 0000000..fd053d9
--- /dev/null
+++ b/src/select/properties/column_width.c
@@ -0,0 +1,71 @@
+/*
+ * This file is part of LibCSS
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2012 Michael Drake <tlsa@netsurf-browser.org>
+ */
+
+#include "bytecode/bytecode.h"
+#include "bytecode/opcodes.h"
+#include "select/propset.h"
+#include "select/propget.h"
+#include "utils/utils.h"
+
+#include "select/properties/properties.h"
+#include "select/properties/helpers.h"
+
+css_error css__cascade_column_width(uint32_t opv, css_style *style,
+ css_select_state *state)
+{
+ css_fixed length = 0;
+ uint32_t unit = UNIT_PX;
+
+ if (isInherit(opv) == false) {
+ switch (getValue(opv)) {
+ case COLUMN_WIDTH_SET:
+ length = *((css_fixed *) style->bytecode);
+ advance_bytecode(style, sizeof(length));
+ unit = *((uint32_t *) style->bytecode);
+ advance_bytecode(style, sizeof(unit));
+ break;
+ case COLUMN_WIDTH_AUTO:
+ /** \todo convert to public values */
+ break;
+ }
+ }
+
+ if (css__outranks_existing(getOpcode(opv), isImportant(opv), state,
+ isInherit(opv))) {
+ /** \todo set computed elevation */
+ }
+
+ return CSS_OK;
+}
+
+css_error css__set_column_width_from_hint(const css_hint *hint,
+ css_computed_style *style)
+{
+ UNUSED(hint);
+ UNUSED(style);
+
+ return CSS_OK;
+}
+
+css_error css__initial_column_width(css_select_state *state)
+{
+ UNUSED(state);
+
+ return CSS_OK;
+}
+
+css_error css__compose_column_width(const css_computed_style *parent,
+ const css_computed_style *child,
+ css_computed_style *result)
+{
+ UNUSED(parent);
+ UNUSED(child);
+ UNUSED(result);
+
+ return CSS_OK;
+}
+
diff --git a/src/select/properties/properties.h b/src/select/properties/properties.h
index 2f3fca4..d0bb648 100644
--- a/src/select/properties/properties.h
+++ b/src/select/properties/properties.h
@@ -42,10 +42,21 @@ PROPERTY_FUNCS(border_right_width);
PROPERTY_FUNCS(border_bottom_width);
PROPERTY_FUNCS(border_left_width);
PROPERTY_FUNCS(bottom);
+PROPERTY_FUNCS(break_after);
+PROPERTY_FUNCS(break_before);
+PROPERTY_FUNCS(break_inside);
PROPERTY_FUNCS(caption_side);
PROPERTY_FUNCS(clear);
PROPERTY_FUNCS(clip);
PROPERTY_FUNCS(color);
+PROPERTY_FUNCS(column_count);
+PROPERTY_FUNCS(column_fill);
+PROPERTY_FUNCS(column_gap);
+PROPERTY_FUNCS(column_rule_color);
+PROPERTY_FUNCS(column_rule_style);
+PROPERTY_FUNCS(column_rule_width);
+PROPERTY_FUNCS(column_span);
+PROPERTY_FUNCS(column_width);
PROPERTY_FUNCS(content);
PROPERTY_FUNCS(counter_increment);
PROPERTY_FUNCS(counter_reset);