diff options
author | 2015-02-18 11:01:05 -0800 | |
---|---|---|
committer | 2015-02-18 11:01:06 -0800 | |
commit | 0babd3c61987428a5c532f65be9d98c7ac583e0d (patch) | |
tree | 716d144f68cfd4b3357c18557d43ce9ca149907b /src | |
parent | c119981aeb6b2fc6cb3b3057eef440d7195e64eb (diff) |
Update DirectWrite streams to SkStreamAsset.
SkTypefaces now deal in terms of SkStreamAsset, but the DirectWrite port
was never fully converted.
Review URL: https://codereview.chromium.org/940563002
Diffstat (limited to 'src')
-rw-r--r-- | src/ports/SkFontMgr_win_dw.cpp | 6 | ||||
-rw-r--r-- | src/utils/win/SkDWriteFontFileStream.cpp | 13 | ||||
-rw-r--r-- | src/utils/win/SkDWriteFontFileStream.h | 7 |
3 files changed, 13 insertions, 13 deletions
diff --git a/src/ports/SkFontMgr_win_dw.cpp b/src/ports/SkFontMgr_win_dw.cpp index bb1e8f572f..e5ddcac8c5 100644 --- a/src/ports/SkFontMgr_win_dw.cpp +++ b/src/ports/SkFontMgr_win_dw.cpp @@ -35,7 +35,7 @@ public: IDWriteFontFileStream** fontFileStream); // Takes ownership of stream. - static HRESULT Create(SkStream* stream, StreamFontFileLoader** streamFontFileLoader) { + static HRESULT Create(SkStreamAsset* stream, StreamFontFileLoader** streamFontFileLoader) { *streamFontFileLoader = new StreamFontFileLoader(stream); if (NULL == streamFontFileLoader) { return E_OUTOFMEMORY; @@ -43,10 +43,10 @@ public: return S_OK; } - SkAutoTDelete<SkStream> fStream; + SkAutoTDelete<SkStreamAsset> fStream; private: - StreamFontFileLoader(SkStream* stream) : fRefCount(1), fStream(stream) { } + StreamFontFileLoader(SkStreamAsset* stream) : fRefCount(1), fStream(stream) { } virtual ~StreamFontFileLoader() { } ULONG fRefCount; diff --git a/src/utils/win/SkDWriteFontFileStream.cpp b/src/utils/win/SkDWriteFontFileStream.cpp index 809ae7bd9a..a18760111c 100644 --- a/src/utils/win/SkDWriteFontFileStream.cpp +++ b/src/utils/win/SkDWriteFontFileStream.cpp @@ -133,7 +133,9 @@ const void* SkDWriteFontFileStream::getMemoryBase() { /////////////////////////////////////////////////////////////////////////////// // SkIDWriteFontFileStreamWrapper -HRESULT SkDWriteFontFileStreamWrapper::Create(SkStream* stream, SkDWriteFontFileStreamWrapper** streamFontFileStream) { +HRESULT SkDWriteFontFileStreamWrapper::Create(SkStreamAsset* stream, + SkDWriteFontFileStreamWrapper** streamFontFileStream) +{ *streamFontFileStream = new SkDWriteFontFileStreamWrapper(stream); if (NULL == streamFontFileStream) { return E_OUTOFMEMORY; @@ -141,7 +143,7 @@ HRESULT SkDWriteFontFileStreamWrapper::Create(SkStream* stream, SkDWriteFontFile return S_OK; } -SkDWriteFontFileStreamWrapper::SkDWriteFontFileStreamWrapper(SkStream* stream) +SkDWriteFontFileStreamWrapper::SkDWriteFontFileStreamWrapper(SkStreamAsset* stream) : fRefCount(1), fStream(stream) { } @@ -193,16 +195,13 @@ HRESULT STDMETHODCALLTYPE SkDWriteFontFileStreamWrapper::ReadFileFragment( *fragmentContext = NULL; } else { - //May be called from multiple threads. + // May be called from multiple threads. SkAutoMutexAcquire ama(fStreamMutex); *fragmentStart = NULL; *fragmentContext = NULL; - if (!fStream->rewind()) { - return E_FAIL; - } - if (fStream->skip(static_cast<size_t>(fileOffset)) != fileOffset) { + if (!fStream->seek(static_cast<size_t>(fileOffset))) { return E_FAIL; } SkAutoTMalloc<uint8_t> streamData(static_cast<size_t>(fragmentSize)); diff --git a/src/utils/win/SkDWriteFontFileStream.h b/src/utils/win/SkDWriteFontFileStream.h index f03518fe54..ba16f704a3 100644 --- a/src/utils/win/SkDWriteFontFileStream.h +++ b/src/utils/win/SkDWriteFontFileStream.h @@ -65,14 +65,15 @@ public: virtual HRESULT STDMETHODCALLTYPE GetFileSize(UINT64* fileSize); virtual HRESULT STDMETHODCALLTYPE GetLastWriteTime(UINT64* lastWriteTime); - static HRESULT Create(SkStream* stream, SkDWriteFontFileStreamWrapper** streamFontFileStream); + static HRESULT Create(SkStreamAsset* stream, + SkDWriteFontFileStreamWrapper** streamFontFileStream); private: - explicit SkDWriteFontFileStreamWrapper(SkStream* stream); + explicit SkDWriteFontFileStreamWrapper(SkStreamAsset* stream); virtual ~SkDWriteFontFileStreamWrapper() { } ULONG fRefCount; - SkAutoTDelete<SkStream> fStream; + SkAutoTDelete<SkStreamAsset> fStream; SkMutex fStreamMutex; }; #endif |