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#include "SkTypedEnum.h" 14 15#pragma pack(push, 1) 16 17struct SkOTTableMaximumProfile_TT { 18 SK_OT_Fixed version; 19 static const SK_OT_Fixed VERSION = SkTEndian_SwapBE32(0x00010000); 20 21 SK_OT_USHORT numGlyphs; 22 SK_OT_USHORT maxPoints; 23 SK_OT_USHORT maxContours; 24 SK_OT_USHORT maxCompositePoints; 25 SK_OT_USHORT maxCompositeContours; 26 struct MaxZones { 27 SK_TYPED_ENUM(Value, SK_OT_USHORT, 28 ((DoesNotUseTwilightZone, SkTEndian_SwapBE16(1))) 29 ((UsesTwilightZone, SkTEndian_SwapBE16(2))) 30 SK_SEQ_END, 31 (value)SK_SEQ_END) 32 } maxZones; 33 SK_OT_USHORT maxTwilightPoints; 34 SK_OT_USHORT maxStorage; 35 SK_OT_USHORT maxFunctionDefs; 36 SK_OT_USHORT maxInstructionDefs; 37 SK_OT_USHORT maxStackElements; 38 SK_OT_USHORT maxSizeOfInstructions; 39 SK_OT_USHORT maxComponentElements; 40 SK_OT_USHORT maxComponentDepth; 41}; 42 43#pragma pack(pop) 44 45 46#include <stddef.h> 47static_assert(offsetof(SkOTTableMaximumProfile_TT, maxComponentDepth) == 30, "SkOTTableMaximumProfile_TT_maxComponentDepth_not_at_30"); 48static_assert(sizeof(SkOTTableMaximumProfile_TT) == 32, "sizeof_SkOTTableMaximumProfile_TT_not_32"); 49 50#endif 51