summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Drake <Michael Drake tlsa@netsurf-browser.org>2020-11-15 10:51:40 +0000
committerMichael Drake <Michael Drake tlsa@netsurf-browser.org>2020-11-15 10:51:40 +0000
commit0b84fa9cc67593667002d7e7953d90400a66ac09 (patch)
tree652feb1d55a745c5eff13a74ea5490c8c8b17a06 /src
parent1c1cf39d306428fe91260842082dfc9a66a6a236 (diff)
downloadlibcss-0b84fa9cc67593667002d7e7953d90400a66ac09.tar.gz
libcss-0b84fa9cc67593667002d7e7953d90400a66ac09.tar.bz2
bytecode: Change unit representation, so that length has a bit set.
This means that we can use a mask to check the unit class.
Diffstat (limited to 'src')
-rw-r--r--src/bytecode/bytecode.h86
1 files changed, 44 insertions, 42 deletions
diff --git a/src/bytecode/bytecode.h b/src/bytecode/bytecode.h
index 22703f7..7518281 100644
--- a/src/bytecode/bytecode.h
+++ b/src/bytecode/bytecode.h
@@ -23,49 +23,51 @@ enum flag {
FLAG_INHERIT = (1<<1)
};
+
typedef enum unit {
- UNIT_PX = 0,
- UNIT_EX = 1,
- UNIT_EM = 2,
- UNIT_IN = 3,
- UNIT_CM = 4,
- UNIT_MM = 5,
- UNIT_PT = 6,
- UNIT_PC = 7,
- UNIT_CAP = 8,
- UNIT_CH = 9,
- UNIT_IC = 10,
- UNIT_REM = 11,
- UNIT_LH = 12,
- UNIT_RLH = 13,
- UNIT_VH = 14,
- UNIT_VW = 15,
- UNIT_VI = 16,
- UNIT_VB = 17,
- UNIT_VMIN = 18,
- UNIT_VMAX = 19,
- UNIT_Q = 20,
-
- UNIT_PCT = (1 << 8),
-
- UNIT_ANGLE = (1 << 9),
- UNIT_DEG = (1 << 9) + 0,
- UNIT_GRAD = (1 << 9) + 1,
- UNIT_RAD = (1 << 9) + 2,
- UNIT_TURN = (1 << 9) + 3,
-
- UNIT_TIME = (1 << 10),
- UNIT_MS = (1 << 10) + 0,
- UNIT_S = (1 << 10) + 1,
-
- UNIT_FREQ = (1 << 11),
- UNIT_HZ = (1 << 11) + 0,
- UNIT_KHZ = (1 << 11) + 1,
-
- UNIT_RESOLUTION = (1 << 12),
- UNIT_DPI = (1 << 12) + 0,
- UNIT_DPCM = (1 << 12) + 1,
- UNIT_DPPX = (1 << 12) + 2,
+ UNIT_LENGTH = (1u << 8),
+ UNIT_PX = (1u << 8) + 0,
+ UNIT_EX = (1u << 8) + 1,
+ UNIT_EM = (1u << 8) + 2,
+ UNIT_IN = (1u << 8) + 3,
+ UNIT_CM = (1u << 8) + 4,
+ UNIT_MM = (1u << 8) + 5,
+ UNIT_PT = (1u << 8) + 6,
+ UNIT_PC = (1u << 8) + 7,
+ UNIT_CAP = (1u << 8) + 8,
+ UNIT_CH = (1u << 8) + 9,
+ UNIT_IC = (1u << 8) + 10,
+ UNIT_REM = (1u << 8) + 11,
+ UNIT_LH = (1u << 8) + 12,
+ UNIT_RLH = (1u << 8) + 13,
+ UNIT_VH = (1u << 8) + 14,
+ UNIT_VW = (1u << 8) + 15,
+ UNIT_VI = (1u << 8) + 16,
+ UNIT_VB = (1u << 8) + 17,
+ UNIT_VMIN = (1u << 8) + 18,
+ UNIT_VMAX = (1u << 8) + 19,
+ UNIT_Q = (1u << 8) + 20,
+
+ UNIT_PCT = (1 << 9),
+
+ UNIT_ANGLE = (1 << 10),
+ UNIT_DEG = (1 << 10) + 0,
+ UNIT_GRAD = (1 << 10) + 1,
+ UNIT_RAD = (1 << 10) + 2,
+ UNIT_TURN = (1 << 10) + 3,
+
+ UNIT_TIME = (1 << 11),
+ UNIT_MS = (1 << 11) + 0,
+ UNIT_S = (1 << 11) + 1,
+
+ UNIT_FREQ = (1 << 12),
+ UNIT_HZ = (1 << 12) + 0,
+ UNIT_KHZ = (1 << 12) + 1,
+
+ UNIT_RESOLUTION = (1 << 13),
+ UNIT_DPI = (1 << 13) + 0,
+ UNIT_DPCM = (1 << 13) + 1,
+ UNIT_DPPX = (1 << 13) + 2,
} unit;
typedef uint32_t colour;