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

Side by Side Diff: skia/ext/platform_canvas_unittest.cc

Issue 2509983004: Revert "Change call-sites now that SkCanvas is not ref-counted" (Closed)
Patch Set: Created 4 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 | « skia/ext/platform_canvas.cc ('k') | skia/ext/skia_utils_mac.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // TODO(awalker): clean up the const/non-const reference handling in this test 5 // TODO(awalker): clean up the const/non-const reference handling in this test
6 6
7 #include "skia/ext/platform_canvas.h" 7 #include "skia/ext/platform_canvas.h"
8 8
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 const int kInnerY = 5; 226 const int kInnerY = 5;
227 const int kInnerW = 2; 227 const int kInnerW = 2;
228 const int kInnerH = 3; 228 const int kInnerH = 3;
229 229
230 } 230 }
231 231
232 // This just checks that our checking code is working properly, it just uses 232 // This just checks that our checking code is working properly, it just uses
233 // regular skia primitives. 233 // regular skia primitives.
234 TEST(PlatformCanvas, SkLayer) { 234 TEST(PlatformCanvas, SkLayer) {
235 // Create the canvas initialized to opaque white. 235 // Create the canvas initialized to opaque white.
236 std::unique_ptr<SkCanvas> canvas = CreatePlatformCanvas(16, 16, true); 236 sk_sp<SkCanvas> canvas(CreatePlatformCanvas(16, 16, true));
237 canvas->drawColor(SK_ColorWHITE); 237 canvas->drawColor(SK_ColorWHITE);
238 238
239 // Make a layer and fill it completely to make sure that the bounds are 239 // Make a layer and fill it completely to make sure that the bounds are
240 // correct. 240 // correct.
241 { 241 {
242 LayerSaver layer(*canvas, kLayerX, kLayerY, kLayerW, kLayerH); 242 LayerSaver layer(*canvas, kLayerX, kLayerY, kLayerW, kLayerH);
243 canvas->drawColor(SK_ColorBLACK); 243 canvas->drawColor(SK_ColorBLACK);
244 } 244 }
245 EXPECT_TRUE(VerifyBlackRect(*canvas, kLayerX, kLayerY, kLayerW, kLayerH)); 245 EXPECT_TRUE(VerifyBlackRect(*canvas, kLayerX, kLayerY, kLayerW, kLayerH));
246 } 246 }
247 247
248 // Test native clipping. 248 // Test native clipping.
249 TEST(PlatformCanvas, ClipRegion) { 249 TEST(PlatformCanvas, ClipRegion) {
250 // Initialize a white canvas 250 // Initialize a white canvas
251 std::unique_ptr<SkCanvas> canvas = CreatePlatformCanvas(16, 16, true); 251 sk_sp<SkCanvas> canvas(CreatePlatformCanvas(16, 16, true));
252 canvas->drawColor(SK_ColorWHITE); 252 canvas->drawColor(SK_ColorWHITE);
253 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorWHITE)); 253 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorWHITE));
254 254
255 // Test that initially the canvas has no clip region, by filling it 255 // Test that initially the canvas has no clip region, by filling it
256 // with a black rectangle. 256 // with a black rectangle.
257 // Note: Don't use LayerSaver, since internally it sets a clip region. 257 // Note: Don't use LayerSaver, since internally it sets a clip region.
258 DrawNativeRect(*canvas, 0, 0, 16, 16); 258 DrawNativeRect(*canvas, 0, 0, 16, 16);
259 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorBLACK)); 259 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorBLACK));
260 260
261 // Test that intersecting disjoint clip rectangles sets an empty clip region 261 // Test that intersecting disjoint clip rectangles sets an empty clip region
262 canvas->drawColor(SK_ColorWHITE); 262 canvas->drawColor(SK_ColorWHITE);
263 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorWHITE)); 263 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorWHITE));
264 { 264 {
265 LayerSaver layer(*canvas, 0, 0, 16, 16); 265 LayerSaver layer(*canvas, 0, 0, 16, 16);
266 AddClip(*canvas, 2, 3, 4, 5); 266 AddClip(*canvas, 2, 3, 4, 5);
267 AddClip(*canvas, 4, 9, 10, 10); 267 AddClip(*canvas, 4, 9, 10, 10);
268 DrawNativeRect(*canvas, 0, 0, 16, 16); 268 DrawNativeRect(*canvas, 0, 0, 16, 16);
269 } 269 }
270 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorWHITE)); 270 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorWHITE));
271 } 271 }
272 272
273 // Test the layers get filled properly by native rendering. 273 // Test the layers get filled properly by native rendering.
274 TEST(PlatformCanvas, FillLayer) { 274 TEST(PlatformCanvas, FillLayer) {
275 // Create the canvas initialized to opaque white. 275 // Create the canvas initialized to opaque white.
276 std::unique_ptr<SkCanvas> canvas(CreatePlatformCanvas(16, 16, true)); 276 sk_sp<SkCanvas> canvas(CreatePlatformCanvas(16, 16, true));
277 277
278 // Make a layer and fill it completely to make sure that the bounds are 278 // Make a layer and fill it completely to make sure that the bounds are
279 // correct. 279 // correct.
280 canvas->drawColor(SK_ColorWHITE); 280 canvas->drawColor(SK_ColorWHITE);
281 { 281 {
282 LayerSaver layer(*canvas, kLayerX, kLayerY, kLayerW, kLayerH); 282 LayerSaver layer(*canvas, kLayerX, kLayerY, kLayerW, kLayerH);
283 DrawNativeRect(*canvas, 0, 0, 100, 100); 283 DrawNativeRect(*canvas, 0, 0, 100, 100);
284 MakeOpaque(canvas.get(), 0, 0, 100, 100); 284 MakeOpaque(canvas.get(), 0, 0, 100, 100);
285 } 285 }
286 EXPECT_TRUE(VerifyBlackRect(*canvas, kLayerX, kLayerY, kLayerW, kLayerH)); 286 EXPECT_TRUE(VerifyBlackRect(*canvas, kLayerX, kLayerY, kLayerW, kLayerH));
(...skipping 28 matching lines...) Expand all
315 DrawNativeRect(*canvas, 0, 0, 100, 100); 315 DrawNativeRect(*canvas, 0, 0, 100, 100);
316 MakeOpaque(canvas.get(), 0, 0, 100, 100); 316 MakeOpaque(canvas.get(), 0, 0, 100, 100);
317 } 317 }
318 canvas->restore(); 318 canvas->restore();
319 EXPECT_TRUE(VerifyBlackRect(*canvas, kInnerX, kInnerY, kInnerW, kInnerH)); 319 EXPECT_TRUE(VerifyBlackRect(*canvas, kInnerX, kInnerY, kInnerW, kInnerH));
320 } 320 }
321 321
322 // Test that translation + make layer works properly. 322 // Test that translation + make layer works properly.
323 TEST(PlatformCanvas, TranslateLayer) { 323 TEST(PlatformCanvas, TranslateLayer) {
324 // Create the canvas initialized to opaque white. 324 // Create the canvas initialized to opaque white.
325 std::unique_ptr<SkCanvas> canvas = CreatePlatformCanvas(16, 16, true); 325 sk_sp<SkCanvas> canvas(CreatePlatformCanvas(16, 16, true));
326 326
327 // Make a layer and fill it completely to make sure that the bounds are 327 // Make a layer and fill it completely to make sure that the bounds are
328 // correct. 328 // correct.
329 canvas->drawColor(SK_ColorWHITE); 329 canvas->drawColor(SK_ColorWHITE);
330 canvas->save(); 330 canvas->save();
331 canvas->translate(1, 1); 331 canvas->translate(1, 1);
332 { 332 {
333 LayerSaver layer(*canvas, kLayerX, kLayerY, kLayerW, kLayerH); 333 LayerSaver layer(*canvas, kLayerX, kLayerY, kLayerW, kLayerH);
334 DrawNativeRect(*canvas, 0, 0, 100, 100); 334 DrawNativeRect(*canvas, 0, 0, 100, 100);
335 MakeOpaque(canvas.get(), 0, 0, 100, 100); 335 MakeOpaque(canvas.get(), 0, 0, 100, 100);
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 DrawNativeRect(*canvas, 0, 0, 100, 100); 403 DrawNativeRect(*canvas, 0, 0, 100, 100);
404 MakeOpaque(canvas.get(), kLayerX, kLayerY, kLayerW, kLayerH); 404 MakeOpaque(canvas.get(), kLayerX, kLayerY, kLayerW, kLayerH);
405 } 405 }
406 canvas->restore(); 406 canvas->restore();
407 EXPECT_TRUE(VerifyRoundedRect(*canvas, SK_ColorWHITE, SK_ColorBLACK, 407 EXPECT_TRUE(VerifyRoundedRect(*canvas, SK_ColorWHITE, SK_ColorBLACK,
408 kInnerX + 1, kInnerY + 1, kInnerW, kInnerH)); 408 kInnerX + 1, kInnerY + 1, kInnerW, kInnerH));
409 #endif 409 #endif
410 } 410 }
411 411
412 } // namespace skia 412 } // namespace skia
OLDNEW
« no previous file with comments | « skia/ext/platform_canvas.cc ('k') | skia/ext/skia_utils_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698