Line data Source code
1 : /*
2 : * Copyright 2011 Google Inc. All Rights Reserved.
3 : *
4 : * Licensed under the Apache License, Version 2.0 (the "License");
5 : * you may not use this file except in compliance with the License.
6 : * You may obtain a copy of the License at
7 : *
8 : * http://www.apache.org/licenses/LICENSE-2.0
9 : *
10 : * Unless required by applicable law or agreed to in writing, software
11 : * distributed under the License is distributed on an "AS IS" BASIS,
12 : * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 : * See the License for the specific language governing permissions and
14 : * limitations under the License.
15 : */
16 :
17 : #include "sfntly/table/core/maximum_profile_table.h"
18 :
19 : namespace sfntly {
20 : /******************************************************************************
21 : * MaximumProfileTable class
22 : ******************************************************************************/
23 0 : MaximumProfileTable::~MaximumProfileTable() {}
24 :
25 0 : int32_t MaximumProfileTable::TableVersion() {
26 0 : return data_->ReadFixed(Offset::kVersion);
27 : }
28 :
29 0 : int32_t MaximumProfileTable::NumGlyphs() {
30 0 : return data_->ReadUShort(Offset::kNumGlyphs);
31 : }
32 :
33 0 : int32_t MaximumProfileTable::MaxPoints() {
34 0 : return data_->ReadUShort(Offset::kMaxPoints);
35 : }
36 :
37 0 : int32_t MaximumProfileTable::MaxContours() {
38 0 : return data_->ReadUShort(Offset::kMaxContours);
39 : }
40 :
41 0 : int32_t MaximumProfileTable::MaxCompositePoints() {
42 0 : return data_->ReadUShort(Offset::kMaxCompositePoints);
43 : }
44 :
45 0 : int32_t MaximumProfileTable::MaxCompositeContours() {
46 0 : return data_->ReadUShort(Offset::kMaxCompositeContours);
47 : }
48 :
49 0 : int32_t MaximumProfileTable::MaxZones() {
50 0 : return data_->ReadUShort(Offset::kMaxZones);
51 : }
52 :
53 0 : int32_t MaximumProfileTable::MaxTwilightPoints() {
54 0 : return data_->ReadUShort(Offset::kMaxTwilightPoints);
55 : }
56 :
57 0 : int32_t MaximumProfileTable::MaxStorage() {
58 0 : return data_->ReadUShort(Offset::kMaxStorage);
59 : }
60 :
61 0 : int32_t MaximumProfileTable::MaxFunctionDefs() {
62 0 : return data_->ReadUShort(Offset::kMaxFunctionDefs);
63 : }
64 :
65 0 : int32_t MaximumProfileTable::MaxStackElements() {
66 0 : return data_->ReadUShort(Offset::kMaxStackElements);
67 : }
68 :
69 0 : int32_t MaximumProfileTable::MaxSizeOfInstructions() {
70 0 : return data_->ReadUShort(Offset::kMaxSizeOfInstructions);
71 : }
72 :
73 0 : int32_t MaximumProfileTable::MaxComponentElements() {
74 0 : return data_->ReadUShort(Offset::kMaxComponentElements);
75 : }
76 :
77 0 : int32_t MaximumProfileTable::MaxComponentDepth() {
78 0 : return data_->ReadUShort(Offset::kMaxComponentDepth);
79 : }
80 :
81 0 : MaximumProfileTable::MaximumProfileTable(Header* header,
82 0 : ReadableFontData* data)
83 0 : : Table(header, data) {
84 0 : }
85 :
86 : /******************************************************************************
87 : * MaximumProfileTable::Builder class
88 : ******************************************************************************/
89 0 : MaximumProfileTable::Builder::Builder(Header* header, WritableFontData* data)
90 0 : : TableBasedTableBuilder(header, data) {
91 0 : }
92 :
93 0 : MaximumProfileTable::Builder::Builder(Header* header, ReadableFontData* data)
94 0 : : TableBasedTableBuilder(header, data) {
95 0 : }
96 :
97 0 : MaximumProfileTable::Builder::~Builder() {}
98 :
99 : CALLER_ATTACH FontDataTable*
100 0 : MaximumProfileTable::Builder::SubBuildTable(ReadableFontData* data) {
101 0 : FontDataTablePtr table = new MaximumProfileTable(header(), data);
102 0 : return table.Detach();
103 : }
104 :
105 : CALLER_ATTACH MaximumProfileTable::Builder*
106 0 : MaximumProfileTable::Builder::CreateBuilder(Header* header,
107 : WritableFontData* data) {
108 0 : Ptr<MaximumProfileTable::Builder> builder;
109 0 : builder = new MaximumProfileTable::Builder(header, data);
110 0 : return builder.Detach();
111 : }
112 :
113 0 : int32_t MaximumProfileTable::Builder::TableVersion() {
114 0 : return InternalReadData()->ReadUShort(Offset::kVersion);
115 : }
116 :
117 0 : void MaximumProfileTable::Builder::SetTableVersion(int32_t version) {
118 0 : InternalWriteData()->WriteUShort(Offset::kVersion, version);
119 0 : }
120 :
121 0 : int32_t MaximumProfileTable::Builder::NumGlyphs() {
122 0 : return InternalReadData()->ReadUShort(Offset::kNumGlyphs);
123 : }
124 :
125 0 : void MaximumProfileTable::Builder::SetNumGlyphs(int32_t num_glyphs) {
126 0 : InternalWriteData()->WriteUShort(Offset::kNumGlyphs, num_glyphs);
127 0 : }
128 :
129 0 : int32_t MaximumProfileTable::Builder::MaxPoints() {
130 0 : return InternalReadData()->ReadUShort(Offset::kMaxPoints);
131 : }
132 :
133 0 : void MaximumProfileTable::Builder::SetMaxPoints(int32_t max_points) {
134 0 : InternalWriteData()->WriteUShort(Offset::kMaxPoints, max_points);
135 0 : }
136 :
137 0 : int32_t MaximumProfileTable::Builder::MaxContours() {
138 0 : return InternalReadData()->ReadUShort(Offset::kMaxContours);
139 : }
140 :
141 0 : void MaximumProfileTable::Builder::SetMaxContours(int32_t max_contours) {
142 0 : InternalWriteData()->WriteUShort(Offset::kMaxContours, max_contours);
143 0 : }
144 :
145 0 : int32_t MaximumProfileTable::Builder::MaxCompositePoints() {
146 0 : return InternalReadData()->ReadUShort(Offset::kMaxCompositePoints);
147 : }
148 :
149 0 : void MaximumProfileTable::Builder::SetMaxCompositePoints(
150 : int32_t max_composite_points) {
151 0 : InternalWriteData()->WriteUShort(Offset::kMaxCompositePoints,
152 0 : max_composite_points);
153 0 : }
154 :
155 0 : int32_t MaximumProfileTable::Builder::MaxCompositeContours() {
156 0 : return InternalReadData()->ReadUShort(Offset::kMaxCompositeContours);
157 : }
158 :
159 0 : void MaximumProfileTable::Builder::SetMaxCompositeContours(
160 : int32_t max_composite_contours) {
161 0 : InternalWriteData()->WriteUShort(Offset::kMaxCompositeContours,
162 0 : max_composite_contours);
163 0 : }
164 :
165 0 : int32_t MaximumProfileTable::Builder::MaxZones() {
166 0 : return InternalReadData()->ReadUShort(Offset::kMaxZones);
167 : }
168 :
169 0 : void MaximumProfileTable::Builder::SetMaxZones(int32_t max_zones) {
170 0 : InternalWriteData()->WriteUShort(Offset::kMaxZones, max_zones);
171 0 : }
172 :
173 0 : int32_t MaximumProfileTable::Builder::MaxTwilightPoints() {
174 0 : return InternalReadData()->ReadUShort(Offset::kMaxTwilightPoints);
175 : }
176 :
177 0 : void MaximumProfileTable::Builder::SetMaxTwilightPoints(
178 : int32_t max_twilight_points) {
179 0 : InternalWriteData()->WriteUShort(Offset::kMaxTwilightPoints,
180 0 : max_twilight_points);
181 0 : }
182 :
183 0 : int32_t MaximumProfileTable::Builder::MaxStorage() {
184 0 : return InternalReadData()->ReadUShort(Offset::kMaxStorage);
185 : }
186 :
187 0 : void MaximumProfileTable::Builder::SetMaxStorage(int32_t max_storage) {
188 0 : InternalWriteData()->WriteUShort(Offset::kMaxStorage, max_storage);
189 0 : }
190 :
191 0 : int32_t MaximumProfileTable::Builder::MaxFunctionDefs() {
192 0 : return InternalReadData()->ReadUShort(Offset::kMaxFunctionDefs);
193 : }
194 :
195 0 : void MaximumProfileTable::Builder::SetMaxFunctionDefs(
196 : int32_t max_function_defs) {
197 0 : InternalWriteData()->WriteUShort(Offset::kMaxFunctionDefs, max_function_defs);
198 0 : }
199 :
200 0 : int32_t MaximumProfileTable::Builder::MaxStackElements() {
201 0 : return InternalReadData()->ReadUShort(Offset::kMaxStackElements);
202 : }
203 :
204 0 : void MaximumProfileTable::Builder::SetMaxStackElements(
205 : int32_t max_stack_elements) {
206 0 : InternalWriteData()->WriteUShort(Offset::kMaxStackElements,
207 0 : max_stack_elements);
208 0 : }
209 :
210 0 : int32_t MaximumProfileTable::Builder::MaxSizeOfInstructions() {
211 0 : return InternalReadData()->ReadUShort(Offset::kMaxSizeOfInstructions);
212 : }
213 :
214 0 : void MaximumProfileTable::Builder::SetMaxSizeOfInstructions(
215 : int32_t max_size_of_instructions) {
216 0 : InternalWriteData()->WriteUShort(Offset::kMaxSizeOfInstructions,
217 0 : max_size_of_instructions);
218 0 : }
219 :
220 0 : int32_t MaximumProfileTable::Builder::MaxComponentElements() {
221 0 : return InternalReadData()->ReadUShort(Offset::kMaxComponentElements);
222 : }
223 :
224 0 : void MaximumProfileTable::Builder::SetMaxComponentElements(
225 : int32_t max_component_elements) {
226 0 : InternalWriteData()->WriteUShort(Offset::kMaxComponentElements,
227 0 : max_component_elements);
228 0 : }
229 :
230 0 : int32_t MaximumProfileTable::Builder::MaxComponentDepth() {
231 0 : return InternalReadData()->ReadUShort(Offset::kMaxComponentDepth);
232 : }
233 :
234 0 : void MaximumProfileTable::Builder::SetMaxComponentDepth(
235 : int32_t max_component_depth) {
236 0 : InternalWriteData()->WriteUShort(Offset::kMaxComponentDepth,
237 0 : max_component_depth);
238 0 : }
239 :
240 : } // namespace sfntly
|