| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "base/compiler_specific.h" | 5 #include "base/compiler_specific.h" |
| 6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
| 7 #include "cc/test/geometry_test_utils.h" | 7 #include "cc/test/geometry_test_utils.h" |
| 8 #include "skia/ext/pixel_ref_utils.h" | 8 #include "skia/ext/pixel_ref_utils.h" |
| 9 #include "skia/ext/refptr.h" | 9 #include "skia/ext/refptr.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 SkPoint points[3]; | 176 SkPoint points[3]; |
| 177 points[0].set(10, 10); | 177 points[0].set(10, 10); |
| 178 points[1].set(100, 20); | 178 points[1].set(100, 20); |
| 179 points[2].set(50, 100); | 179 points[2].set(50, 100); |
| 180 // (10, 10, 90, 90). | 180 // (10, 10, 90, 90). |
| 181 canvas->drawPoints(SkCanvas::kPolygon_PointMode, 3, points, first_paint); | 181 canvas->drawPoints(SkCanvas::kPolygon_PointMode, 3, points, first_paint); |
| 182 | 182 |
| 183 canvas->save(); | 183 canvas->save(); |
| 184 | 184 |
| 185 canvas->clipRect(SkRect::MakeWH(50, 50)); | 185 canvas->clipRect(SkRect::MakeWH(50, 50)); |
| 186 // (10, 10, 40, 40). | 186 // (10, 10, 90, 90). |
| 187 canvas->drawPoints(SkCanvas::kPolygon_PointMode, 3, points, second_paint); | 187 canvas->drawPoints(SkCanvas::kPolygon_PointMode, 3, points, second_paint); |
| 188 | 188 |
| 189 canvas->restore(); | 189 canvas->restore(); |
| 190 | 190 |
| 191 points[0].set(50, 55); | 191 points[0].set(50, 55); |
| 192 points[1].set(50, 55); | 192 points[1].set(50, 55); |
| 193 points[2].set(200, 200); | 193 points[2].set(200, 200); |
| 194 // (50, 55, 150, 145). | 194 // (50, 55, 150, 145). |
| 195 canvas->drawPoints(SkCanvas::kPolygon_PointMode, 3, points, third_paint); | 195 canvas->drawPoints(SkCanvas::kPolygon_PointMode, 3, points, third_paint); |
| 196 | 196 |
| 197 skia::RefPtr<SkPicture> picture = | 197 skia::RefPtr<SkPicture> picture = |
| 198 skia::AdoptRef(StopRecording(&recorder, canvas)); | 198 skia::AdoptRef(StopRecording(&recorder, canvas)); |
| 199 | 199 |
| 200 std::vector<skia::PixelRefUtils::PositionPixelRef> pixel_refs; | 200 std::vector<skia::PixelRefUtils::PositionPixelRef> pixel_refs; |
| 201 skia::PixelRefUtils::GatherDiscardablePixelRefs(picture.get(), &pixel_refs); | 201 skia::PixelRefUtils::GatherDiscardablePixelRefs(picture.get(), &pixel_refs); |
| 202 | 202 |
| 203 EXPECT_EQ(3u, pixel_refs.size()); | 203 EXPECT_EQ(3u, pixel_refs.size()); |
| 204 EXPECT_FLOAT_RECT_EQ(gfx::RectF(10, 10, 90, 90), | 204 EXPECT_FLOAT_RECT_EQ(gfx::RectF(10, 10, 90, 90), |
| 205 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect)); | 205 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect)); |
| 206 VerifyScales(1.f, 1.f, pixel_refs[0].matrix, __LINE__); | 206 VerifyScales(1.f, 1.f, pixel_refs[0].matrix, __LINE__); |
| 207 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[0].filter_quality); | 207 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[0].filter_quality); |
| 208 EXPECT_FLOAT_RECT_EQ(gfx::RectF(10, 10, 40, 40), | 208 EXPECT_FLOAT_RECT_EQ(gfx::RectF(10, 10, 90, 90), |
| 209 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect)); | 209 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect)); |
| 210 VerifyScales(1.f, 1.f, pixel_refs[1].matrix, __LINE__); | 210 VerifyScales(1.f, 1.f, pixel_refs[1].matrix, __LINE__); |
| 211 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[1].filter_quality); | 211 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[1].filter_quality); |
| 212 EXPECT_FLOAT_RECT_EQ(gfx::RectF(50, 55, 150, 145), | 212 EXPECT_FLOAT_RECT_EQ(gfx::RectF(50, 55, 150, 145), |
| 213 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect)); | 213 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect)); |
| 214 VerifyScales(1.f, 1.f, pixel_refs[2].matrix, __LINE__); | 214 VerifyScales(1.f, 1.f, pixel_refs[2].matrix, __LINE__); |
| 215 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[2].filter_quality); | 215 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[2].filter_quality); |
| 216 } | 216 } |
| 217 | 217 |
| 218 TEST(PixelRefUtilsTest, DrawRect) { | 218 TEST(PixelRefUtilsTest, DrawRect) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 239 canvas->save(); | 239 canvas->save(); |
| 240 | 240 |
| 241 canvas->translate(5, 17); | 241 canvas->translate(5, 17); |
| 242 // (5, 50, 25, 35) | 242 // (5, 50, 25, 35) |
| 243 canvas->drawRect(SkRect::MakeXYWH(0, 33, 25, 35), second_paint); | 243 canvas->drawRect(SkRect::MakeXYWH(0, 33, 25, 35), second_paint); |
| 244 | 244 |
| 245 canvas->restore(); | 245 canvas->restore(); |
| 246 | 246 |
| 247 canvas->clipRect(SkRect::MakeXYWH(50, 50, 50, 50)); | 247 canvas->clipRect(SkRect::MakeXYWH(50, 50, 50, 50)); |
| 248 canvas->translate(20, 20); | 248 canvas->translate(20, 20); |
| 249 // (50, 50, 50, 50) | 249 // (20, 20, 100, 100) |
| 250 canvas->drawRect(SkRect::MakeXYWH(0, 0, 100, 100), third_paint); | 250 canvas->drawRect(SkRect::MakeXYWH(0, 0, 100, 100), third_paint); |
| 251 | 251 |
| 252 skia::RefPtr<SkPicture> picture = | 252 skia::RefPtr<SkPicture> picture = |
| 253 skia::AdoptRef(StopRecording(&recorder, canvas)); | 253 skia::AdoptRef(StopRecording(&recorder, canvas)); |
| 254 | 254 |
| 255 std::vector<skia::PixelRefUtils::PositionPixelRef> pixel_refs; | 255 std::vector<skia::PixelRefUtils::PositionPixelRef> pixel_refs; |
| 256 skia::PixelRefUtils::GatherDiscardablePixelRefs(picture.get(), &pixel_refs); | 256 skia::PixelRefUtils::GatherDiscardablePixelRefs(picture.get(), &pixel_refs); |
| 257 | 257 |
| 258 EXPECT_EQ(3u, pixel_refs.size()); | 258 EXPECT_EQ(3u, pixel_refs.size()); |
| 259 EXPECT_FLOAT_RECT_EQ(gfx::RectF(10, 20, 30, 40), | 259 EXPECT_FLOAT_RECT_EQ(gfx::RectF(10, 20, 30, 40), |
| 260 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect)); | 260 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect)); |
| 261 VerifyScales(1.f, 1.f, pixel_refs[0].matrix, __LINE__); | 261 VerifyScales(1.f, 1.f, pixel_refs[0].matrix, __LINE__); |
| 262 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[0].filter_quality); | 262 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[0].filter_quality); |
| 263 EXPECT_FLOAT_RECT_EQ(gfx::RectF(5, 50, 25, 35), | 263 EXPECT_FLOAT_RECT_EQ(gfx::RectF(5, 50, 25, 35), |
| 264 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect)); | 264 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect)); |
| 265 VerifyScales(1.f, 1.f, pixel_refs[1].matrix, __LINE__); | 265 VerifyScales(1.f, 1.f, pixel_refs[1].matrix, __LINE__); |
| 266 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[1].filter_quality); | 266 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[1].filter_quality); |
| 267 EXPECT_FLOAT_RECT_EQ(gfx::RectF(50, 50, 50, 50), | 267 EXPECT_FLOAT_RECT_EQ(gfx::RectF(20, 20, 100, 100), |
| 268 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect)); | 268 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect)); |
| 269 VerifyScales(1.f, 1.f, pixel_refs[2].matrix, __LINE__); | 269 VerifyScales(1.f, 1.f, pixel_refs[2].matrix, __LINE__); |
| 270 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[2].filter_quality); | 270 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[2].filter_quality); |
| 271 } | 271 } |
| 272 | 272 |
| 273 TEST(PixelRefUtilsTest, DrawRRect) { | 273 TEST(PixelRefUtilsTest, DrawRRect) { |
| 274 gfx::Rect layer_rect(0, 0, 256, 256); | 274 gfx::Rect layer_rect(0, 0, 256, 256); |
| 275 | 275 |
| 276 SkPictureRecorder recorder; | 276 SkPictureRecorder recorder; |
| 277 SkCanvas* canvas = StartRecording(&recorder, layer_rect); | 277 SkCanvas* canvas = StartRecording(&recorder, layer_rect); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 299 canvas->translate(5, 17); | 299 canvas->translate(5, 17); |
| 300 rrect.setRect(SkRect::MakeXYWH(0, 33, 25, 35)); | 300 rrect.setRect(SkRect::MakeXYWH(0, 33, 25, 35)); |
| 301 // (5, 50, 25, 35) | 301 // (5, 50, 25, 35) |
| 302 canvas->drawRRect(rrect, second_paint); | 302 canvas->drawRRect(rrect, second_paint); |
| 303 | 303 |
| 304 canvas->restore(); | 304 canvas->restore(); |
| 305 | 305 |
| 306 canvas->clipRect(SkRect::MakeXYWH(50, 50, 50, 50)); | 306 canvas->clipRect(SkRect::MakeXYWH(50, 50, 50, 50)); |
| 307 canvas->translate(20, 20); | 307 canvas->translate(20, 20); |
| 308 rrect.setRect(SkRect::MakeXYWH(0, 0, 100, 100)); | 308 rrect.setRect(SkRect::MakeXYWH(0, 0, 100, 100)); |
| 309 // (50, 50, 50, 50) | 309 // (20, 20, 100, 100) |
| 310 canvas->drawRRect(rrect, third_paint); | 310 canvas->drawRRect(rrect, third_paint); |
| 311 | 311 |
| 312 skia::RefPtr<SkPicture> picture = | 312 skia::RefPtr<SkPicture> picture = |
| 313 skia::AdoptRef(StopRecording(&recorder, canvas)); | 313 skia::AdoptRef(StopRecording(&recorder, canvas)); |
| 314 | 314 |
| 315 std::vector<skia::PixelRefUtils::PositionPixelRef> pixel_refs; | 315 std::vector<skia::PixelRefUtils::PositionPixelRef> pixel_refs; |
| 316 skia::PixelRefUtils::GatherDiscardablePixelRefs(picture.get(), &pixel_refs); | 316 skia::PixelRefUtils::GatherDiscardablePixelRefs(picture.get(), &pixel_refs); |
| 317 | 317 |
| 318 EXPECT_EQ(3u, pixel_refs.size()); | 318 EXPECT_EQ(3u, pixel_refs.size()); |
| 319 EXPECT_FLOAT_RECT_EQ(gfx::RectF(10, 20, 30, 40), | 319 EXPECT_FLOAT_RECT_EQ(gfx::RectF(10, 20, 30, 40), |
| 320 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect)); | 320 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect)); |
| 321 VerifyScales(1.f, 1.f, pixel_refs[0].matrix, __LINE__); | 321 VerifyScales(1.f, 1.f, pixel_refs[0].matrix, __LINE__); |
| 322 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[0].filter_quality); | 322 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[0].filter_quality); |
| 323 EXPECT_FLOAT_RECT_EQ(gfx::RectF(5, 50, 25, 35), | 323 EXPECT_FLOAT_RECT_EQ(gfx::RectF(5, 50, 25, 35), |
| 324 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect)); | 324 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect)); |
| 325 VerifyScales(1.f, 1.f, pixel_refs[1].matrix, __LINE__); | 325 VerifyScales(1.f, 1.f, pixel_refs[1].matrix, __LINE__); |
| 326 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[1].filter_quality); | 326 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[1].filter_quality); |
| 327 EXPECT_FLOAT_RECT_EQ(gfx::RectF(50, 50, 50, 50), | 327 EXPECT_FLOAT_RECT_EQ(gfx::RectF(20, 20, 100, 100), |
| 328 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect)); | 328 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect)); |
| 329 VerifyScales(1.f, 1.f, pixel_refs[2].matrix, __LINE__); | 329 VerifyScales(1.f, 1.f, pixel_refs[2].matrix, __LINE__); |
| 330 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[2].filter_quality); | 330 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[2].filter_quality); |
| 331 } | 331 } |
| 332 | 332 |
| 333 TEST(PixelRefUtilsTest, DrawOval) { | 333 TEST(PixelRefUtilsTest, DrawOval) { |
| 334 gfx::Rect layer_rect(0, 0, 256, 256); | 334 gfx::Rect layer_rect(0, 0, 256, 256); |
| 335 | 335 |
| 336 SkPictureRecorder recorder; | 336 SkPictureRecorder recorder; |
| 337 SkCanvas* canvas = StartRecording(&recorder, layer_rect); | 337 SkCanvas* canvas = StartRecording(&recorder, layer_rect); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 358 canvas->save(); | 358 canvas->save(); |
| 359 | 359 |
| 360 canvas->translate(1, 2); | 360 canvas->translate(1, 2); |
| 361 // (1, 35, 25, 35) | 361 // (1, 35, 25, 35) |
| 362 canvas->drawRect(SkRect::MakeXYWH(0, 33, 25, 35), second_paint); | 362 canvas->drawRect(SkRect::MakeXYWH(0, 33, 25, 35), second_paint); |
| 363 | 363 |
| 364 canvas->restore(); | 364 canvas->restore(); |
| 365 | 365 |
| 366 canvas->clipRect(SkRect::MakeXYWH(50, 50, 50, 50)); | 366 canvas->clipRect(SkRect::MakeXYWH(50, 50, 50, 50)); |
| 367 canvas->translate(20, 20); | 367 canvas->translate(20, 20); |
| 368 // (50, 50, 50, 50) | 368 // (20, 20, 100, 100). |
| 369 canvas->drawRect(SkRect::MakeXYWH(0, 0, 100, 100), third_paint); | 369 canvas->drawRect(SkRect::MakeXYWH(0, 0, 100, 100), third_paint); |
| 370 | 370 |
| 371 skia::RefPtr<SkPicture> picture = | 371 skia::RefPtr<SkPicture> picture = |
| 372 skia::AdoptRef(StopRecording(&recorder, canvas)); | 372 skia::AdoptRef(StopRecording(&recorder, canvas)); |
| 373 | 373 |
| 374 std::vector<skia::PixelRefUtils::PositionPixelRef> pixel_refs; | 374 std::vector<skia::PixelRefUtils::PositionPixelRef> pixel_refs; |
| 375 skia::PixelRefUtils::GatherDiscardablePixelRefs(picture.get(), &pixel_refs); | 375 skia::PixelRefUtils::GatherDiscardablePixelRefs(picture.get(), &pixel_refs); |
| 376 | 376 |
| 377 EXPECT_EQ(3u, pixel_refs.size()); | 377 EXPECT_EQ(3u, pixel_refs.size()); |
| 378 EXPECT_FLOAT_RECT_EQ(gfx::RectF(20, 10, 60, 20), | 378 EXPECT_FLOAT_RECT_EQ(gfx::RectF(20, 10, 60, 20), |
| 379 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect)); | 379 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect)); |
| 380 VerifyScales(2.f, 0.5f, pixel_refs[0].matrix, __LINE__); | 380 VerifyScales(2.f, 0.5f, pixel_refs[0].matrix, __LINE__); |
| 381 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[0].filter_quality); | 381 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[0].filter_quality); |
| 382 EXPECT_FLOAT_RECT_EQ(gfx::RectF(1, 35, 25, 35), | 382 EXPECT_FLOAT_RECT_EQ(gfx::RectF(1, 35, 25, 35), |
| 383 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect)); | 383 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect)); |
| 384 VerifyScales(1.f, 1.f, pixel_refs[1].matrix, __LINE__); | 384 VerifyScales(1.f, 1.f, pixel_refs[1].matrix, __LINE__); |
| 385 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[1].filter_quality); | 385 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[1].filter_quality); |
| 386 EXPECT_FLOAT_RECT_EQ(gfx::RectF(50, 50, 50, 50), | 386 EXPECT_FLOAT_RECT_EQ(gfx::RectF(20, 20, 100, 100), |
| 387 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect)); | 387 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect)); |
| 388 VerifyScales(1.f, 1.f, pixel_refs[2].matrix, __LINE__); | 388 VerifyScales(1.f, 1.f, pixel_refs[2].matrix, __LINE__); |
| 389 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[2].filter_quality); | 389 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[2].filter_quality); |
| 390 } | 390 } |
| 391 | 391 |
| 392 TEST(PixelRefUtilsTest, DrawPath) { | 392 TEST(PixelRefUtilsTest, DrawPath) { |
| 393 gfx::Rect layer_rect(0, 0, 256, 256); | 393 gfx::Rect layer_rect(0, 0, 256, 256); |
| 394 | 394 |
| 395 SkPictureRecorder recorder; | 395 SkPictureRecorder recorder; |
| 396 SkCanvas* canvas = StartRecording(&recorder, layer_rect); | 396 SkCanvas* canvas = StartRecording(&recorder, layer_rect); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 407 path.moveTo(12, 13); | 407 path.moveTo(12, 13); |
| 408 path.lineTo(50, 50); | 408 path.lineTo(50, 50); |
| 409 path.lineTo(22, 101); | 409 path.lineTo(22, 101); |
| 410 | 410 |
| 411 // (12, 13, 38, 88). | 411 // (12, 13, 38, 88). |
| 412 canvas->drawPath(path, first_paint); | 412 canvas->drawPath(path, first_paint); |
| 413 | 413 |
| 414 canvas->save(); | 414 canvas->save(); |
| 415 canvas->clipRect(SkRect::MakeWH(50, 50)); | 415 canvas->clipRect(SkRect::MakeWH(50, 50)); |
| 416 | 416 |
| 417 // (12, 13, 38, 37). | 417 // (12, 13, 38, 88), since clips are ignored as long as the shape is in the |
| 418 // clip. |
| 418 canvas->drawPath(path, second_paint); | 419 canvas->drawPath(path, second_paint); |
| 419 | 420 |
| 420 canvas->restore(); | 421 canvas->restore(); |
| 421 | 422 |
| 422 skia::RefPtr<SkPicture> picture = | 423 skia::RefPtr<SkPicture> picture = |
| 423 skia::AdoptRef(StopRecording(&recorder, canvas)); | 424 skia::AdoptRef(StopRecording(&recorder, canvas)); |
| 424 | 425 |
| 425 std::vector<skia::PixelRefUtils::PositionPixelRef> pixel_refs; | 426 std::vector<skia::PixelRefUtils::PositionPixelRef> pixel_refs; |
| 426 skia::PixelRefUtils::GatherDiscardablePixelRefs(picture.get(), &pixel_refs); | 427 skia::PixelRefUtils::GatherDiscardablePixelRefs(picture.get(), &pixel_refs); |
| 427 | 428 |
| 428 EXPECT_EQ(2u, pixel_refs.size()); | 429 EXPECT_EQ(2u, pixel_refs.size()); |
| 429 EXPECT_FLOAT_RECT_EQ(gfx::RectF(12, 13, 38, 88), | 430 EXPECT_FLOAT_RECT_EQ(gfx::RectF(12, 13, 38, 88), |
| 430 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect)); | 431 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect)); |
| 431 VerifyScales(1.f, 1.f, pixel_refs[0].matrix, __LINE__); | 432 VerifyScales(1.f, 1.f, pixel_refs[0].matrix, __LINE__); |
| 432 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[0].filter_quality); | 433 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[0].filter_quality); |
| 433 EXPECT_FLOAT_RECT_EQ(gfx::RectF(12, 13, 38, 37), | 434 EXPECT_FLOAT_RECT_EQ(gfx::RectF(12, 13, 38, 88), |
| 434 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect)); | 435 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect)); |
| 435 VerifyScales(1.f, 1.f, pixel_refs[1].matrix, __LINE__); | 436 VerifyScales(1.f, 1.f, pixel_refs[1].matrix, __LINE__); |
| 436 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[1].filter_quality); | 437 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[1].filter_quality); |
| 437 } | 438 } |
| 438 | 439 |
| 439 TEST(PixelRefUtilsTest, DrawBitmap) { | 440 TEST(PixelRefUtilsTest, DrawBitmap) { |
| 440 gfx::Rect layer_rect(0, 0, 256, 256); | 441 gfx::Rect layer_rect(0, 0, 256, 256); |
| 441 | 442 |
| 442 SkPictureRecorder recorder; | 443 SkPictureRecorder recorder; |
| 443 SkCanvas* canvas = StartRecording(&recorder, layer_rect); | 444 SkCanvas* canvas = StartRecording(&recorder, layer_rect); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 510 VerifyScales(1.f, 1.f, pixel_refs[2].matrix, __LINE__); | 511 VerifyScales(1.f, 1.f, pixel_refs[2].matrix, __LINE__); |
| 511 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[2].filter_quality); | 512 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[2].filter_quality); |
| 512 EXPECT_FLOAT_RECT_EQ(gfx::RectF(0, 0, 1, 50), | 513 EXPECT_FLOAT_RECT_EQ(gfx::RectF(0, 0, 1, 50), |
| 513 gfx::SkRectToRectF(pixel_refs[3].pixel_ref_rect)); | 514 gfx::SkRectToRectF(pixel_refs[3].pixel_ref_rect)); |
| 514 VerifyScales(1.f, 1.f, pixel_refs[3].matrix, __LINE__); | 515 VerifyScales(1.f, 1.f, pixel_refs[3].matrix, __LINE__); |
| 515 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[3].filter_quality); | 516 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[3].filter_quality); |
| 516 EXPECT_FLOAT_RECT_EQ(gfx::RectF(0, 0, 50, 60), | 517 EXPECT_FLOAT_RECT_EQ(gfx::RectF(0, 0, 50, 60), |
| 517 gfx::SkRectToRectF(pixel_refs[4].pixel_ref_rect)); | 518 gfx::SkRectToRectF(pixel_refs[4].pixel_ref_rect)); |
| 518 VerifyScales(5.f, 6.f, pixel_refs[4].matrix, __LINE__); | 519 VerifyScales(5.f, 6.f, pixel_refs[4].matrix, __LINE__); |
| 519 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[4].filter_quality); | 520 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[4].filter_quality); |
| 520 EXPECT_FLOAT_RECT_EQ(gfx::RectF(0, 0, 29.403214f, 18.545712f), | 521 EXPECT_FLOAT_RECT_EQ(gfx::RectF(-1.8159621f, 0, 31.219175f, 18.545712f), |
| 521 gfx::SkRectToRectF(pixel_refs[5].pixel_ref_rect)); | 522 gfx::SkRectToRectF(pixel_refs[5].pixel_ref_rect)); |
| 522 VerifyScales(3.3f, 0.4f, pixel_refs[5].matrix, __LINE__); | 523 VerifyScales(3.3f, 0.4f, pixel_refs[5].matrix, __LINE__); |
| 523 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[5].filter_quality); | 524 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[5].filter_quality); |
| 524 } | 525 } |
| 525 | 526 |
| 526 TEST(PixelRefUtilsTest, DrawBitmapRect) { | 527 TEST(PixelRefUtilsTest, DrawBitmapRect) { |
| 527 gfx::Rect layer_rect(0, 0, 256, 256); | 528 gfx::Rect layer_rect(0, 0, 256, 256); |
| 528 | 529 |
| 529 SkPictureRecorder recorder; | 530 SkPictureRecorder recorder; |
| 530 SkCanvas* canvas = StartRecording(&recorder, layer_rect); | 531 SkCanvas* canvas = StartRecording(&recorder, layer_rect); |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 730 points, | 731 points, |
| 731 colors, | 732 colors, |
| 732 NULL, | 733 NULL, |
| 733 indecies, | 734 indecies, |
| 734 3, | 735 3, |
| 735 first_paint); | 736 first_paint); |
| 736 | 737 |
| 737 canvas->save(); | 738 canvas->save(); |
| 738 | 739 |
| 739 canvas->clipRect(SkRect::MakeWH(50, 50)); | 740 canvas->clipRect(SkRect::MakeWH(50, 50)); |
| 740 // (10, 10, 40, 40). | 741 // (10, 10, 90, 90), since clips are ignored as long as the draw object is |
| 742 // within clip. |
| 741 canvas->drawVertices(SkCanvas::kTriangles_VertexMode, | 743 canvas->drawVertices(SkCanvas::kTriangles_VertexMode, |
| 742 3, | 744 3, |
| 743 points, | 745 points, |
| 744 points, | 746 points, |
| 745 colors, | 747 colors, |
| 746 NULL, | 748 NULL, |
| 747 indecies, | 749 indecies, |
| 748 3, | 750 3, |
| 749 second_paint); | 751 second_paint); |
| 750 | 752 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 768 skia::AdoptRef(StopRecording(&recorder, canvas)); | 770 skia::AdoptRef(StopRecording(&recorder, canvas)); |
| 769 | 771 |
| 770 std::vector<skia::PixelRefUtils::PositionPixelRef> pixel_refs; | 772 std::vector<skia::PixelRefUtils::PositionPixelRef> pixel_refs; |
| 771 skia::PixelRefUtils::GatherDiscardablePixelRefs(picture.get(), &pixel_refs); | 773 skia::PixelRefUtils::GatherDiscardablePixelRefs(picture.get(), &pixel_refs); |
| 772 | 774 |
| 773 EXPECT_EQ(3u, pixel_refs.size()); | 775 EXPECT_EQ(3u, pixel_refs.size()); |
| 774 EXPECT_FLOAT_RECT_EQ(gfx::RectF(10, 10, 90, 90), | 776 EXPECT_FLOAT_RECT_EQ(gfx::RectF(10, 10, 90, 90), |
| 775 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect)); | 777 gfx::SkRectToRectF(pixel_refs[0].pixel_ref_rect)); |
| 776 VerifyScales(1.f, 1.f, pixel_refs[0].matrix, __LINE__); | 778 VerifyScales(1.f, 1.f, pixel_refs[0].matrix, __LINE__); |
| 777 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[0].filter_quality); | 779 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[0].filter_quality); |
| 778 EXPECT_FLOAT_RECT_EQ(gfx::RectF(10, 10, 40, 40), | 780 EXPECT_FLOAT_RECT_EQ(gfx::RectF(10, 10, 90, 90), |
| 779 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect)); | 781 gfx::SkRectToRectF(pixel_refs[1].pixel_ref_rect)); |
| 780 VerifyScales(1.f, 1.f, pixel_refs[1].matrix, __LINE__); | 782 VerifyScales(1.f, 1.f, pixel_refs[1].matrix, __LINE__); |
| 781 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[1].filter_quality); | 783 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[1].filter_quality); |
| 782 EXPECT_FLOAT_RECT_EQ(gfx::RectF(50, 55, 150, 145), | 784 EXPECT_FLOAT_RECT_EQ(gfx::RectF(50, 55, 150, 145), |
| 783 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect)); | 785 gfx::SkRectToRectF(pixel_refs[2].pixel_ref_rect)); |
| 784 VerifyScales(1.f, 1.f, pixel_refs[2].matrix, __LINE__); | 786 VerifyScales(1.f, 1.f, pixel_refs[2].matrix, __LINE__); |
| 785 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[2].filter_quality); | 787 EXPECT_EQ(kNone_SkFilterQuality, pixel_refs[2].filter_quality); |
| 786 } | 788 } |
| 787 | 789 |
| 788 } // namespace skia | 790 } // namespace skia |
| OLD | NEW |