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 "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 | 200 |
201 // Make a layer and fill it completely to make sure that the bounds are | 201 // Make a layer and fill it completely to make sure that the bounds are |
202 // correct. | 202 // correct. |
203 { | 203 { |
204 LayerSaver layer(*canvas, kLayerX, kLayerY, kLayerW, kLayerH); | 204 LayerSaver layer(*canvas, kLayerX, kLayerY, kLayerW, kLayerH); |
205 canvas->drawColor(SK_ColorBLACK); | 205 canvas->drawColor(SK_ColorBLACK); |
206 } | 206 } |
207 EXPECT_TRUE(VerifyBlackRect(*canvas, kLayerX, kLayerY, kLayerW, kLayerH)); | 207 EXPECT_TRUE(VerifyBlackRect(*canvas, kLayerX, kLayerY, kLayerW, kLayerH)); |
208 } | 208 } |
209 | 209 |
| 210 #if !defined(USE_AURA) // http://crbug.com/154358 |
| 211 |
210 // Test native clipping. | 212 // Test native clipping. |
211 TEST(PlatformCanvas, ClipRegion) { | 213 TEST(PlatformCanvas, ClipRegion) { |
212 // Initialize a white canvas | 214 // Initialize a white canvas |
213 RefPtr<SkCanvas> canvas = AdoptRef(CreatePlatformCanvas(16, 16, true)); | 215 RefPtr<SkCanvas> canvas = AdoptRef(CreatePlatformCanvas(16, 16, true)); |
214 canvas->drawColor(SK_ColorWHITE); | 216 canvas->drawColor(SK_ColorWHITE); |
215 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorWHITE)); | 217 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorWHITE)); |
216 | 218 |
217 // Test that initially the canvas has no clip region, by filling it | 219 // Test that initially the canvas has no clip region, by filling it |
218 // with a black rectangle. | 220 // with a black rectangle. |
219 // Note: Don't use LayerSaver, since internally it sets a clip region. | 221 // Note: Don't use LayerSaver, since internally it sets a clip region. |
220 DrawNativeRect(*canvas, 0, 0, 16, 16); | 222 DrawNativeRect(*canvas, 0, 0, 16, 16); |
221 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorBLACK)); | 223 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorBLACK)); |
222 | 224 |
223 // Test that intersecting disjoint clip rectangles sets an empty clip region | 225 // Test that intersecting disjoint clip rectangles sets an empty clip region |
224 canvas->drawColor(SK_ColorWHITE); | 226 canvas->drawColor(SK_ColorWHITE); |
225 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorWHITE)); | 227 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorWHITE)); |
226 { | 228 { |
227 LayerSaver layer(*canvas, 0, 0, 16, 16); | 229 LayerSaver layer(*canvas, 0, 0, 16, 16); |
228 AddClip(*canvas, 2, 3, 4, 5); | 230 AddClip(*canvas, 2, 3, 4, 5); |
229 AddClip(*canvas, 4, 9, 10, 10); | 231 AddClip(*canvas, 4, 9, 10, 10); |
230 DrawNativeRect(*canvas, 0, 0, 16, 16); | 232 DrawNativeRect(*canvas, 0, 0, 16, 16); |
231 } | 233 } |
232 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorWHITE)); | 234 EXPECT_TRUE(VerifyCanvasColor(*canvas, SK_ColorWHITE)); |
233 } | 235 } |
234 | 236 |
| 237 #endif // !defined(USE_AURA) |
| 238 |
235 // Test the layers get filled properly by native rendering. | 239 // Test the layers get filled properly by native rendering. |
236 TEST(PlatformCanvas, FillLayer) { | 240 TEST(PlatformCanvas, FillLayer) { |
237 // Create the canvas initialized to opaque white. | 241 // Create the canvas initialized to opaque white. |
238 RefPtr<SkCanvas> canvas = AdoptRef(CreatePlatformCanvas(16, 16, true)); | 242 RefPtr<SkCanvas> canvas = AdoptRef(CreatePlatformCanvas(16, 16, true)); |
239 | 243 |
240 // Make a layer and fill it completely to make sure that the bounds are | 244 // Make a layer and fill it completely to make sure that the bounds are |
241 // correct. | 245 // correct. |
242 canvas->drawColor(SK_ColorWHITE); | 246 canvas->drawColor(SK_ColorWHITE); |
243 { | 247 { |
244 LayerSaver layer(*canvas, kLayerX, kLayerY, kLayerW, kLayerH); | 248 LayerSaver layer(*canvas, kLayerX, kLayerY, kLayerW, kLayerH); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
282 LayerSaver layer(*canvas, kLayerX, kLayerY, kLayerW, kLayerH); | 286 LayerSaver layer(*canvas, kLayerX, kLayerY, kLayerW, kLayerH); |
283 DrawNativeRect(*canvas, 0, 0, 100, 100); | 287 DrawNativeRect(*canvas, 0, 0, 100, 100); |
284 #if defined(OS_WIN) | 288 #if defined(OS_WIN) |
285 MakeOpaque(canvas.get(), 0, 0, 100, 100); | 289 MakeOpaque(canvas.get(), 0, 0, 100, 100); |
286 #endif | 290 #endif |
287 } | 291 } |
288 canvas->restore(); | 292 canvas->restore(); |
289 EXPECT_TRUE(VerifyBlackRect(*canvas, kInnerX, kInnerY, kInnerW, kInnerH)); | 293 EXPECT_TRUE(VerifyBlackRect(*canvas, kInnerX, kInnerY, kInnerW, kInnerH)); |
290 } | 294 } |
291 | 295 |
| 296 #if !defined(USE_AURA) // http://crbug.com/154358 |
| 297 |
292 // Test that translation + make layer works properly. | 298 // Test that translation + make layer works properly. |
293 TEST(PlatformCanvas, TranslateLayer) { | 299 TEST(PlatformCanvas, TranslateLayer) { |
294 // Create the canvas initialized to opaque white. | 300 // Create the canvas initialized to opaque white. |
295 RefPtr<SkCanvas> canvas = AdoptRef(CreatePlatformCanvas(16, 16, true)); | 301 RefPtr<SkCanvas> canvas = AdoptRef(CreatePlatformCanvas(16, 16, true)); |
296 | 302 |
297 // Make a layer and fill it completely to make sure that the bounds are | 303 // Make a layer and fill it completely to make sure that the bounds are |
298 // correct. | 304 // correct. |
299 canvas->drawColor(SK_ColorWHITE); | 305 canvas->drawColor(SK_ColorWHITE); |
300 canvas->save(); | 306 canvas->save(); |
301 canvas->translate(1, 1); | 307 canvas->translate(1, 1); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
382 #if defined(OS_WIN) | 388 #if defined(OS_WIN) |
383 MakeOpaque(canvas.get(), kLayerX, kLayerY, kLayerW, kLayerH); | 389 MakeOpaque(canvas.get(), kLayerX, kLayerY, kLayerW, kLayerH); |
384 #endif | 390 #endif |
385 } | 391 } |
386 canvas->restore(); | 392 canvas->restore(); |
387 EXPECT_TRUE(VerifyRoundedRect(*canvas, SK_ColorWHITE, SK_ColorBLACK, | 393 EXPECT_TRUE(VerifyRoundedRect(*canvas, SK_ColorWHITE, SK_ColorBLACK, |
388 kInnerX + 1, kInnerY + 1, kInnerW, kInnerH)); | 394 kInnerX + 1, kInnerY + 1, kInnerW, kInnerH)); |
389 #endif | 395 #endif |
390 } | 396 } |
391 | 397 |
| 398 #endif // #if !defined(USE_AURA) |
| 399 |
392 TEST(PlatformBitmapTest, PlatformBitmap) { | 400 TEST(PlatformBitmapTest, PlatformBitmap) { |
393 const int kWidth = 400; | 401 const int kWidth = 400; |
394 const int kHeight = 300; | 402 const int kHeight = 300; |
395 scoped_ptr<PlatformBitmap> platform_bitmap(new PlatformBitmap); | 403 scoped_ptr<PlatformBitmap> platform_bitmap(new PlatformBitmap); |
396 | 404 |
397 EXPECT_TRUE(0 == platform_bitmap->GetSurface()); | 405 EXPECT_TRUE(0 == platform_bitmap->GetSurface()); |
398 EXPECT_TRUE(platform_bitmap->GetBitmap().empty()); | 406 EXPECT_TRUE(platform_bitmap->GetBitmap().empty()); |
399 EXPECT_TRUE(platform_bitmap->GetBitmap().isNull()); | 407 EXPECT_TRUE(platform_bitmap->GetBitmap().isNull()); |
400 | 408 |
401 EXPECT_TRUE(platform_bitmap->Allocate(kWidth, kHeight, /*is_opaque=*/false)); | 409 EXPECT_TRUE(platform_bitmap->Allocate(kWidth, kHeight, /*is_opaque=*/false)); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
442 | 450 |
443 sk_bitmap.lockPixels(); | 451 sk_bitmap.lockPixels(); |
444 EXPECT_EQ(0xDEED1020, *sk_bitmap.getAddr32(10, 20)); | 452 EXPECT_EQ(0xDEED1020, *sk_bitmap.getAddr32(10, 20)); |
445 EXPECT_EQ(0xDEED2030, *sk_bitmap.getAddr32(20, 30)); | 453 EXPECT_EQ(0xDEED2030, *sk_bitmap.getAddr32(20, 30)); |
446 EXPECT_EQ(0xDEED3040, *sk_bitmap.getAddr32(30, 40)); | 454 EXPECT_EQ(0xDEED3040, *sk_bitmap.getAddr32(30, 40)); |
447 sk_bitmap.unlockPixels(); | 455 sk_bitmap.unlockPixels(); |
448 } | 456 } |
449 | 457 |
450 | 458 |
451 } // namespace skia | 459 } // namespace skia |
OLD | NEW |