• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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