| Index: dm/DMSrcSink.h
|
| diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h
|
| deleted file mode 100644
|
| index 3f88f6350b8d48c3b6e3b5b5c0cf54bccee88f65..0000000000000000000000000000000000000000
|
| --- a/dm/DMSrcSink.h
|
| +++ /dev/null
|
| @@ -1,177 +0,0 @@
|
| -#ifndef DMSrcSink_DEFINED
|
| -#define DMSrcSink_DEFINED
|
| -
|
| -#include "DMGpuSupport.h"
|
| -#include "SkBBHFactory.h"
|
| -#include "SkBBoxHierarchy.h"
|
| -#include "SkBitmap.h"
|
| -#include "SkCanvas.h"
|
| -#include "SkData.h"
|
| -#include "SkGPipe.h"
|
| -#include "SkPicture.h"
|
| -#include "SkStream.h"
|
| -#include "gm.h"
|
| -
|
| -namespace DM {
|
| -
|
| -// This is just convenience. It lets you use either return "foo" or return SkStringPrintf(...).
|
| -struct ImplicitString : public SkString {
|
| - template <typename T>
|
| - ImplicitString(const T& s) : SkString(s) {}
|
| -};
|
| -typedef ImplicitString Error;
|
| -typedef ImplicitString Name;
|
| -
|
| -struct Src {
|
| - // All Srcs must be thread safe.
|
| - virtual ~Src() {}
|
| - virtual Error SK_WARN_UNUSED_RESULT draw(SkCanvas*) const = 0;
|
| - virtual SkISize size() const = 0;
|
| - virtual Name name() const = 0;
|
| -};
|
| -
|
| -struct Sink {
|
| - virtual ~Sink() {}
|
| - // You may write to either the bitmap or stream.
|
| - virtual Error SK_WARN_UNUSED_RESULT draw(const Src&, SkBitmap*, SkWStream*) const
|
| - = 0;
|
| - // Sinks in the same enclave (except kAnyThread_Enclave) will run serially on the same thread.
|
| - virtual int enclave() const = 0;
|
| -
|
| - // File extension for the content draw() outputs, e.g. "png", "pdf".
|
| - virtual const char* fileExtension() const = 0;
|
| -};
|
| -
|
| -enum { kAnyThread_Enclave, kGPUSink_Enclave, kPDFSink_Enclave };
|
| -static const int kNumEnclaves = kPDFSink_Enclave + 1;
|
| -
|
| -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
| -
|
| -void SafeUnref(SkPicture*); // These need external linkage (and specific types).
|
| -void SafeUnref(SkData*);
|
| -
|
| -class GMSrc : public Src {
|
| -public:
|
| - explicit GMSrc(skiagm::GMRegistry::Factory);
|
| -
|
| - Error draw(SkCanvas*) const SK_OVERRIDE;
|
| - SkISize size() const SK_OVERRIDE;
|
| - Name name() const SK_OVERRIDE;
|
| -private:
|
| - skiagm::GMRegistry::Factory fFactory;
|
| -};
|
| -
|
| -class ImageSrc : public Src {
|
| -public:
|
| - explicit ImageSrc(SkString path, int subsets = 0);
|
| -
|
| - Error draw(SkCanvas*) const SK_OVERRIDE;
|
| - SkISize size() const SK_OVERRIDE;
|
| - Name name() const SK_OVERRIDE;
|
| -private:
|
| - SkString fPath;
|
| - int fSubsets;
|
| - SkLazyPtr<SkData, SafeUnref> fEncoded;
|
| -};
|
| -
|
| -class SKPSrc : public Src {
|
| -public:
|
| - explicit SKPSrc(SkString path);
|
| -
|
| - Error draw(SkCanvas*) const SK_OVERRIDE;
|
| - SkISize size() const SK_OVERRIDE;
|
| - Name name() const SK_OVERRIDE;
|
| -private:
|
| - SkString fPath;
|
| - SkLazyPtr<SkPicture, SafeUnref> fPic;
|
| -};
|
| -
|
| -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
| -
|
| -class GPUSink : public Sink {
|
| -public:
|
| - GPUSink(GrContextFactory::GLContextType, GrGLStandard, int samples, bool dfText);
|
| -
|
| - Error draw(const Src&, SkBitmap*, SkWStream*) const SK_OVERRIDE;
|
| - int enclave() const SK_OVERRIDE;
|
| - const char* fileExtension() const SK_OVERRIDE { return "png"; }
|
| -private:
|
| - GrContextFactory::GLContextType fContextType;
|
| - GrGLStandard fGpuAPI;
|
| - int fSampleCount;
|
| - bool fUseDFText;
|
| -};
|
| -
|
| -class PDFSink : public Sink {
|
| -public:
|
| - PDFSink();
|
| -
|
| - Error draw(const Src&, SkBitmap*, SkWStream*) const SK_OVERRIDE;
|
| - int enclave() const SK_OVERRIDE { return kPDFSink_Enclave; }
|
| - const char* fileExtension() const SK_OVERRIDE { return "pdf"; }
|
| -};
|
| -
|
| -class RasterSink : public Sink {
|
| -public:
|
| - explicit RasterSink(SkColorType);
|
| -
|
| - Error draw(const Src&, SkBitmap*, SkWStream*) const SK_OVERRIDE;
|
| - int enclave() const SK_OVERRIDE { return kAnyThread_Enclave; }
|
| - const char* fileExtension() const SK_OVERRIDE { return "png"; }
|
| -private:
|
| - SkColorType fColorType;
|
| -};
|
| -
|
| -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
| -
|
| -class ViaMatrix : public Sink {
|
| -public:
|
| - ViaMatrix(SkMatrix, Sink*);
|
| -
|
| - Error draw(const Src&, SkBitmap*, SkWStream*) const SK_OVERRIDE;
|
| - int enclave() const SK_OVERRIDE { return fSink->enclave(); }
|
| - const char* fileExtension() const SK_OVERRIDE { return fSink->fileExtension(); }
|
| -private:
|
| - SkMatrix fMatrix;
|
| - SkAutoTDelete<Sink> fSink;
|
| -};
|
| -
|
| -class ViaPipe : public Sink {
|
| -public:
|
| - ViaPipe(int flags, Sink*);
|
| -
|
| - Error draw(const Src&, SkBitmap*, SkWStream*) const SK_OVERRIDE;
|
| - int enclave() const SK_OVERRIDE { return fSink->enclave(); }
|
| - const char* fileExtension() const SK_OVERRIDE { return fSink->fileExtension(); }
|
| -private:
|
| - SkGPipeWriter::Flags fFlags;
|
| - SkAutoTDelete<Sink> fSink;
|
| -};
|
| -
|
| -class ViaSerialization : public Sink {
|
| -public:
|
| - explicit ViaSerialization(Sink*);
|
| -
|
| - Error draw(const Src&, SkBitmap*, SkWStream*) const SK_OVERRIDE;
|
| - int enclave() const SK_OVERRIDE { return fSink->enclave(); }
|
| - const char* fileExtension() const SK_OVERRIDE { return fSink->fileExtension(); }
|
| -private:
|
| - SkAutoTDelete<Sink> fSink;
|
| -};
|
| -
|
| -class ViaTiles : public Sink {
|
| -public:
|
| - ViaTiles(int w, int h, SkBBHFactory*, Sink*);
|
| -
|
| - Error draw(const Src&, SkBitmap*, SkWStream*) const SK_OVERRIDE;
|
| - int enclave() const SK_OVERRIDE { return fSink->enclave(); }
|
| - const char* fileExtension() const SK_OVERRIDE { return fSink->fileExtension(); }
|
| -private:
|
| - const int fW, fH;
|
| - SkAutoTDelete<SkBBHFactory> fFactory;
|
| - SkAutoTDelete<Sink> fSink;
|
| -};
|
| -
|
| -} // namespace DM
|
| -
|
| -#endif//DMSrcSink_DEFINED
|
|
|