| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #define WIN32_LEAN_AND_MEAN | 10 #define WIN32_LEAN_AND_MEAN |
| 11 #include <windows.h> | 11 #include <windows.h> |
| 12 #include <ole2.h> | 12 #include <ole2.h> |
| 13 #include "SkIStream.h" | 13 #include "SkIStream.h" |
| 14 #include "SkStream.h" | 14 #include "SkStream.h" |
| 15 | 15 |
| 16 /** | 16 /** |
| 17 * SkBaseIStream | 17 * SkBaseIStream |
| 18 */ | 18 */ |
| 19 SkBaseIStream::SkBaseIStream() : _refcount(1) { } | 19 SkBaseIStream::SkBaseIStream() : _refcount(1) { } |
| 20 SkBaseIStream::~SkBaseIStream() { } | 20 SkBaseIStream::~SkBaseIStream() { } |
| 21 | 21 |
| 22 HRESULT STDMETHODCALLTYPE SkBaseIStream::QueryInterface(REFIID iid | 22 HRESULT STDMETHODCALLTYPE SkBaseIStream::QueryInterface(REFIID iid |
| 23 , void ** ppvObject) | 23 , void ** ppvObject) |
| 24 { | 24 { |
| 25 if (NULL == ppvObject) { | 25 if (nullptr == ppvObject) { |
| 26 return E_INVALIDARG; | 26 return E_INVALIDARG; |
| 27 } | 27 } |
| 28 if (iid == __uuidof(IUnknown) | 28 if (iid == __uuidof(IUnknown) |
| 29 || iid == __uuidof(IStream) | 29 || iid == __uuidof(IStream) |
| 30 || iid == __uuidof(ISequentialStream)) | 30 || iid == __uuidof(ISequentialStream)) |
| 31 { | 31 { |
| 32 *ppvObject = static_cast<IStream*>(this); | 32 *ppvObject = static_cast<IStream*>(this); |
| 33 AddRef(); | 33 AddRef(); |
| 34 return S_OK; | 34 return S_OK; |
| 35 } else { | 35 } else { |
| 36 *ppvObject = NULL; | 36 *ppvObject = nullptr; |
| 37 return E_NOINTERFACE; | 37 return E_NOINTERFACE; |
| 38 } | 38 } |
| 39 } | 39 } |
| 40 | 40 |
| 41 ULONG STDMETHODCALLTYPE SkBaseIStream::AddRef(void) { | 41 ULONG STDMETHODCALLTYPE SkBaseIStream::AddRef(void) { |
| 42 return (ULONG)InterlockedIncrement(&_refcount); | 42 return (ULONG)InterlockedIncrement(&_refcount); |
| 43 } | 43 } |
| 44 | 44 |
| 45 ULONG STDMETHODCALLTYPE SkBaseIStream::Release(void) { | 45 ULONG STDMETHODCALLTYPE SkBaseIStream::Release(void) { |
| 46 ULONG res = (ULONG) InterlockedDecrement(&_refcount); | 46 ULONG res = (ULONG) InterlockedDecrement(&_refcount); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 SkIStream::~SkIStream() { | 115 SkIStream::~SkIStream() { |
| 116 if (fDeleteOnRelease) { | 116 if (fDeleteOnRelease) { |
| 117 delete this->fSkStream; | 117 delete this->fSkStream; |
| 118 } | 118 } |
| 119 } | 119 } |
| 120 | 120 |
| 121 HRESULT SkIStream::CreateFromSkStream(SkStream* stream | 121 HRESULT SkIStream::CreateFromSkStream(SkStream* stream |
| 122 , bool deleteOnRelease | 122 , bool deleteOnRelease |
| 123 , IStream ** ppStream) | 123 , IStream ** ppStream) |
| 124 { | 124 { |
| 125 if (NULL == stream) { | 125 if (nullptr == stream) { |
| 126 return E_INVALIDARG; | 126 return E_INVALIDARG; |
| 127 } | 127 } |
| 128 *ppStream = new SkIStream(stream, deleteOnRelease); | 128 *ppStream = new SkIStream(stream, deleteOnRelease); |
| 129 return S_OK; | 129 return S_OK; |
| 130 } | 130 } |
| 131 | 131 |
| 132 // ISequentialStream Interface | 132 // ISequentialStream Interface |
| 133 HRESULT STDMETHODCALLTYPE SkIStream::Read(void* pv, ULONG cb, ULONG* pcbRead) { | 133 HRESULT STDMETHODCALLTYPE SkIStream::Read(void* pv, ULONG cb, ULONG* pcbRead) { |
| 134 *pcbRead = static_cast<ULONG>(this->fSkStream->read(pv, cb)); | 134 *pcbRead = static_cast<ULONG>(this->fSkStream->read(pv, cb)); |
| 135 this->fLocation.QuadPart += *pcbRead; | 135 this->fLocation.QuadPart += *pcbRead; |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 } | 201 } |
| 202 return hr; | 202 return hr; |
| 203 } | 203 } |
| 204 | 204 |
| 205 HRESULT STDMETHODCALLTYPE SkIStream::Stat(STATSTG* pStatstg | 205 HRESULT STDMETHODCALLTYPE SkIStream::Stat(STATSTG* pStatstg |
| 206 , DWORD grfStatFlag) | 206 , DWORD grfStatFlag) |
| 207 { | 207 { |
| 208 if (0 == (grfStatFlag & STATFLAG_NONAME)) { | 208 if (0 == (grfStatFlag & STATFLAG_NONAME)) { |
| 209 return STG_E_INVALIDFLAG; | 209 return STG_E_INVALIDFLAG; |
| 210 } | 210 } |
| 211 pStatstg->pwcsName = NULL; | 211 pStatstg->pwcsName = nullptr; |
| 212 // FIXME: Should not depend on getLength | 212 // FIXME: Should not depend on getLength |
| 213 // See https://code.google.com/p/skia/issues/detail?id=1570 | 213 // See https://code.google.com/p/skia/issues/detail?id=1570 |
| 214 pStatstg->cbSize.QuadPart = this->fSkStream->getLength(); | 214 pStatstg->cbSize.QuadPart = this->fSkStream->getLength(); |
| 215 pStatstg->clsid = CLSID_NULL; | 215 pStatstg->clsid = CLSID_NULL; |
| 216 pStatstg->type = STGTY_STREAM; | 216 pStatstg->type = STGTY_STREAM; |
| 217 pStatstg->grfMode = STGM_READ; | 217 pStatstg->grfMode = STGM_READ; |
| 218 return S_OK; | 218 return S_OK; |
| 219 } | 219 } |
| 220 | 220 |
| 221 | 221 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 261 this->fSkWStream->flush(); | 261 this->fSkWStream->flush(); |
| 262 return S_OK; | 262 return S_OK; |
| 263 } | 263 } |
| 264 | 264 |
| 265 HRESULT STDMETHODCALLTYPE SkWIStream::Stat(STATSTG* pStatstg | 265 HRESULT STDMETHODCALLTYPE SkWIStream::Stat(STATSTG* pStatstg |
| 266 , DWORD grfStatFlag) | 266 , DWORD grfStatFlag) |
| 267 { | 267 { |
| 268 if (0 == (grfStatFlag & STATFLAG_NONAME)) { | 268 if (0 == (grfStatFlag & STATFLAG_NONAME)) { |
| 269 return STG_E_INVALIDFLAG; | 269 return STG_E_INVALIDFLAG; |
| 270 } | 270 } |
| 271 pStatstg->pwcsName = NULL; | 271 pStatstg->pwcsName = nullptr; |
| 272 pStatstg->cbSize.QuadPart = 0; | 272 pStatstg->cbSize.QuadPart = 0; |
| 273 pStatstg->clsid = CLSID_NULL; | 273 pStatstg->clsid = CLSID_NULL; |
| 274 pStatstg->type = STGTY_STREAM; | 274 pStatstg->type = STGTY_STREAM; |
| 275 pStatstg->grfMode = STGM_WRITE; | 275 pStatstg->grfMode = STGM_WRITE; |
| 276 return S_OK; | 276 return S_OK; |
| 277 } | 277 } |
| OLD | NEW |