Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Side by Side Diff: include/gpu/GrTestUtils.h

Issue 1109153004: Initial CL to create GrBatchTest infrastructure (Closed) Base URL: https://skia.googlesource.com/skia.git@rand-batch0
Patch Set: windows warnings Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef GrTestUtils_DEFINED 8 #ifndef GrTestUtils_DEFINED
9 #define GrTestUtils_DEFINED 9 #define GrTestUtils_DEFINED
10 10
11 #include "SkTypes.h"
12
13 #ifdef GR_TEST_UTILS
14
11 #include "GrColor.h" 15 #include "GrColor.h"
12 #include "SkRandom.h" 16 #include "SkRandom.h"
13 17
14 class SkMatrix; 18 class SkMatrix;
19 struct SkRect;
15 20
16 namespace GrTest { 21 namespace GrTest {
17 /** 22 /**
18 * A helper for use in Test functions. 23 * A helper for use in Test functions.
19 */ 24 */
20 const SkMatrix& TestMatrix(SkRandom*); 25 const SkMatrix& TestMatrix(SkRandom*);
26 const SkRect& TestRect(SkRandom*);
21 27
22 } 28 }
23 29
24 static inline GrColor GrRandomColor(SkRandom* random) { 30 static inline GrColor GrRandomColor(SkRandom* random) {
25 // There are only a few cases of random colors which interest us 31 // There are only a few cases of random colors which interest us
26 enum ColorMode { 32 enum ColorMode {
27 kAllOnes_ColorMode, 33 kAllOnes_ColorMode,
28 kAllZeros_ColorMode, 34 kAllZeros_ColorMode,
29 kAlphaOne_ColorMode, 35 kAlphaOne_ColorMode,
30 kRandom_ColorMode, 36 kRandom_ColorMode,
31 kLast_ColorMode = kRandom_ColorMode 37 kLast_ColorMode = kRandom_ColorMode
32 }; 38 };
33 39
34 ColorMode colorMode = ColorMode(random->nextULessThan(kLast_ColorMode + 1)); 40 ColorMode colorMode = ColorMode(random->nextULessThan(kLast_ColorMode + 1));
35 GrColor color; 41 GrColor color;
36 switch (colorMode) { 42 switch (colorMode) {
37 case kAllOnes_ColorMode: 43 case kAllOnes_ColorMode:
38 color = GrColorPackRGBA(0xFF, 0xFF, 0xFF, 0xFF); 44 color = GrColorPackRGBA(0xFF, 0xFF, 0xFF, 0xFF);
39 break; 45 break;
40 case kAllZeros_ColorMode: 46 case kAllZeros_ColorMode:
41 color = GrColorPackRGBA(0, 0, 0, 0); 47 color = GrColorPackRGBA(0, 0, 0, 0);
42 break; 48 break;
43 case kAlphaOne_ColorMode: 49 case kAlphaOne_ColorMode:
44 color = GrColorPackRGBA(random->nextULessThan(256), 50 color = GrColorPackRGBA(random->nextULessThan(256),
45 random->nextULessThan(256), 51 random->nextULessThan(256),
46 random->nextULessThan(256), 52 random->nextULessThan(256),
47 0xFF); 53 0xFF);
48 break; 54 break;
49 case kRandom_ColorMode: 55 case kRandom_ColorMode: {
50 uint8_t alpha = random->nextULessThan(256); 56 uint8_t alpha = random->nextULessThan(256);
51 color = GrColorPackRGBA(random->nextRangeU(0, alpha), 57 color = GrColorPackRGBA(random->nextRangeU(0, alpha),
52 random->nextRangeU(0, alpha), 58 random->nextRangeU(0, alpha),
53 random->nextRangeU(0, alpha), 59 random->nextRangeU(0, alpha),
54 alpha); 60 alpha);
55 break; 61 break;
62 }
56 } 63 }
57 GrColorIsPMAssert(color); 64 GrColorIsPMAssert(color);
58 return color; 65 return color;
59 } 66 }
60 67
61 static inline uint8_t GrRandomCoverage(SkRandom* random) { 68 static inline uint8_t GrRandomCoverage(SkRandom* random) {
62 enum CoverageMode { 69 enum CoverageMode {
63 kZero_CoverageMode, 70 kZero_CoverageMode,
64 kAllOnes_CoverageMode, 71 kAllOnes_CoverageMode,
65 kRandom_CoverageMode, 72 kRandom_CoverageMode,
66 kLast_CoverageMode = kRandom_CoverageMode 73 kLast_CoverageMode = kRandom_CoverageMode
67 }; 74 };
68 75
69 CoverageMode colorMode = CoverageMode(random->nextULessThan(kLast_CoverageMo de + 1)); 76 CoverageMode colorMode = CoverageMode(random->nextULessThan(kLast_CoverageMo de + 1));
70 uint8_t coverage; 77 uint8_t coverage;
71 switch (colorMode) { 78 switch (colorMode) {
72 case kZero_CoverageMode: 79 case kZero_CoverageMode:
73 coverage = 0; 80 coverage = 0;
74 case kAllOnes_CoverageMode: 81 case kAllOnes_CoverageMode:
75 coverage = 0xff; 82 coverage = 0xff;
76 break; 83 break;
77 case kRandom_CoverageMode: 84 case kRandom_CoverageMode:
78 coverage = random->nextULessThan(256); 85 coverage = random->nextULessThan(256);
79 break; 86 break;
80 } 87 }
81 return coverage; 88 return coverage;
82 } 89 }
83 90
84 #endif 91 #endif
92 #endif
OLDNEW
« no previous file with comments | « include/core/SkPostConfig.h ('k') | src/gpu/GrAARectRenderer.h » ('j') | src/gpu/GrTestUtils.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698