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