aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar bungeman <bungeman@google.com>2015-02-18 11:01:05 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-02-18 11:01:06 -0800
commit0babd3c61987428a5c532f65be9d98c7ac583e0d (patch)
tree716d144f68cfd4b3357c18557d43ce9ca149907b /src
parentc119981aeb6b2fc6cb3b3057eef440d7195e64eb (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.cpp6
-rw-r--r--src/utils/win/SkDWriteFontFileStream.cpp13
-rw-r--r--src/utils/win/SkDWriteFontFileStream.h7
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