| /* |
| * 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 GrBatchTest_DEFINED |
| #define GrBatchTest_DEFINED |
| |
| #include "GrTestUtils.h" |
| |
| #ifdef GR_TEST_UTILS |
| |
| class GrDrawBatch; |
| class GrContext; |
| class SkRandom; |
| |
| /* |
| * This file defines some macros for testing batches, and also declares functions / objects which |
| * are generally useful for GrBatch testing |
| */ |
| |
| // Batches should define test functions using DRAW_BATCH_TEST_DEFINE. The other macros defined |
| // below are used exclusively by the test harness. |
| typedef GrDrawBatch* (*BatchTestFunc)(SkRandom* random, GrContext* context); |
| #define DRAW_BATCH_TEST_DEFINE(Batch) \ |
| GrDrawBatch* Batch##__Test(SkRandom* random, GrContext* context) |
| #define DRAW_BATCH_TEST_EXTERN(Batch) \ |
| extern GrDrawBatch* Batch##__Test(SkRandom*, GrContext* context); |
| #define DRAW_BATCH_TEST_ENTRY(Batch) \ |
| Batch##__Test |
| #define DRAW_BATCH_TEST_FRIEND(Batch) \ |
| friend GrDrawBatch* Batch##__Test(SkRandom* random, GrContext* context); |
| |
| GrDrawBatch* GrRandomDrawBatch(SkRandom*, GrContext*); |
| |
| #endif |
| #endif |