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 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 SkCanvas* canvas = picture_->beginRecording( | 246 SkCanvas* canvas = picture_->beginRecording( |
247 layer_rect_.width(), | 247 layer_rect_.width(), |
248 layer_rect_.height(), | 248 layer_rect_.height(), |
249 SkPicture::kUsePathBoundsForClip_RecordingFlag | | 249 SkPicture::kUsePathBoundsForClip_RecordingFlag | |
250 SkPicture::kOptimizeForClippedPlayback_RecordingFlag); | 250 SkPicture::kOptimizeForClippedPlayback_RecordingFlag); |
251 | 251 |
252 canvas->save(); | 252 canvas->save(); |
253 canvas->translate(SkFloatToScalar(-layer_rect_.x()), | 253 canvas->translate(SkFloatToScalar(-layer_rect_.x()), |
254 SkFloatToScalar(-layer_rect_.y())); | 254 SkFloatToScalar(-layer_rect_.y())); |
255 | 255 |
256 SkPaint paint; | |
257 paint.setAntiAlias(false); | |
258 paint.setXfermodeMode(SkXfermode::kClear_Mode); | |
259 SkRect layer_skrect = SkRect::MakeXYWH(layer_rect_.x(), | 256 SkRect layer_skrect = SkRect::MakeXYWH(layer_rect_.x(), |
260 layer_rect_.y(), | 257 layer_rect_.y(), |
261 layer_rect_.width(), | 258 layer_rect_.width(), |
262 layer_rect_.height()); | 259 layer_rect_.height()); |
263 canvas->clipRect(layer_skrect); | 260 canvas->clipRect(layer_skrect); |
264 canvas->drawRect(layer_skrect, paint); | |
265 | 261 |
266 gfx::RectF opaque_layer_rect; | 262 gfx::RectF opaque_layer_rect; |
267 base::TimeTicks begin_record_time; | 263 base::TimeTicks begin_record_time; |
268 if (stats) | 264 if (stats) |
269 begin_record_time = base::TimeTicks::Now(); | 265 begin_record_time = base::TimeTicks::Now(); |
270 painter->PaintContents(canvas, layer_rect_, &opaque_layer_rect); | 266 painter->PaintContents(canvas, layer_rect_, &opaque_layer_rect); |
271 if (stats) { | 267 if (stats) { |
272 stats->total_record_time += base::TimeTicks::Now() - begin_record_time; | 268 stats->total_record_time += base::TimeTicks::Now() - begin_record_time; |
273 stats->total_pixels_recorded += | 269 stats->total_pixels_recorded += |
274 layer_rect_.width() * layer_rect_.height(); | 270 layer_rect_.width() * layer_rect_.height(); |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
501 raster_data->Set("picture_id", TracedValue::CreateIDRef(this).release()); | 497 raster_data->Set("picture_id", TracedValue::CreateIDRef(this).release()); |
502 raster_data->SetDouble("scale", scale); | 498 raster_data->SetDouble("scale", scale); |
503 raster_data->SetDouble("rect_x", rect.x()); | 499 raster_data->SetDouble("rect_x", rect.x()); |
504 raster_data->SetDouble("rect_y", rect.y()); | 500 raster_data->SetDouble("rect_y", rect.y()); |
505 raster_data->SetDouble("rect_width", rect.width()); | 501 raster_data->SetDouble("rect_width", rect.width()); |
506 raster_data->SetDouble("rect_height", rect.height()); | 502 raster_data->SetDouble("rect_height", rect.height()); |
507 return TracedValue::FromValue(raster_data.release()); | 503 return TracedValue::FromValue(raster_data.release()); |
508 } | 504 } |
509 | 505 |
510 } // namespace cc | 506 } // namespace cc |
OLD | NEW |