Lines Matching refs:stream
40 static bool read(SkStream* stream, void* buffer, size_t amount) {
41 return stream->read(buffer, amount) == amount;
44 static bool skip(SkStream* stream, size_t amount) {
45 return stream->skip(amount) == amount;
51 table headers (SkSFNTDirEntry), relative to the start of the stream.
55 static int count_tables(SkStream* stream, int ttcIndex, size_t* offsetToDir) {
61 if (!read(stream, header, sizeof(SkSharedTTHeader))) {
65 // by default, SkSFNTHeader is at the start of the stream
77 stream->rewind();
80 if (!read(stream, header, amount)) {
86 stream->rewind();
87 if (!skip(stream, offset)) {
90 if (!read(stream, header, sizeof(SkSFNTHeader))) {
114 bool init(SkStream* stream, int ttcIndex) {
115 stream->rewind();
118 fCount = count_tables(stream, ttcIndex, &offsetToDir);
123 stream->rewind();
124 if (!skip(stream, offsetToDir)) {
130 return read(stream, fDir, size);
139 int SkFontStream::CountTTCEntries(SkStream* stream) {
140 stream->rewind();
143 if (!read(stream, &shared, sizeof(shared))) {
156 int SkFontStream::GetTableTags(SkStream* stream, int ttcIndex,
159 if (!header.init(stream, ttcIndex)) {
171 size_t SkFontStream::GetTableData(SkStream* stream, int ttcIndex,
175 if (!header.init(stream, ttcIndex)) {
197 // skip the stream to the part of the table we want to copy from
198 stream->rewind();
200 if (!skip(stream, bytesToSkip)) {
203 if (!read(stream, data, length)) {