10#ifndef SkIStream_DEFINED
11#define SkIStream_DEFINED
15#ifdef SK_BUILD_FOR_WIN
28class SkBaseIStream :
public IStream {
41 SK_STDMETHODIMP CopyTo(IStream*, ULARGE_INTEGER, ULARGE_INTEGER*, ULARGE_INTEGER*)
override;
49 ULARGE_INTEGER* lpNewFilePointer)
override;
53 explicit SkBaseIStream();
54 virtual ~SkBaseIStream();
63class SkIStream :
public SkBaseIStream {
65 HRESULT
static CreateFromSkStream(std::unique_ptr<SkStreamAsset>, IStream** ppStream);
71 ULARGE_INTEGER* lpNewFilePointer)
override;
75 const std::unique_ptr<SkStream> fSkStream;
76 ULARGE_INTEGER fLocation;
78 explicit SkIStream(std::unique_ptr<SkStreamAsset>);
79 ~SkIStream()
override;
85class SkWIStream :
public SkBaseIStream {
87 HRESULT
static CreateFromSkWStream(
SkWStream*
stream, IStream ** ppStream);
97 ~SkWIStream()
override;
#define SK_STDMETHODIMP_(type)
SK_API bool Read(SkStreamSeekable *src, SkDocumentPage *dstArray, int dstArrayCount, const SkDeserialProcs *=nullptr)