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 |