diff options
author | Michael Drake <Michael Drake tlsa@netsurf-browser.org> | 2020-11-15 10:51:40 +0000 |
---|---|---|
committer | Michael Drake <Michael Drake tlsa@netsurf-browser.org> | 2020-11-15 10:51:40 +0000 |
commit | 0b84fa9cc67593667002d7e7953d90400a66ac09 (patch) | |
tree | 652feb1d55a745c5eff13a74ea5490c8c8b17a06 /src | |
parent | 1c1cf39d306428fe91260842082dfc9a66a6a236 (diff) | |
download | libcss-0b84fa9cc67593667002d7e7953d90400a66ac09.tar.gz |
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.h | 86 |
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; |