Index: src/sfnt/SkTTCFHeader.h |
=================================================================== |
--- src/sfnt/SkTTCFHeader.h (revision 0) |
+++ src/sfnt/SkTTCFHeader.h (working copy) |
@@ -0,0 +1,56 @@ |
+/* |
+ * Copyright 2013 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#ifndef SkTTCFHeader_DEFINED |
+#define SkTTCFHeader_DEFINED |
+ |
+#include "SkOTTableTypes.h" |
+ |
+#pragma pack(push, 1) |
+ |
+struct SkTTCFHeader { |
+ SK_SFNT_ULONG ttcTag; |
+ static const SK_OT_CHAR TAG0 = 't'; |
+ static const SK_OT_CHAR TAG1 = 't'; |
+ static const SK_OT_CHAR TAG2 = 'c'; |
+ static const SK_OT_CHAR TAG3 = 'f'; |
+ static const SK_OT_ULONG TAG = SkOTTableTAG<SkTTCFHeader>::value; |
+ |
+ SK_OT_Fixed version; |
+ static const SK_OT_Fixed version_1 = SkTEndian_SwapBE32(1 << 16); |
+ static const SK_OT_Fixed version_2 = SkTEndian_SwapBE32(2 << 16); |
+ |
+ SK_OT_ULONG numOffsets; |
+ //SK_OT_ULONG offset[numOffsets] |
+ |
+ struct Version2Ext { |
+ SK_OT_ULONG dsigType; |
+ struct dsigType_None { |
+ static const SK_OT_CHAR TAG0 = 0; |
+ static const SK_OT_CHAR TAG1 = 0; |
+ static const SK_OT_CHAR TAG2 = 0; |
+ static const SK_OT_CHAR TAG3 = 0; |
+ static const SK_OT_ULONG TAG = SkOTTableTAG<dsigType_None>::value; |
+ }; |
+ struct dsigType_Format1 { |
+ static const SK_OT_CHAR TAG0 = 'D'; |
+ static const SK_OT_CHAR TAG1 = 'S'; |
+ static const SK_OT_CHAR TAG2 = 'I'; |
+ static const SK_OT_CHAR TAG3 = 'G'; |
+ static const SK_OT_ULONG TAG = SkOTTableTAG<dsigType_Format1>::value; |
+ }; |
+ SK_OT_ULONG dsigLength; //Length of DSIG table (in bytes). |
+ SK_OT_ULONG dsigOffset; //Offset of DSIG table from the beginning of file (in bytes). |
+ };// version2ext (if version == version_2) |
+}; |
+ |
+#pragma pack(pop) |
+ |
+ |
+SK_COMPILE_ASSERT(sizeof(SkTTCFHeader) == 12, sizeof_SkTTCFHeader_not_12); |
+ |
+#endif |