| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 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 #include "SkRWBuffer.h" | 8 #include "SkRWBuffer.h" |
| 9 #include "SkStream.h" | 9 #include "SkStream.h" |
| 10 | 10 |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 222 void SkRWBuffer::validate() const { | 222 void SkRWBuffer::validate() const { |
| 223 if (fHead) { | 223 if (fHead) { |
| 224 fHead->validate(fTotalUsed, fTail); | 224 fHead->validate(fTotalUsed, fTail); |
| 225 } else { | 225 } else { |
| 226 SkASSERT(NULL == fTail); | 226 SkASSERT(NULL == fTail); |
| 227 SkASSERT(0 == fTotalUsed); | 227 SkASSERT(0 == fTotalUsed); |
| 228 } | 228 } |
| 229 } | 229 } |
| 230 #endif | 230 #endif |
| 231 | 231 |
| 232 SkROBuffer* SkRWBuffer::newRBufferSnapshot() const { | 232 SkROBuffer* SkRWBuffer::newRBufferSnapshot() const { return new SkROBuffer(fHead
, fTotalUsed); } |
| 233 return SkNEW_ARGS(SkROBuffer, (fHead, fTotalUsed)); | |
| 234 } | |
| 235 | 233 |
| 236 ////////////////////////////////////////////////////////////////////////////////
/////////////////// | 234 ////////////////////////////////////////////////////////////////////////////////
/////////////////// |
| 237 | 235 |
| 238 class SkROBufferStreamAsset : public SkStreamAsset { | 236 class SkROBufferStreamAsset : public SkStreamAsset { |
| 239 void validate() const { | 237 void validate() const { |
| 240 #ifdef SK_DEBUG | 238 #ifdef SK_DEBUG |
| 241 SkASSERT(fGlobalOffset <= fBuffer->size()); | 239 SkASSERT(fGlobalOffset <= fBuffer->size()); |
| 242 SkASSERT(fLocalOffset <= fIter.size()); | 240 SkASSERT(fLocalOffset <= fIter.size()); |
| 243 SkASSERT(fLocalOffset <= fGlobalOffset); | 241 SkASSERT(fLocalOffset <= fGlobalOffset); |
| 244 #endif | 242 #endif |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 } | 296 } |
| 299 fGlobalOffset += bytesRead; | 297 fGlobalOffset += bytesRead; |
| 300 SkASSERT(fGlobalOffset <= fBuffer->size()); | 298 SkASSERT(fGlobalOffset <= fBuffer->size()); |
| 301 return bytesRead; | 299 return bytesRead; |
| 302 } | 300 } |
| 303 | 301 |
| 304 bool isAtEnd() const override { | 302 bool isAtEnd() const override { |
| 305 return fBuffer->size() == fGlobalOffset; | 303 return fBuffer->size() == fGlobalOffset; |
| 306 } | 304 } |
| 307 | 305 |
| 308 SkStreamAsset* duplicate() const override { | 306 SkStreamAsset* duplicate() const override { return new SkROBufferStreamAsset
(fBuffer); } |
| 309 return SkNEW_ARGS(SkROBufferStreamAsset, (fBuffer)); | |
| 310 } | |
| 311 | 307 |
| 312 size_t getPosition() const override { | 308 size_t getPosition() const override { |
| 313 return fGlobalOffset; | 309 return fGlobalOffset; |
| 314 } | 310 } |
| 315 | 311 |
| 316 bool seek(size_t position) override { | 312 bool seek(size_t position) override { |
| 317 AUTO_VALIDATE | 313 AUTO_VALIDATE |
| 318 if (position < fGlobalOffset) { | 314 if (position < fGlobalOffset) { |
| 319 this->rewind(); | 315 this->rewind(); |
| 320 } | 316 } |
| (...skipping 21 matching lines...) Expand all Loading... |
| 342 | 338 |
| 343 private: | 339 private: |
| 344 const SkROBuffer* fBuffer; | 340 const SkROBuffer* fBuffer; |
| 345 SkROBuffer::Iter fIter; | 341 SkROBuffer::Iter fIter; |
| 346 size_t fLocalOffset; | 342 size_t fLocalOffset; |
| 347 size_t fGlobalOffset; | 343 size_t fGlobalOffset; |
| 348 }; | 344 }; |
| 349 | 345 |
| 350 SkStreamAsset* SkRWBuffer::newStreamSnapshot() const { | 346 SkStreamAsset* SkRWBuffer::newStreamSnapshot() const { |
| 351 SkAutoTUnref<SkROBuffer> buffer(this->newRBufferSnapshot()); | 347 SkAutoTUnref<SkROBuffer> buffer(this->newRBufferSnapshot()); |
| 352 return SkNEW_ARGS(SkROBufferStreamAsset, (buffer)); | 348 return new SkROBufferStreamAsset(buffer); |
| 353 } | 349 } |
| OLD | NEW |