diff options
Diffstat (limited to 'chromium/third_party/skia/src/sfnt/SkOTTable_gasp.h')
-rw-r--r-- | chromium/third_party/skia/src/sfnt/SkOTTable_gasp.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/chromium/third_party/skia/src/sfnt/SkOTTable_gasp.h b/chromium/third_party/skia/src/sfnt/SkOTTable_gasp.h new file mode 100644 index 00000000000..ca2d265e22e --- /dev/null +++ b/chromium/third_party/skia/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 |