| Index: src/gpu/GrPathProcessor.h
|
| diff --git a/src/gpu/GrPathProcessor.h b/src/gpu/GrPathProcessor.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..03d3907459f077ee0b3699470f361e3d61cdb289
|
| --- /dev/null
|
| +++ b/src/gpu/GrPathProcessor.h
|
| @@ -0,0 +1,65 @@
|
| +/*
|
| + * Copyright 2013 Google Inc.
|
| + *
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +
|
| +#ifndef GrPathProcessor_DEFINED
|
| +#define GrPathProcessor_DEFINED
|
| +
|
| +#include "GrPrimitiveProcessor.h"
|
| +
|
| +struct PathBatchTracker {
|
| + GrGPInput fInputColorType;
|
| + GrGPInput fInputCoverageType;
|
| + GrColor fColor;
|
| + bool fUsesLocalCoords;
|
| +};
|
| +
|
| +/*
|
| + * The path equivalent of the GP. For now this just manages color. In the long term we plan on
|
| + * extending this class to handle all nvpr uniform / varying / program work.
|
| + */
|
| +class GrPathProcessor : public GrPrimitiveProcessor {
|
| +public:
|
| + static GrPathProcessor* Create(GrColor color,
|
| + const SkMatrix& viewMatrix = SkMatrix::I(),
|
| + const SkMatrix& localMatrix = SkMatrix::I()) {
|
| + return SkNEW_ARGS(GrPathProcessor, (color, viewMatrix, localMatrix));
|
| + }
|
| +
|
| + void initBatchTracker(GrBatchTracker*, const GrPipelineInfo&) const SK_OVERRIDE;
|
| +
|
| + bool canMakeEqual(const GrBatchTracker& mine,
|
| + const GrPrimitiveProcessor& that,
|
| + const GrBatchTracker& theirs) const SK_OVERRIDE;
|
| +
|
| + const char* name() const SK_OVERRIDE { return "PathProcessor"; }
|
| +
|
| + GrColor color() const { return fColor; }
|
| +
|
| + void getInvariantOutputColor(GrInitInvariantOutput* out) const SK_OVERRIDE;
|
| + void getInvariantOutputCoverage(GrInitInvariantOutput* out) const SK_OVERRIDE;
|
| +
|
| + bool willUseGeoShader() const SK_OVERRIDE { return false; }
|
| +
|
| + virtual void getGLProcessorKey(const GrBatchTracker& bt,
|
| + const GrGLCaps& caps,
|
| + GrProcessorKeyBuilder* b) const SK_OVERRIDE;
|
| +
|
| + virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt,
|
| + const GrGLCaps& caps) const SK_OVERRIDE;
|
| +
|
| +protected:
|
| + GrPathProcessor(GrColor color, const SkMatrix& viewMatrix, const SkMatrix& localMatrix);
|
| +
|
| +private:
|
| + bool hasExplicitLocalCoords() const SK_OVERRIDE { return false; }
|
| +
|
| + GrColor fColor;
|
| +
|
| + typedef GrPrimitiveProcessor INHERITED;
|
| +};
|
| +
|
| +#endif
|
|
|