Index: src/sfnt/SkOTTable_gasp.h |
diff --git a/src/sfnt/SkOTTable_gasp.h b/src/sfnt/SkOTTable_gasp.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ca2d265e22ed6c907b5e92bb0ea330426a0bbe5a |
--- /dev/null |
+++ b/src/sfnt/SkOTTable_gasp.h |
@@ -0,0 +1,73 @@ |
+/* |
+ * Copyright 2014 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#ifndef SkOTTable_gasp_DEFINED |
+#define SkOTTable_gasp_DEFINED |
+ |
+#include "SkEndian.h" |
+#include "SkOTTableTypes.h" |
+#include "SkTypedEnum.h" |
+ |
+#pragma pack(push, 1) |
+ |
+struct SkOTTableGridAndScanProcedure { |
+ static const SK_OT_CHAR TAG0 = 'g'; |
+ static const SK_OT_CHAR TAG1 = 'a'; |
+ static const SK_OT_CHAR TAG2 = 's'; |
+ static const SK_OT_CHAR TAG3 = 'p'; |
+ static const SK_OT_ULONG TAG = SkOTTableTAG<SkOTTableGridAndScanProcedure>::value; |
+ |
+ SK_OT_USHORT version; |
+ static const SK_OT_USHORT version0 = SkTEndian_SwapBE16(0); |
+ static const SK_OT_USHORT version1 = SkTEndian_SwapBE16(1); |
+ |
+ SK_OT_USHORT numRanges; |
+ |
+ struct GaspRange { |
+ SK_OT_USHORT maxPPEM; |
+ union behavior { |
+ struct Field { |
+ //8-15 |
+ SK_OT_BYTE_BITFIELD( |
+ Reserved08, |
+ Reserved09, |
+ Reserved10, |
+ Reserved11, |
+ Reserved12, |
+ Reserved13, |
+ Reserved14, |
+ Reserved15) |
+ //0-7 |
+ SK_OT_BYTE_BITFIELD( |
+ Gridfit, |
+ DoGray, |
+ SymmetricGridfit, // Version 1 |
+ SymmetricSmoothing, // Version 1 |
+ Reserved04, |
+ Reserved05, |
+ Reserved06, |
+ Reserved07) |
+ } field; |
+ struct Raw { |
+ static const SK_OT_USHORT GridfitMask = SkTEndian_SwapBE16(1 << 0); |
+ static const SK_OT_USHORT DoGrayMask = SkTEndian_SwapBE16(1 << 1); |
+ static const SK_OT_USHORT SymmetricGridfitMask = SkTEndian_SwapBE16(1 << 2); |
+ static const SK_OT_USHORT SymmetricSmoothingMask = SkTEndian_SwapBE16(1 << 3); |
+ SK_OT_USHORT value; |
+ } raw; |
+ } flags; |
+ }; //gaspRange[numRanges] |
+}; |
+ |
+#pragma pack(pop) |
+ |
+ |
+#include <stddef.h> |
+SK_COMPILE_ASSERT(offsetof(SkOTTableGridAndScanProcedure, numRanges) == 2, SkOTTableGridAndScanProcedure_numRanges_not_at_2); |
+SK_COMPILE_ASSERT(sizeof(SkOTTableGridAndScanProcedure) == 4, sizeof_SkOTTableGridAndScanProcedure_not_4); |
+ |
+#endif |