OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 #include "Benchmark.h" | 8 #include "Benchmark.h" |
9 #include "SkBitmap.h" | 9 #include "SkBitmap.h" |
10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 if (kIndex_8_SkColorType == ct) { | 97 if (kIndex_8_SkColorType == ct) { |
98 fBitmap.setInfo(SkImageInfo::MakeN32(w, h, at)); | 98 fBitmap.setInfo(SkImageInfo::MakeN32(w, h, at)); |
99 } else { | 99 } else { |
100 fBitmap.setInfo(SkImageInfo::Make(w, h, ct, at)); | 100 fBitmap.setInfo(SkImageInfo::Make(w, h, ct, at)); |
101 } | 101 } |
102 fName.printf("repeatTile_%s_%c", | 102 fName.printf("repeatTile_%s_%c", |
103 sk_tool_utils::colortype_name(ct), kOpaque_SkAlphaType == a
t ? 'X' : 'A'); | 103 sk_tool_utils::colortype_name(ct), kOpaque_SkAlphaType == a
t ? 'X' : 'A'); |
104 } | 104 } |
105 | 105 |
106 protected: | 106 protected: |
107 virtual const char* onGetName() SK_OVERRIDE { | 107 const char* onGetName() SK_OVERRIDE { |
108 return fName.c_str(); | 108 return fName.c_str(); |
109 } | 109 } |
110 | 110 |
111 virtual void onPreDraw() SK_OVERRIDE { | 111 void onPreDraw() SK_OVERRIDE { |
112 fBitmap.allocPixels(); | 112 fBitmap.allocPixels(); |
113 fBitmap.eraseColor(kOpaque_SkAlphaType == fAlphaType ? SK_ColorWHITE : 0
); | 113 fBitmap.eraseColor(kOpaque_SkAlphaType == fAlphaType ? SK_ColorWHITE : 0
); |
114 | 114 |
115 draw_into_bitmap(fBitmap); | 115 draw_into_bitmap(fBitmap); |
116 | 116 |
117 if (kIndex_8_SkColorType == fColorType) { | 117 if (kIndex_8_SkColorType == fColorType) { |
118 SkBitmap tmp; | 118 SkBitmap tmp; |
119 convert_to_index666(fBitmap, &tmp); | 119 convert_to_index666(fBitmap, &tmp); |
120 fBitmap = tmp; | 120 fBitmap = tmp; |
121 } | 121 } |
122 | 122 |
123 SkShader* s = SkShader::CreateBitmapShader(fBitmap, | 123 SkShader* s = SkShader::CreateBitmapShader(fBitmap, |
124 SkShader::kRepeat_TileMode, | 124 SkShader::kRepeat_TileMode, |
125 SkShader::kRepeat_TileMode); | 125 SkShader::kRepeat_TileMode); |
126 fPaint.setShader(s)->unref(); | 126 fPaint.setShader(s)->unref(); |
127 } | 127 } |
128 | 128 |
129 | 129 |
130 virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE { | 130 void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE { |
131 SkPaint paint(fPaint); | 131 SkPaint paint(fPaint); |
132 this->setupPaint(&paint); | 132 this->setupPaint(&paint); |
133 | 133 |
134 for (int i = 0; i < loops; i++) { | 134 for (int i = 0; i < loops; i++) { |
135 canvas->drawPaint(paint); | 135 canvas->drawPaint(paint); |
136 } | 136 } |
137 } | 137 } |
138 | 138 |
139 private: | 139 private: |
140 typedef Benchmark INHERITED; | 140 typedef Benchmark INHERITED; |
141 }; | 141 }; |
142 | 142 |
143 DEF_BENCH(return new RepeatTileBench(kN32_SkColorType, kOpaque_SkAlphaType)) | 143 DEF_BENCH(return new RepeatTileBench(kN32_SkColorType, kOpaque_SkAlphaType)) |
144 DEF_BENCH(return new RepeatTileBench(kN32_SkColorType, kPremul_SkAlphaType)) | 144 DEF_BENCH(return new RepeatTileBench(kN32_SkColorType, kPremul_SkAlphaType)) |
145 DEF_BENCH(return new RepeatTileBench(kRGB_565_SkColorType, kOpaque_SkAlphaType)) | 145 DEF_BENCH(return new RepeatTileBench(kRGB_565_SkColorType, kOpaque_SkAlphaType)) |
146 DEF_BENCH(return new RepeatTileBench(kIndex_8_SkColorType, kPremul_SkAlphaType)) | 146 DEF_BENCH(return new RepeatTileBench(kIndex_8_SkColorType, kPremul_SkAlphaType)) |
OLD | NEW |