| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 #include "cc/resources/picture.h" | 5 #include "cc/resources/picture.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <set> | 9 #include <set> |
| 10 | 10 |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 SkCanvas* canvas = picture_->beginRecording( | 201 SkCanvas* canvas = picture_->beginRecording( |
| 202 layer_rect_.width(), | 202 layer_rect_.width(), |
| 203 layer_rect_.height(), | 203 layer_rect_.height(), |
| 204 SkPicture::kUsePathBoundsForClip_RecordingFlag | | 204 SkPicture::kUsePathBoundsForClip_RecordingFlag | |
| 205 SkPicture::kOptimizeForClippedPlayback_RecordingFlag); | 205 SkPicture::kOptimizeForClippedPlayback_RecordingFlag); |
| 206 | 206 |
| 207 canvas->save(); | 207 canvas->save(); |
| 208 canvas->translate(SkFloatToScalar(-layer_rect_.x()), | 208 canvas->translate(SkFloatToScalar(-layer_rect_.x()), |
| 209 SkFloatToScalar(-layer_rect_.y())); | 209 SkFloatToScalar(-layer_rect_.y())); |
| 210 | 210 |
| 211 SkPaint paint; | |
| 212 paint.setAntiAlias(false); | |
| 213 paint.setXfermodeMode(SkXfermode::kClear_Mode); | |
| 214 SkRect layer_skrect = SkRect::MakeXYWH(layer_rect_.x(), | 211 SkRect layer_skrect = SkRect::MakeXYWH(layer_rect_.x(), |
| 215 layer_rect_.y(), | 212 layer_rect_.y(), |
| 216 layer_rect_.width(), | 213 layer_rect_.width(), |
| 217 layer_rect_.height()); | 214 layer_rect_.height()); |
| 218 canvas->clipRect(layer_skrect); | 215 canvas->clipRect(layer_skrect); |
| 219 canvas->drawRect(layer_skrect, paint); | |
| 220 | 216 |
| 221 gfx::RectF opaque_layer_rect; | 217 gfx::RectF opaque_layer_rect; |
| 222 base::TimeTicks begin_record_time; | 218 base::TimeTicks begin_record_time; |
| 223 if (stats) | 219 if (stats) |
| 224 begin_record_time = base::TimeTicks::Now(); | 220 begin_record_time = base::TimeTicks::Now(); |
| 225 painter->PaintContents(canvas, layer_rect_, &opaque_layer_rect); | 221 painter->PaintContents(canvas, layer_rect_, &opaque_layer_rect); |
| 226 if (stats) { | 222 if (stats) { |
| 227 stats->total_record_time += base::TimeTicks::Now() - begin_record_time; | 223 stats->total_record_time += base::TimeTicks::Now() - begin_record_time; |
| 228 stats->total_pixels_recorded += | 224 stats->total_pixels_recorded += |
| 229 layer_rect_.width() * layer_rect_.height(); | 225 layer_rect_.width() * layer_rect_.height(); |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 452 raster_data->Set("picture_id", TracedValue::CreateIDRef(this).release()); | 448 raster_data->Set("picture_id", TracedValue::CreateIDRef(this).release()); |
| 453 raster_data->SetDouble("scale", scale); | 449 raster_data->SetDouble("scale", scale); |
| 454 raster_data->SetDouble("rect_x", rect.x()); | 450 raster_data->SetDouble("rect_x", rect.x()); |
| 455 raster_data->SetDouble("rect_y", rect.y()); | 451 raster_data->SetDouble("rect_y", rect.y()); |
| 456 raster_data->SetDouble("rect_width", rect.width()); | 452 raster_data->SetDouble("rect_width", rect.width()); |
| 457 raster_data->SetDouble("rect_height", rect.height()); | 453 raster_data->SetDouble("rect_height", rect.height()); |
| 458 return TracedValue::FromValue(raster_data.release()); | 454 return TracedValue::FromValue(raster_data.release()); |
| 459 } | 455 } |
| 460 | 456 |
| 461 } // namespace cc | 457 } // namespace cc |
| OLD | NEW |