OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkOTTable_maxp_TT_DEFINED | 8 #ifndef SkOTTable_maxp_TT_DEFINED |
9 #define SkOTTable_maxp_TT_DEFINED | 9 #define SkOTTable_maxp_TT_DEFINED |
10 | 10 |
11 #include "SkEndian.h" | 11 #include "SkEndian.h" |
12 #include "SkOTTableTypes.h" | 12 #include "SkOTTableTypes.h" |
13 #include "SkTypedEnum.h" | |
14 | 13 |
15 #pragma pack(push, 1) | 14 #pragma pack(push, 1) |
16 | 15 |
17 struct SkOTTableMaximumProfile_TT { | 16 struct SkOTTableMaximumProfile_TT { |
18 SK_OT_Fixed version; | 17 SK_OT_Fixed version; |
19 static const SK_OT_Fixed VERSION = SkTEndian_SwapBE32(0x00010000); | 18 static const SK_OT_Fixed VERSION = SkTEndian_SwapBE32(0x00010000); |
20 | 19 |
21 SK_OT_USHORT numGlyphs; | 20 SK_OT_USHORT numGlyphs; |
22 SK_OT_USHORT maxPoints; | 21 SK_OT_USHORT maxPoints; |
23 SK_OT_USHORT maxContours; | 22 SK_OT_USHORT maxContours; |
24 SK_OT_USHORT maxCompositePoints; | 23 SK_OT_USHORT maxCompositePoints; |
25 SK_OT_USHORT maxCompositeContours; | 24 SK_OT_USHORT maxCompositeContours; |
26 struct MaxZones { | 25 struct MaxZones { |
27 SK_TYPED_ENUM(Value, SK_OT_USHORT, | 26 enum Value : SK_OT_USHORT { |
28 ((DoesNotUseTwilightZone, SkTEndian_SwapBE16(1))) | 27 DoesNotUseTwilightZone = SkTEndian_SwapBE16(1), |
29 ((UsesTwilightZone, SkTEndian_SwapBE16(2))) | 28 UsesTwilightZone = SkTEndian_SwapBE16(2), |
30 SK_SEQ_END, | 29 } value; |
31 (value)SK_SEQ_END) | |
32 } maxZones; | 30 } maxZones; |
33 SK_OT_USHORT maxTwilightPoints; | 31 SK_OT_USHORT maxTwilightPoints; |
34 SK_OT_USHORT maxStorage; | 32 SK_OT_USHORT maxStorage; |
35 SK_OT_USHORT maxFunctionDefs; | 33 SK_OT_USHORT maxFunctionDefs; |
36 SK_OT_USHORT maxInstructionDefs; | 34 SK_OT_USHORT maxInstructionDefs; |
37 SK_OT_USHORT maxStackElements; | 35 SK_OT_USHORT maxStackElements; |
38 SK_OT_USHORT maxSizeOfInstructions; | 36 SK_OT_USHORT maxSizeOfInstructions; |
39 SK_OT_USHORT maxComponentElements; | 37 SK_OT_USHORT maxComponentElements; |
40 SK_OT_USHORT maxComponentDepth; | 38 SK_OT_USHORT maxComponentDepth; |
41 }; | 39 }; |
42 | 40 |
43 #pragma pack(pop) | 41 #pragma pack(pop) |
44 | 42 |
45 | 43 |
46 #include <stddef.h> | 44 #include <stddef.h> |
47 static_assert(offsetof(SkOTTableMaximumProfile_TT, maxComponentDepth) == 30, "Sk
OTTableMaximumProfile_TT_maxComponentDepth_not_at_30"); | 45 static_assert(offsetof(SkOTTableMaximumProfile_TT, maxComponentDepth) == 30, "Sk
OTTableMaximumProfile_TT_maxComponentDepth_not_at_30"); |
48 static_assert(sizeof(SkOTTableMaximumProfile_TT) == 32, "sizeof_SkOTTableMaximum
Profile_TT_not_32"); | 46 static_assert(sizeof(SkOTTableMaximumProfile_TT) == 32, "sizeof_SkOTTableMaximum
Profile_TT_not_32"); |
49 | 47 |
50 #endif | 48 #endif |
OLD | NEW |