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

Side by Side Diff: gm/bleed.cpp

Issue 1408063011: change alpha bmp generator in bleed to make more discernable results (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 1 month 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2013 Google Inc. 2 * Copyright 2013 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 #include "gm.h" 8 #include "gm.h"
9 #include "SkBlurMask.h" 9 #include "SkBlurMask.h"
10 #include "SkBlurMaskFilter.h" 10 #include "SkBlurMaskFilter.h"
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 } 135 }
136 scanline[width-1] = kBlue; 136 scanline[width-1] = kBlue;
137 137
138 scanline = result->getAddr32(0, height-1); 138 scanline = result->getAddr32(0, height-1);
139 for (int x = 0; x < width; ++x) { 139 for (int x = 0; x < width; ++x) {
140 scanline[x] = kBlue; 140 scanline[x] = kBlue;
141 } 141 }
142 result->setImmutable(); 142 result->setImmutable();
143 } 143 }
144 144
145 /** Makes a alpha bitmap with 1 wide rect/ring of 1s, an inset of 0s, and the in terior is a 2x2 145 /** Makes a alpha bitmap with 1 wide rect/ring of 0s, an inset of 1s, and the in terior is a 2x2
146 checker board of 3/4 and 1/2. The inner checkers are large enough to fill th e interior with 146 checker board of 3/4 and 1/2. The inner checkers are large enough to fill th e interior with
147 the 2x2 checker grid. */ 147 the 2x2 checker grid. */
148 static void make_ringed_alpha_bitmap(SkBitmap* result, int width, int height) { 148 static void make_ringed_alpha_bitmap(SkBitmap* result, int width, int height) {
149 SkASSERT(0 == width % 2 && 0 == height % 2); 149 SkASSERT(0 == width % 2 && 0 == height % 2);
150 150
151 static const SkPMColor kZero = 0x00; 151 static const SkPMColor kZero = 0x00;
152 static const SkPMColor kHalf = 0x80; 152 static const SkPMColor kHalf = 0x80;
153 static const SkPMColor k3Q = 0xC0; 153 static const SkPMColor k3Q = 0xC0;
154 static const SkPMColor kOne = 0xFF; 154 static const SkPMColor kOne = 0xFF;
155 SkImageInfo info = SkImageInfo::MakeA8(width, height); 155 SkImageInfo info = SkImageInfo::MakeA8(width, height);
156 // The 4 byte alignment seems to be necessary to allow this bmp to be conver ted 156 // The 4 byte alignment seems to be necessary to allow this bmp to be conver ted
157 // to an image. 157 // to an image.
158 result->allocPixels(info, SkAlign4(width)); 158 result->allocPixels(info, SkAlign4(width));
159 159
160 uint8_t* scanline = result->getAddr8(0, 0); 160 uint8_t* scanline = result->getAddr8(0, 0);
161 for (int x = 0; x < width; ++x) { 161 for (int x = 0; x < width; ++x) {
162 scanline[x] = kOne; 162 scanline[x] = kOne;
163 } 163 }
164 scanline = result->getAddr8(0, 1); 164 scanline = result->getAddr8(0, 1);
165 scanline[0] = kOne; 165 scanline[0] = kOne;
166 for (int x = 1; x < width - 1; ++x) { 166 for (int x = 1; x < width - 1; ++x) {
167 scanline[x] = kZero; 167 scanline[x] = kOne;
168 } 168 }
169 scanline[width - 1] = kOne; 169 scanline[width - 1] = kZero;
170 170
171 for (int y = 2; y < height / 2; ++y) { 171 for (int y = 2; y < height / 2; ++y) {
172 scanline = result->getAddr8(0, y); 172 scanline = result->getAddr8(0, y);
173 scanline[0] = kOne; 173 scanline[0] = kZero;
174 scanline[1] = kZero; 174 scanline[1] = kOne;
175 for (int x = 2; x < width / 2; ++x) { 175 for (int x = 2; x < width / 2; ++x) {
176 scanline[x] = k3Q; 176 scanline[x] = k3Q;
177 } 177 }
178 for (int x = width / 2; x < width - 2; ++x) { 178 for (int x = width / 2; x < width - 2; ++x) {
179 scanline[x] = kHalf; 179 scanline[x] = kHalf;
180 } 180 }
181 scanline[width - 2] = kZero; 181 scanline[width - 2] = kOne;
182 scanline[width - 1] = kOne; 182 scanline[width - 1] = kZero;
183 } 183 }
184 184
185 for (int y = height / 2; y < height - 2; ++y) { 185 for (int y = height / 2; y < height - 2; ++y) {
186 scanline = result->getAddr8(0, y); 186 scanline = result->getAddr8(0, y);
187 scanline[0] = kOne; 187 scanline[0] = kZero;
188 scanline[1] = kZero; 188 scanline[1] = kOne;
189 for (int x = 2; x < width / 2; ++x) { 189 for (int x = 2; x < width / 2; ++x) {
190 scanline[x] = kHalf; 190 scanline[x] = kHalf;
191 } 191 }
192 for (int x = width / 2; x < width - 2; ++x) { 192 for (int x = width / 2; x < width - 2; ++x) {
193 scanline[x] = k3Q; 193 scanline[x] = k3Q;
194 } 194 }
195 scanline[width - 2] = kZero; 195 scanline[width - 2] = kOne;
196 scanline[width - 1] = kOne; 196 scanline[width - 1] = kZero;
197 } 197 }
198 198
199 scanline = result->getAddr8(0, height - 2); 199 scanline = result->getAddr8(0, height - 2);
200 scanline[0] = kOne; 200 scanline[0] = kZero;
201 for (int x = 1; x < width - 1; ++x) { 201 for (int x = 1; x < width - 1; ++x) {
202 scanline[x] = kZero; 202 scanline[x] = kOne;
203 } 203 }
204 scanline[width - 1] = kOne; 204 scanline[width - 1] = kZero;
205 205
206 scanline = result->getAddr8(0, height - 1); 206 scanline = result->getAddr8(0, height - 1);
207 for (int x = 0; x < width; ++x) { 207 for (int x = 0; x < width; ++x) {
208 scanline[x] = kOne; 208 scanline[x] = kZero;
209 } 209 }
210 result->setImmutable(); 210 result->setImmutable();
211 } 211 }
212 212
213 static SkShader* make_shader() { 213 static SkShader* make_shader() {
214 static const SkPoint pts[] = { {0, 0}, {20, 20} }; 214 static const SkPoint pts[] = { {0, 0}, {20, 20} };
215 static const SkColor colors[] = { SK_ColorGREEN, SK_ColorYELLOW }; 215 static const SkColor colors[] = { SK_ColorGREEN, SK_ColorYELLOW };
216 return SkGradientShader::CreateLinear(pts, colors, nullptr, 2, SkShader::kMi rror_TileMode); 216 return SkGradientShader::CreateLinear(pts, colors, nullptr, 2, SkShader::kMi rror_TileMode);
217 } 217 }
218 218
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 471
472 DEF_GM( return new BleedGM(kUseBitmap_BleedTest); ) 472 DEF_GM( return new BleedGM(kUseBitmap_BleedTest); )
473 DEF_GM( return new BleedGM(kUseTextureBitmap_BleedTest); ) 473 DEF_GM( return new BleedGM(kUseTextureBitmap_BleedTest); )
474 DEF_GM( return new BleedGM(kUseImage_BleedTest); ) 474 DEF_GM( return new BleedGM(kUseImage_BleedTest); )
475 DEF_GM( return new BleedGM(kUseAlphaBitmap_BleedTest); ) 475 DEF_GM( return new BleedGM(kUseAlphaBitmap_BleedTest); )
476 DEF_GM( return new BleedGM(kUseAlphaTextureBitmap_BleedTest); ) 476 DEF_GM( return new BleedGM(kUseAlphaTextureBitmap_BleedTest); )
477 DEF_GM( return new BleedGM(kUseAlphaImage_BleedTest); ) 477 DEF_GM( return new BleedGM(kUseAlphaImage_BleedTest); )
478 DEF_GM( return new BleedGM(kUseAlphaBitmapShader_BleedTest); ) 478 DEF_GM( return new BleedGM(kUseAlphaBitmapShader_BleedTest); )
479 DEF_GM( return new BleedGM(kUseAlphaTextureBitmapShader_BleedTest); ) 479 DEF_GM( return new BleedGM(kUseAlphaTextureBitmapShader_BleedTest); )
480 DEF_GM( return new BleedGM(kUseAlphaImageShader_BleedTest); ) 480 DEF_GM( return new BleedGM(kUseAlphaImageShader_BleedTest); )
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698