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

Side by Side Diff: cc/test/fake_content_layer_client.cc

Issue 2230513005: Move visual rect unioning between paired items to cc::DisplayItemList. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code review feedback. Created 4 years, 4 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
« no previous file with comments | « cc/playback/display_item_proto_factory.cc ('k') | cc/test/geometry_test_utils.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/test/fake_content_layer_client.h" 5 #include "cc/test/fake_content_layer_client.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "cc/playback/clip_display_item.h" 9 #include "cc/playback/clip_display_item.h"
10 #include "cc/playback/display_item_list_settings.h" 10 #include "cc/playback/display_item_list_settings.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 DisplayItemList::Create(PaintableRegion(), settings); 58 DisplayItemList::Create(PaintableRegion(), settings);
59 SkPictureRecorder recorder; 59 SkPictureRecorder recorder;
60 sk_sp<SkCanvas> canvas; 60 sk_sp<SkCanvas> canvas;
61 61
62 for (RectPaintVector::const_iterator it = draw_rects_.begin(); 62 for (RectPaintVector::const_iterator it = draw_rects_.begin();
63 it != draw_rects_.end(); ++it) { 63 it != draw_rects_.end(); ++it) {
64 const gfx::RectF& draw_rect = it->first; 64 const gfx::RectF& draw_rect = it->first;
65 const SkPaint& paint = it->second; 65 const SkPaint& paint = it->second;
66 canvas = sk_ref_sp(recorder.beginRecording(gfx::RectFToSkRect(draw_rect))); 66 canvas = sk_ref_sp(recorder.beginRecording(gfx::RectFToSkRect(draw_rect)));
67 canvas->drawRect(gfx::RectFToSkRect(draw_rect), paint); 67 canvas->drawRect(gfx::RectFToSkRect(draw_rect), paint);
68 display_list->CreateAndAppendItem<DrawingDisplayItem>( 68 display_list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
69 ToEnclosingRect(draw_rect), recorder.finishRecordingAsPicture()); 69 ToEnclosingRect(draw_rect), recorder.finishRecordingAsPicture());
70 } 70 }
71 71
72 for (ImageVector::const_iterator it = draw_images_.begin(); 72 for (ImageVector::const_iterator it = draw_images_.begin();
73 it != draw_images_.end(); ++it) { 73 it != draw_images_.end(); ++it) {
74 if (!it->transform.IsIdentity()) { 74 if (!it->transform.IsIdentity()) {
75 display_list->CreateAndAppendItem<TransformDisplayItem>(PaintableRegion(), 75 display_list->CreateAndAppendPairedBeginItem<TransformDisplayItem>(
76 it->transform); 76 it->transform);
77 } 77 }
78 canvas = sk_ref_sp( 78 canvas = sk_ref_sp(
79 recorder.beginRecording(it->image->width(), it->image->height())); 79 recorder.beginRecording(it->image->width(), it->image->height()));
80 canvas->drawImage(it->image.get(), it->point.x(), it->point.y(), 80 canvas->drawImage(it->image.get(), it->point.x(), it->point.y(),
81 &it->paint); 81 &it->paint);
82 display_list->CreateAndAppendItem<DrawingDisplayItem>( 82 display_list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
83 PaintableRegion(), recorder.finishRecordingAsPicture()); 83 PaintableRegion(), recorder.finishRecordingAsPicture());
84 if (!it->transform.IsIdentity()) { 84 if (!it->transform.IsIdentity()) {
85 display_list->CreateAndAppendItem<EndTransformDisplayItem>( 85 display_list->CreateAndAppendPairedEndItem<EndTransformDisplayItem>();
86 PaintableRegion());
87 } 86 }
88 } 87 }
89 88
90 if (fill_with_nonsolid_color_) { 89 if (fill_with_nonsolid_color_) {
91 gfx::Rect draw_rect = PaintableRegion(); 90 gfx::Rect draw_rect = PaintableRegion();
92 bool red = true; 91 bool red = true;
93 while (!draw_rect.IsEmpty()) { 92 while (!draw_rect.IsEmpty()) {
94 SkPaint paint; 93 SkPaint paint;
95 paint.setColor(red ? SK_ColorRED : SK_ColorBLUE); 94 paint.setColor(red ? SK_ColorRED : SK_ColorBLUE);
96 canvas = sk_ref_sp(recorder.beginRecording(gfx::RectToSkRect(draw_rect))); 95 canvas = sk_ref_sp(recorder.beginRecording(gfx::RectToSkRect(draw_rect)));
97 canvas->drawIRect(gfx::RectToSkIRect(draw_rect), paint); 96 canvas->drawIRect(gfx::RectToSkIRect(draw_rect), paint);
98 display_list->CreateAndAppendItem<DrawingDisplayItem>( 97 display_list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
99 draw_rect, recorder.finishRecordingAsPicture()); 98 draw_rect, recorder.finishRecordingAsPicture());
100 draw_rect.Inset(1, 1); 99 draw_rect.Inset(1, 1);
101 } 100 }
102 } 101 }
103 102
104 display_list->Finalize(); 103 display_list->Finalize();
105 return display_list; 104 return display_list;
106 } 105 }
107 106
108 bool FakeContentLayerClient::FillsBoundsCompletely() const { return false; } 107 bool FakeContentLayerClient::FillsBoundsCompletely() const { return false; }
109 108
110 size_t FakeContentLayerClient::GetApproximateUnsharedMemoryUsage() const { 109 size_t FakeContentLayerClient::GetApproximateUnsharedMemoryUsage() const {
111 return reported_memory_usage_; 110 return reported_memory_usage_;
112 } 111 }
113 112
114 } // namespace cc 113 } // namespace cc
OLDNEW
« no previous file with comments | « cc/playback/display_item_proto_factory.cc ('k') | cc/test/geometry_test_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698