summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2022-11-26 12:14:40 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2022-11-27 16:29:07 +0000
commit6a361f59639e23e50f0dbd18d6c28ca330e288cb (patch)
treeda0b99695bcf188859ced4db096954589c8a2da8
parent870585f3cd0320e5813a39bec5827cf76f4102b5 (diff)
downloadlibcss-6a361f59639e23e50f0dbd18d6c28ca330e288cb.tar.gz
libcss-6a361f59639e23e50f0dbd18d6c28ca330e288cb.tar.bz2
bytecode: Use define for calc value identifier
-rw-r--r--src/bytecode/bytecode.h5
-rw-r--r--src/bytecode/opcodes.h70
2 files changed, 39 insertions, 36 deletions
diff --git a/src/bytecode/bytecode.h b/src/bytecode/bytecode.h
index e845170..d799194 100644
--- a/src/bytecode/bytecode.h
+++ b/src/bytecode/bytecode.h
@@ -14,6 +14,8 @@
#include <libcss/types.h>
#include <libcss/properties.h>
+#include "bytecode/opcodes.h"
+
typedef uint32_t css_code_t;
typedef enum css_properties_e opcode_t;
@@ -139,8 +141,7 @@ static inline bool isInherit(css_code_t OPV)
static inline bool isCalc(css_code_t OPV)
{
- /* Note, this relies on all _CALC values being the same ultimately */
- return getValue(OPV) == 0x7f;
+ return getValue(OPV) == VALUE_IS_CALC;
}
#endif
diff --git a/src/bytecode/opcodes.h b/src/bytecode/opcodes.h
index 0ff67bb..da420e1 100644
--- a/src/bytecode/opcodes.h
+++ b/src/bytecode/opcodes.h
@@ -10,6 +10,8 @@
#include <inttypes.h>
+#define VALUE_IS_CALC 0x007f
+
enum op_align_content {
ALIGN_CONTENT_STRETCH = 0x0000,
ALIGN_CONTENT_FLEX_START = 0x0001,
@@ -119,7 +121,7 @@ enum op_border_style {
};
enum op_border_width {
- BORDER_WIDTH_CALC = 0x007f,
+ BORDER_WIDTH_CALC = VALUE_IS_CALC,
BORDER_WIDTH_SET = 0x0080,
BORDER_WIDTH_THIN = 0x0000,
BORDER_WIDTH_MEDIUM = 0x0001,
@@ -127,7 +129,7 @@ enum op_border_width {
};
enum op_bottom {
- BOTTOM_CALC = 0x007f,
+ BOTTOM_CALC = VALUE_IS_CALC,
BOTTOM_SET = 0x0080,
BOTTOM_AUTO = 0x0000
};
@@ -200,7 +202,7 @@ enum op_color {
enum op_column_count {
COLUMN_COUNT_AUTO = 0x0000,
- COLUMN_COUNT_CALC = 0x007f,
+ COLUMN_COUNT_CALC = VALUE_IS_CALC,
COLUMN_COUNT_SET = 0x0080
};
@@ -211,7 +213,7 @@ enum op_column_fill {
enum op_column_gap {
COLUMN_GAP_NORMAL = 0x0000,
- COLUMN_GAP_CALC = 0x007f,
+ COLUMN_GAP_CALC = VALUE_IS_CALC,
COLUMN_GAP_SET = 0x0080
};
@@ -249,7 +251,7 @@ enum op_column_span {
enum op_column_width {
COLUMN_WIDTH_AUTO = 0x0000,
- COLUMN_WIDTH_CALC = 0x007f,
+ COLUMN_WIDTH_CALC = VALUE_IS_CALC,
COLUMN_WIDTH_SET = 0x0080
};
@@ -360,7 +362,7 @@ enum op_empty_cells {
enum op_flex_basis {
FLEX_BASIS_AUTO = 0x0000,
FLEX_BASIS_CONTENT = 0x0001,
- FLEX_BASIS_CALC = 0x007f,
+ FLEX_BASIS_CALC = VALUE_IS_CALC,
FLEX_BASIS_SET = 0x0080
};
@@ -372,12 +374,12 @@ enum op_flex_direction {
};
enum op_flex_grow {
- FLEX_GROW_CALC = 0x007f,
+ FLEX_GROW_CALC = VALUE_IS_CALC,
FLEX_GROW_SET = 0x0080
};
enum op_flex_shrink {
- FLEX_SHRINK_CALC = 0x007f,
+ FLEX_SHRINK_CALC = VALUE_IS_CALC,
FLEX_SHRINK_SET = 0x0080
};
@@ -407,7 +409,7 @@ enum op_font_family {
};
enum op_font_size {
- FONT_SIZE_CALC = 0x007f,
+ FONT_SIZE_CALC = VALUE_IS_CALC,
FONT_SIZE_DIMENSION = 0x0080,
FONT_SIZE_XX_SMALL = 0x0000,
@@ -449,7 +451,7 @@ enum op_font_weight {
};
enum op_height {
- HEIGHT_CALC = 0x007f,
+ HEIGHT_CALC = VALUE_IS_CALC,
HEIGHT_SET = 0x0080,
HEIGHT_AUTO = 0x0000
};
@@ -470,13 +472,13 @@ enum op_left {
};
enum op_letter_spacing {
- LETTER_SPACING_CALC = 0x007f,
+ LETTER_SPACING_CALC = VALUE_IS_CALC,
LETTER_SPACING_SET = 0x0080,
LETTER_SPACING_NORMAL = 0x0000
};
enum op_line_height {
- LINE_HEIGHT_CALC = 0x007f,
+ LINE_HEIGHT_CALC = VALUE_IS_CALC,
LINE_HEIGHT_NUMBER = 0x0080,
LINE_HEIGHT_DIMENSION = 0x0081,
LINE_HEIGHT_NORMAL = 0x0000
@@ -548,31 +550,31 @@ enum op_list_style_type {
};
enum op_margin {
- MARGIN_CALC = 0x007f,
+ MARGIN_CALC = VALUE_IS_CALC,
MARGIN_SET = 0x0080,
MARGIN_AUTO = 0x0000
};
enum op_max_height {
- MAX_HEIGHT_CALC = 0x007f,
+ MAX_HEIGHT_CALC = VALUE_IS_CALC,
MAX_HEIGHT_SET = 0x0080,
MAX_HEIGHT_NONE = 0x0000
};
enum op_max_width {
- MAX_WIDTH_CALC = 0x007f,
+ MAX_WIDTH_CALC = VALUE_IS_CALC,
MAX_WIDTH_SET = 0x0080,
MAX_WIDTH_NONE = 0x0000
};
enum op_min_height {
- MIN_HEIGHT_CALC = 0x007f,
+ MIN_HEIGHT_CALC = VALUE_IS_CALC,
MIN_HEIGHT_SET = 0x0080,
MIN_HEIGHT_AUTO = 0x0000
};
enum op_min_width {
- MIN_WIDTH_CALC = 0x007f,
+ MIN_WIDTH_CALC = VALUE_IS_CALC,
MIN_WIDTH_SET = 0x0080,
MIN_WIDTH_AUTO = 0x0000
};
@@ -582,12 +584,12 @@ enum op_opacity {
};
enum op_order {
- ORDER_CALC = 0x007f,
+ ORDER_CALC = VALUE_IS_CALC,
ORDER_SET = 0x0080
};
enum op_orphans {
- ORPHANS_CALC = 0x007f,
+ ORPHANS_CALC = VALUE_IS_CALC,
ORPHANS_SET = 0x0080
};
@@ -626,7 +628,7 @@ enum op_overflow {
};
enum op_padding {
- PADDING_CALC = 0x007f,
+ PADDING_CALC = VALUE_IS_CALC,
PADDING_SET = 0x0080
};
@@ -652,22 +654,22 @@ enum op_page_break_inside {
};
enum op_pause_after {
- PAUSE_AFTER_CALC = 0x007f,
+ PAUSE_AFTER_CALC = VALUE_IS_CALC,
PAUSE_AFTER_SET = 0x0080
};
enum op_pause_before {
- PAUSE_BEFORE_CALC = 0x007f,
+ PAUSE_BEFORE_CALC = VALUE_IS_CALC,
PAUSE_BEFORE_SET = 0x0080
};
enum op_pitch_range {
- PITCH_RANGE_CALC = 0x007f,
+ PITCH_RANGE_CALC = VALUE_IS_CALC,
PITCH_RANGE_SET = 0x0080
};
enum op_pitch {
- PITCH_CALC = 0x007f,
+ PITCH_CALC = VALUE_IS_CALC,
PITCH_FREQUENCY = 0x0080,
PITCH_X_LOW = 0x0000,
@@ -702,7 +704,7 @@ enum op_quotes {
};
enum op_richness {
- RICHNESS_CALC = 0x007f,
+ RICHNESS_CALC = VALUE_IS_CALC,
RICHNESS_SET = 0x0080
};
@@ -733,7 +735,7 @@ enum op_speak {
};
enum op_speech_rate {
- SPEECH_RATE_CALC = 0x007f,
+ SPEECH_RATE_CALC = VALUE_IS_CALC,
SPEECH_RATE_SET = 0x0080,
SPEECH_RATE_X_SLOW = 0x0000,
@@ -746,7 +748,7 @@ enum op_speech_rate {
};
enum op_stress {
- STRESS_CALC = 0x007f,
+ STRESS_CALC = VALUE_IS_CALC,
STRESS_SET = 0x0080
};
@@ -775,7 +777,7 @@ enum op_text_decoration {
};
enum op_text_indent {
- TEXT_INDENT_CALC = 0x007f,
+ TEXT_INDENT_CALC = VALUE_IS_CALC,
TEXT_INDENT_SET = 0x0080
};
@@ -799,7 +801,7 @@ enum op_unicode_bidi {
};
enum op_vertical_align {
- VERTICAL_ALIGN_CALC = 0x007f,
+ VERTICAL_ALIGN_CALC = VALUE_IS_CALC,
VERTICAL_ALIGN_SET = 0x0080,
VERTICAL_ALIGN_BASELINE = 0x0000,
@@ -830,7 +832,7 @@ enum op_voice_family {
};
enum op_volume {
- VOLUME_CALC = 0x007f,
+ VOLUME_CALC = VALUE_IS_CALC,
VOLUME_NUMBER = 0x0080,
VOLUME_DIMENSION = 0x0081,
@@ -851,19 +853,19 @@ enum op_white_space {
};
enum op_widows {
- WIDOWS_CALC = 0x007f,
+ WIDOWS_CALC = VALUE_IS_CALC,
WIDOWS_SET = 0x0080
};
enum op_width {
- WIDTH_CALC = 0x007f,
+ WIDTH_CALC = VALUE_IS_CALC,
WIDTH_SET = 0x0080,
WIDTH_AUTO = 0x0000
};
enum op_word_spacing {
- WORD_SPACING_CALC = 0x007f,
+ WORD_SPACING_CALC = VALUE_IS_CALC,
WORD_SPACING_SET = 0x0080,
WORD_SPACING_NORMAL = 0x0000
@@ -876,7 +878,7 @@ enum op_writing_mode {
};
enum op_z_index {
- Z_INDEX_CALC = 0x007f,
+ Z_INDEX_CALC = VALUE_IS_CALC,
Z_INDEX_SET = 0x0080,
Z_INDEX_AUTO = 0x0000