OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkOTTable_EBLC_DEFINED | 8 #ifndef SkOTTable_EBLC_DEFINED |
9 #define SkOTTable_EBLC_DEFINED | 9 #define SkOTTable_EBLC_DEFINED |
10 | 10 |
11 #include "SkEndian.h" | 11 #include "SkEndian.h" |
12 #include "SkOTTable_EBDT.h" | 12 #include "SkOTTable_EBDT.h" |
13 #include "SkOTTableTypes.h" | 13 #include "SkOTTableTypes.h" |
14 #include "SkTypedEnum.h" | |
15 | 14 |
16 #pragma pack(push, 1) | 15 #pragma pack(push, 1) |
17 | 16 |
18 struct SkOTTableEmbeddedBitmapLocation { | 17 struct SkOTTableEmbeddedBitmapLocation { |
19 static const SK_OT_CHAR TAG0 = 'E'; | 18 static const SK_OT_CHAR TAG0 = 'E'; |
20 static const SK_OT_CHAR TAG1 = 'B'; | 19 static const SK_OT_CHAR TAG1 = 'B'; |
21 static const SK_OT_CHAR TAG2 = 'L'; | 20 static const SK_OT_CHAR TAG2 = 'L'; |
22 static const SK_OT_CHAR TAG3 = 'C'; | 21 static const SK_OT_CHAR TAG3 = 'C'; |
23 static const SK_OT_ULONG TAG = SkOTTableTAG<SkOTTableEmbeddedBitmapLocation>
::value; | 22 static const SK_OT_ULONG TAG = SkOTTableTAG<SkOTTableEmbeddedBitmapLocation>
::value; |
24 | 23 |
(...skipping 22 matching lines...) Expand all Loading... |
47 SK_OT_ULONG indexTablesSize; //number of bytes in corresponding index su
btables and array | 46 SK_OT_ULONG indexTablesSize; //number of bytes in corresponding index su
btables and array |
48 SK_OT_ULONG numberOfIndexSubTables; //an index subtable for each range o
r format change | 47 SK_OT_ULONG numberOfIndexSubTables; //an index subtable for each range o
r format change |
49 SK_OT_ULONG colorRef; //not used; set to 0. | 48 SK_OT_ULONG colorRef; //not used; set to 0. |
50 SbitLineMetrics hori; //line metrics for text rendered horizontally | 49 SbitLineMetrics hori; //line metrics for text rendered horizontally |
51 SbitLineMetrics vert; //line metrics for text rendered vertically | 50 SbitLineMetrics vert; //line metrics for text rendered vertically |
52 SK_OT_USHORT startGlyphIndex; //lowest glyph index for this size | 51 SK_OT_USHORT startGlyphIndex; //lowest glyph index for this size |
53 SK_OT_USHORT endGlyphIndex; //highest glyph index for this size | 52 SK_OT_USHORT endGlyphIndex; //highest glyph index for this size |
54 SK_OT_BYTE ppemX; //horizontal pixels per Em | 53 SK_OT_BYTE ppemX; //horizontal pixels per Em |
55 SK_OT_BYTE ppemY; //vertical pixels per Em | 54 SK_OT_BYTE ppemY; //vertical pixels per Em |
56 struct BitDepth { | 55 struct BitDepth { |
57 SK_TYPED_ENUM(Value, SK_OT_BYTE, | 56 enum Value : SK_OT_BYTE { |
58 ((BW, 1)) | 57 BW = 1, |
59 ((Gray4, 2)) | 58 Gray4 = 2, |
60 ((Gray16, 4)) | 59 Gray16 = 4, |
61 ((Gray256, 8)) | 60 Gray256 = 8, |
62 SK_SEQ_END, | 61 }; |
63 SK_SEQ_END) | |
64 SK_OT_BYTE value; | 62 SK_OT_BYTE value; |
65 } bitDepth; //the Microsoft rasterizer v.1.7 or greater supports | 63 } bitDepth; //the Microsoft rasterizer v.1.7 or greater supports |
66 union Flags { | 64 union Flags { |
67 struct Field { | 65 struct Field { |
68 //0-7 | 66 //0-7 |
69 SK_OT_BYTE_BITFIELD( | 67 SK_OT_BYTE_BITFIELD( |
70 Horizontal, // Horizontal small glyph metrics | 68 Horizontal, // Horizontal small glyph metrics |
71 Vertical, // Vertical small glyph metrics | 69 Vertical, // Vertical small glyph metrics |
72 Reserved02, | 70 Reserved02, |
73 Reserved03, | 71 Reserved03, |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 IndexSubTable3 format3; | 141 IndexSubTable3 format3; |
144 IndexSubTable4 format4; | 142 IndexSubTable4 format4; |
145 IndexSubTable5 format5; | 143 IndexSubTable5 format5; |
146 }; | 144 }; |
147 | 145 |
148 }; | 146 }; |
149 | 147 |
150 #pragma pack(pop) | 148 #pragma pack(pop) |
151 | 149 |
152 #endif | 150 #endif |
OLD | NEW |