Lines Matching full:stream
39 static bool read(SkStream* stream, void* buffer, size_t amount) {
40 return stream->read(buffer, amount) == amount;
43 static bool skip(SkStream* stream, size_t amount) {
44 return stream->skip(amount) == amount;
50 table headers (SkSFNTDirEntry), relative to the start of the stream.
54 static int count_tables(SkStream* stream, int ttcIndex, size_t* offsetToDir) {
60 if (!read(stream, header, sizeof(SkSharedTTHeader))) {
64 // by default, SkSFNTHeader is at the start of the stream
76 stream->rewind();
79 if (!read(stream, header, amount)) {
85 stream->rewind();
86 if (!skip(stream, offset)) {
89 if (!read(stream, header, sizeof(SkSFNTHeader))) {
113 bool init(SkStream* stream, int ttcIndex) {
114 stream->rewind();
117 fCount = count_tables(stream, ttcIndex, &offsetToDir);
122 stream->rewind();
123 if (!skip(stream, offsetToDir)) {
129 return read(stream, fDir, size);
138 int SkFontStream::CountTTCEntries(SkStream* stream) {
139 stream->rewind();
142 if (!read(stream, &shared, sizeof(shared))) {
155 int SkFontStream::GetTableTags(SkStream* stream, int ttcIndex,
158 if (!header.init(stream, ttcIndex)) {
170 size_t SkFontStream::GetTableData(SkStream* stream, int ttcIndex,
174 if (!header.init(stream, ttcIndex)) {
196 // skip the stream to the part of the table we want to copy from
197 stream->rewind();
199 if (!skip(stream, bytesToSkip)) {
202 if (!read(stream, data, length)) {