| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2003, 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2003, 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2013 Google Inc. All rights reserved. | 3 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 return empty_paint_record; | 291 return empty_paint_record; |
| 292 } | 292 } |
| 293 | 293 |
| 294 sk_sp<PaintRecord> record = paint_recorder_.finishRecordingAsPicture(); | 294 sk_sp<PaintRecord> record = paint_recorder_.finishRecordingAsPicture(); |
| 295 canvas_ = nullptr; | 295 canvas_ = nullptr; |
| 296 DCHECK(record); | 296 DCHECK(record); |
| 297 return record; | 297 return record; |
| 298 } | 298 } |
| 299 | 299 |
| 300 void GraphicsContext::DrawRecord(sk_sp<const PaintRecord> record) { | 300 void GraphicsContext::DrawRecord(sk_sp<const PaintRecord> record) { |
| 301 if (ContextDisabled() || !record || !record->size()) | 301 if (ContextDisabled() || !record || record->cullRect().isEmpty()) |
| 302 return; | 302 return; |
| 303 | 303 |
| 304 DCHECK(canvas_); | 304 DCHECK(canvas_); |
| 305 canvas_->drawPicture(std::move(record)); | 305 canvas_->drawPicture(std::move(record)); |
| 306 } | 306 } |
| 307 | 307 |
| 308 void GraphicsContext::CompositeRecord(sk_sp<PaintRecord> record, | 308 void GraphicsContext::CompositeRecord(sk_sp<PaintRecord> record, |
| 309 const FloatRect& dest, | 309 const FloatRect& dest, |
| 310 const FloatRect& src, | 310 const FloatRect& src, |
| 311 SkBlendMode op) { | 311 SkBlendMode op) { |
| 312 if (ContextDisabled() || !record) | 312 if (ContextDisabled() || !record) |
| 313 return; | 313 return; |
| 314 DCHECK(canvas_); | 314 DCHECK(canvas_); |
| 315 | 315 |
| 316 PaintFlags flags; | 316 PaintFlags flags; |
| 317 flags.setBlendMode(op); | 317 flags.setBlendMode(op); |
| 318 canvas_->save(); | 318 canvas_->save(); |
| 319 SkRect source_bounds = src; | 319 SkRect source_bounds = src; |
| 320 SkRect sk_bounds = dest; | 320 SkRect sk_bounds = dest; |
| 321 SkMatrix transform; | 321 SkMatrix transform; |
| 322 transform.setRectToRect(source_bounds, sk_bounds, SkMatrix::kFill_ScaleToFit); | 322 transform.setRectToRect(source_bounds, sk_bounds, SkMatrix::kFill_ScaleToFit); |
| 323 canvas_->concat(transform); | 323 canvas_->concat(transform); |
| 324 flags.setImageFilter(SkPictureImageFilter::MakeForLocalSpace( | 324 flags.setImageFilter(SkPictureImageFilter::MakeForLocalSpace( |
| 325 ToSkPicture(record, source_bounds), source_bounds, | 325 ToSkPicture(record), source_bounds, |
| 326 static_cast<SkFilterQuality>(ImageInterpolationQuality()))); | 326 static_cast<SkFilterQuality>(ImageInterpolationQuality()))); |
| 327 canvas_->saveLayer(&source_bounds, &flags); | 327 canvas_->saveLayer(&source_bounds, &flags); |
| 328 canvas_->restore(); | 328 canvas_->restore(); |
| 329 canvas_->restore(); | 329 canvas_->restore(); |
| 330 } | 330 } |
| 331 | 331 |
| 332 namespace { | 332 namespace { |
| 333 | 333 |
| 334 int AdjustedFocusRingOffset(int offset) { | 334 int AdjustedFocusRingOffset(int offset) { |
| 335 #if OS(MACOSX) | 335 #if OS(MACOSX) |
| (...skipping 935 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1271 break; | 1271 break; |
| 1272 default: | 1272 default: |
| 1273 NOTREACHED(); | 1273 NOTREACHED(); |
| 1274 break; | 1274 break; |
| 1275 } | 1275 } |
| 1276 | 1276 |
| 1277 return nullptr; | 1277 return nullptr; |
| 1278 } | 1278 } |
| 1279 | 1279 |
| 1280 } // namespace blink | 1280 } // namespace blink |
| OLD | NEW |