1 /* 2 * Copyright 2015 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef GrBatchTest_DEFINED 9 #define GrBatchTest_DEFINED 10 11 #include "GrTestUtils.h" 12 13 #ifdef GR_TEST_UTILS 14 15 class GrDrawBatch; 16 class GrContext; 17 class SkRandom; 18 19 /* 20 * This file defines some macros for testing batches, and also declares functions / objects which 21 * are generally useful for GrBatch testing 22 */ 23 24 // Batches should define test functions using DRAW_BATCH_TEST_DEFINE. The other macros defined 25 // below are used exclusively by the test harness. 26 typedef GrDrawBatch* (*BatchTestFunc)(SkRandom* random, GrContext* context); 27 #define DRAW_BATCH_TEST_DEFINE(Batch) \ 28 GrDrawBatch* Batch##__Test(SkRandom* random, GrContext* context) 29 #define DRAW_BATCH_TEST_EXTERN(Batch) \ 30 extern GrDrawBatch* Batch##__Test(SkRandom*, GrContext* context); 31 #define DRAW_BATCH_TEST_ENTRY(Batch) \ 32 Batch##__Test 33 #define DRAW_BATCH_TEST_FRIEND(Batch) \ 34 friend GrDrawBatch* Batch##__Test(SkRandom* random, GrContext* context); 35 36 GrDrawBatch* GrRandomDrawBatch(SkRandom*, GrContext*); 37 38 #endif 39 #endif 40