123456789101112131415161718192021222324252627282930313233343536373839 |
- /*
- * Copyright 2015 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef GrDrawOpTest_DEFINED
- #define GrDrawOpTest_DEFINED
- #include "include/core/SkRefCnt.h"
- #include "src/gpu/GrTestUtils.h"
- #if GR_TEST_UTILS
- class GrContext_Base;
- class GrDrawOp;
- class GrPaint;
- class GrRecordingContext;
- class GrRenderTargetContext;
- struct GrUserStencilSettings;
- class SkRandom;
- /** This function draws a randomly configured GrDrawOp for testing purposes. */
- void GrDrawRandomOp(SkRandom*, GrRenderTargetContext*, GrPaint&&);
- /** GrDrawOp subclasses should define test factory functions using this macro. */
- #define GR_DRAW_OP_TEST_DEFINE(Op) \
- std::unique_ptr<GrDrawOp> Op##__Test(GrPaint&& paint, SkRandom* random, \
- GrRecordingContext* context, int numSamples)
- #define GR_DRAW_OP_TEST_FRIEND(Op) \
- friend std::unique_ptr<GrDrawOp> Op##__Test(GrPaint&& paint, SkRandom* random, \
- GrRecordingContext* context, int numSamples)
- /** Helper for op test factories to pick a random stencil state. */
- const GrUserStencilSettings* GrGetRandomStencil(SkRandom* random, GrContext_Base*);
- #endif
- #endif
|