bungeman@google.com | f8d1aee | 2012-02-02 19:15:21 +0000 | [diff] [blame] | 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_OS_2_DEFINED |
| 9 | #define SkOTTable_OS_2_DEFINED |
| 10 | |
| 11 | #include "SkOTTable_OS_2_VA.h" |
| 12 | #include "SkOTTable_OS_2_V0.h" |
| 13 | #include "SkOTTable_OS_2_V1.h" |
| 14 | #include "SkOTTable_OS_2_V2.h" |
| 15 | #include "SkOTTable_OS_2_V3.h" |
| 16 | #include "SkOTTable_OS_2_V4.h" |
| 17 | |
| 18 | #pragma pack(push, 1) |
| 19 | |
bungeman@google.com | ec95a4a | 2012-06-25 14:26:48 +0000 | [diff] [blame^] | 20 | struct SkOTTableOS2 { |
| 21 | static const SK_OT_CHAR TAG0 = 'O'; |
| 22 | static const SK_OT_CHAR TAG1 = 'S'; |
| 23 | static const SK_OT_CHAR TAG2 = '/'; |
| 24 | static const SK_OT_CHAR TAG3 = '2'; |
| 25 | static const SK_OT_ULONG TAG = SkOTTableTAG<SkOTTableOS2>::value; |
| 26 | |
| 27 | union Version { |
| 28 | //original V0 TT |
| 29 | struct VA : SkOTTableOS2_VA { } vA; |
| 30 | struct V0 : SkOTTableOS2_V0 { } v0; |
| 31 | struct V1 : SkOTTableOS2_V1 { } v1; |
| 32 | struct V2 : SkOTTableOS2_V2 { } v2; |
| 33 | //makes fsType 0-3 exclusive |
| 34 | struct V3 : SkOTTableOS2_V3 { } v3; |
| 35 | //defines fsSelection bits 7-9 |
| 36 | struct V4 : SkOTTableOS2_V4 { } v4; |
| 37 | } version; |
bungeman@google.com | f8d1aee | 2012-02-02 19:15:21 +0000 | [diff] [blame] | 38 | }; |
| 39 | |
| 40 | #pragma pack(pop) |
| 41 | |
| 42 | |
bungeman@google.com | ec95a4a | 2012-06-25 14:26:48 +0000 | [diff] [blame^] | 43 | SK_COMPILE_ASSERT(sizeof(SkOTTableOS2::Version::VA) == 68, sizeof_SkOTTableOS2__VA_not_68); |
| 44 | SK_COMPILE_ASSERT(sizeof(SkOTTableOS2::Version::V0) == 78, sizeof_SkOTTableOS2__V0_not_78); |
| 45 | SK_COMPILE_ASSERT(sizeof(SkOTTableOS2::Version::V1) == 86, sizeof_SkOTTableOS2__V1_not_86); |
| 46 | SK_COMPILE_ASSERT(sizeof(SkOTTableOS2::Version::V2) == 96, sizeof_SkOTTableOS2__V2_not_96); |
| 47 | SK_COMPILE_ASSERT(sizeof(SkOTTableOS2::Version::V3) == 96, sizeof_SkOTTableOS2__V3_not_96); |
| 48 | SK_COMPILE_ASSERT(sizeof(SkOTTableOS2::Version::V4) == 96, sizeof_SkOTTableOS2__V4_not_96); |
bungeman@google.com | f8d1aee | 2012-02-02 19:15:21 +0000 | [diff] [blame] | 49 | |
| 50 | #endif |