diff options
author | 2017-09-15 11:37:15 -0400 | |
---|---|---|
committer | 2017-09-15 18:46:45 +0000 | |
commit | 49f1f34438d3431f6d7e32847accd2ba96948a73 (patch) | |
tree | c4e0342c3350c546573fb2add99597e92c9ca66c /src/utils/win/SkDWriteFontFileStream.h | |
parent | 226e2032e8e37068a409aeb37aac79608fbd315d (diff) |
use unique_ptr for stream api
Bug: skia:6888
Change-Id: I3459b4913982a7cae1c0061697c82cc65ad9a2d8
Reviewed-on: https://skia-review.googlesource.com/26740
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/utils/win/SkDWriteFontFileStream.h')
-rw-r--r-- | src/utils/win/SkDWriteFontFileStream.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/utils/win/SkDWriteFontFileStream.h b/src/utils/win/SkDWriteFontFileStream.h index 25322c5657..9b65752382 100644 --- a/src/utils/win/SkDWriteFontFileStream.h +++ b/src/utils/win/SkDWriteFontFileStream.h @@ -28,15 +28,31 @@ public: size_t read(void* buffer, size_t size) override; bool isAtEnd() const override; bool rewind() override; - SkDWriteFontFileStream* duplicate() const override; size_t getPosition() const override; bool seek(size_t position) override; bool move(long offset) override; - SkDWriteFontFileStream* fork() const override; size_t getLength() const override; const void* getMemoryBase() override; +#ifdef SK_SUPPORT_LEGACY_STREAM_API + SkDWriteFontFileStream* duplicate() const override; + SkDWriteFontFileStream* fork() const override; +#else + std::unique_ptr<SkDWriteFontFileStream> duplicate() const { + return std::unique_ptr<SkDWriteFontFileStream>(this->onDuplicate()); + } + std::unique_ptr<SkDWriteFontFileStream> fork() const { + return std::unique_ptr<SkDWriteFontFileStream>(this->onFork()); + } +#endif + + private: +#ifndef SK_SUPPORT_LEGACY_STREAM_API + SkDWriteFontFileStream* onDuplicate() const override; + SkDWriteFontFileStream* onFork() const override; +#endif + SkTScopedComPtr<IDWriteFontFileStream> fFontFileStream; size_t fPos; const void* fLockedMemory; |