| OLD | NEW |
| 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 Loading... |
| 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 sk_sp<SkCanvas> canvas(CreatePlatformCanvas(16, 16, true)); | 236 std::unique_ptr<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 sk_sp<SkCanvas> canvas(CreatePlatformCanvas(16, 16, true)); | 251 std::unique_ptr<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 sk_sp<SkCanvas> canvas(CreatePlatformCanvas(16, 16, true)); | 276 std::unique_ptr<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 Loading... |
| 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 sk_sp<SkCanvas> canvas(CreatePlatformCanvas(16, 16, true)); | 325 std::unique_ptr<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 Loading... |
| 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 |
| OLD | NEW |