Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: cc/resources/picture.cc

Issue 13863015: Add flag for drawing layers to screen with Ganesh (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Base files missing. Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698