| 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 |