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

Side by Side Diff: cc/playback/display_item_list_unittest.cc

Issue 2716013002: don't use deprecated helper methods on SkCanvas (Closed)
Patch Set: rebase Created 3 years, 9 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/output/renderer_pixeltest.cc ('k') | content/renderer/sad_plugin.cc » ('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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/playback/display_item_list.h" 5 #include "cc/playback/display_item_list.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 const gfx::Size& layer_size) { 55 const gfx::Size& layer_size) {
56 gfx::PointF offset(2.f, 3.f); 56 gfx::PointF offset(2.f, 3.f);
57 PaintRecorder recorder; 57 PaintRecorder recorder;
58 58
59 PaintFlags red_paint; 59 PaintFlags red_paint;
60 red_paint.setColor(SK_ColorRED); 60 red_paint.setColor(SK_ColorRED);
61 61
62 PaintCanvas* canvas = recorder.beginRecording(SkRect::MakeXYWH( 62 PaintCanvas* canvas = recorder.beginRecording(SkRect::MakeXYWH(
63 offset.x(), offset.y(), layer_size.width(), layer_size.height())); 63 offset.x(), offset.y(), layer_size.width(), layer_size.height()));
64 canvas->translate(offset.x(), offset.y()); 64 canvas->translate(offset.x(), offset.y());
65 canvas->drawRectCoords(0.f, 0.f, 4.f, 4.f, red_paint); 65 canvas->drawRect(SkRect::MakeWH(4, 4), red_paint);
66 list->CreateAndAppendDrawingItem<DrawingDisplayItem>( 66 list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
67 kVisualRect, recorder.finishRecordingAsPicture()); 67 kVisualRect, recorder.finishRecordingAsPicture());
68 } 68 }
69 69
70 } // namespace 70 } // namespace
71 71
72 TEST(DisplayItemListTest, SingleDrawingItem) { 72 TEST(DisplayItemListTest, SingleDrawingItem) {
73 gfx::Rect layer_rect(100, 100); 73 gfx::Rect layer_rect(100, 100);
74 PaintRecorder recorder; 74 PaintRecorder recorder;
75 PaintFlags blue_flags; 75 PaintFlags blue_flags;
76 blue_flags.setColor(SK_ColorBLUE); 76 blue_flags.setColor(SK_ColorBLUE);
77 PaintFlags red_paint; 77 PaintFlags red_paint;
78 red_paint.setColor(SK_ColorRED); 78 red_paint.setColor(SK_ColorRED);
79 unsigned char pixels[4 * 100 * 100] = {0}; 79 unsigned char pixels[4 * 100 * 100] = {0};
80 auto list = make_scoped_refptr(new DisplayItemList); 80 auto list = make_scoped_refptr(new DisplayItemList);
81 81
82 gfx::PointF offset(8.f, 9.f); 82 gfx::PointF offset(8.f, 9.f);
83 gfx::RectF recording_rect(offset, gfx::SizeF(layer_rect.size())); 83 gfx::RectF recording_rect(offset, gfx::SizeF(layer_rect.size()));
84 PaintCanvas* canvas = 84 PaintCanvas* canvas =
85 recorder.beginRecording(gfx::RectFToSkRect(recording_rect)); 85 recorder.beginRecording(gfx::RectFToSkRect(recording_rect));
86 canvas->translate(offset.x(), offset.y()); 86 canvas->translate(offset.x(), offset.y());
87 canvas->drawRectCoords(0.f, 0.f, 60.f, 60.f, red_paint); 87 canvas->drawRect(SkRect::MakeLTRB(0.f, 0.f, 60.f, 60.f), red_paint);
88 canvas->drawRectCoords(50.f, 50.f, 75.f, 75.f, blue_flags); 88 canvas->drawRect(SkRect::MakeLTRB(50.f, 50.f, 75.f, 75.f), blue_flags);
89 list->CreateAndAppendDrawingItem<DrawingDisplayItem>( 89 list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
90 kVisualRect, recorder.finishRecordingAsPicture()); 90 kVisualRect, recorder.finishRecordingAsPicture());
91 list->Finalize(); 91 list->Finalize();
92 DrawDisplayList(pixels, layer_rect, list); 92 DrawDisplayList(pixels, layer_rect, list);
93 93
94 SkBitmap expected_bitmap; 94 SkBitmap expected_bitmap;
95 unsigned char expected_pixels[4 * 100 * 100] = {0}; 95 unsigned char expected_pixels[4 * 100 * 100] = {0};
96 SkImageInfo info = 96 SkImageInfo info =
97 SkImageInfo::MakeN32Premul(layer_rect.width(), layer_rect.height()); 97 SkImageInfo::MakeN32Premul(layer_rect.width(), layer_rect.height());
98 expected_bitmap.installPixels(info, expected_pixels, info.minRowBytes()); 98 expected_bitmap.installPixels(info, expected_pixels, info.minRowBytes());
99 PaintCanvas expected_canvas(expected_bitmap); 99 PaintCanvas expected_canvas(expected_bitmap);
100 expected_canvas.clipRect(gfx::RectToSkRect(layer_rect)); 100 expected_canvas.clipRect(gfx::RectToSkRect(layer_rect));
101 expected_canvas.drawRectCoords(0.f + offset.x(), 0.f + offset.y(), 101 expected_canvas.drawRect(
102 60.f + offset.x(), 60.f + offset.y(), 102 SkRect::MakeLTRB(0.f + offset.x(), 0.f + offset.y(), 60.f + offset.x(),
103 red_paint); 103 60.f + offset.y()),
104 expected_canvas.drawRectCoords(50.f + offset.x(), 50.f + offset.y(), 104 red_paint);
105 75.f + offset.x(), 75.f + offset.y(), 105 expected_canvas.drawRect(
106 blue_flags); 106 SkRect::MakeLTRB(50.f + offset.x(), 50.f + offset.y(), 75.f + offset.x(),
107 75.f + offset.y()),
108 blue_flags);
107 109
108 EXPECT_EQ(0, memcmp(pixels, expected_pixels, 4 * 100 * 100)); 110 EXPECT_EQ(0, memcmp(pixels, expected_pixels, 4 * 100 * 100));
109 } 111 }
110 112
111 TEST(DisplayItemListTest, ClipItem) { 113 TEST(DisplayItemListTest, ClipItem) {
112 gfx::Rect layer_rect(100, 100); 114 gfx::Rect layer_rect(100, 100);
113 PaintRecorder recorder; 115 PaintRecorder recorder;
114 PaintFlags blue_flags; 116 PaintFlags blue_flags;
115 blue_flags.setColor(SK_ColorBLUE); 117 blue_flags.setColor(SK_ColorBLUE);
116 PaintFlags red_paint; 118 PaintFlags red_paint;
117 red_paint.setColor(SK_ColorRED); 119 red_paint.setColor(SK_ColorRED);
118 unsigned char pixels[4 * 100 * 100] = {0}; 120 unsigned char pixels[4 * 100 * 100] = {0};
119 auto list = make_scoped_refptr(new DisplayItemList); 121 auto list = make_scoped_refptr(new DisplayItemList);
120 122
121 gfx::PointF first_offset(8.f, 9.f); 123 gfx::PointF first_offset(8.f, 9.f);
122 gfx::RectF first_recording_rect(first_offset, gfx::SizeF(layer_rect.size())); 124 gfx::RectF first_recording_rect(first_offset, gfx::SizeF(layer_rect.size()));
123 PaintCanvas* canvas = 125 PaintCanvas* canvas =
124 recorder.beginRecording(gfx::RectFToSkRect(first_recording_rect)); 126 recorder.beginRecording(gfx::RectFToSkRect(first_recording_rect));
125 canvas->translate(first_offset.x(), first_offset.y()); 127 canvas->translate(first_offset.x(), first_offset.y());
126 canvas->drawRectCoords(0.f, 0.f, 60.f, 60.f, red_paint); 128 canvas->drawRect(SkRect::MakeWH(60, 60), red_paint);
127 list->CreateAndAppendDrawingItem<DrawingDisplayItem>( 129 list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
128 kVisualRect, recorder.finishRecordingAsPicture()); 130 kVisualRect, recorder.finishRecordingAsPicture());
129 131
130 gfx::Rect clip_rect(60, 60, 10, 10); 132 gfx::Rect clip_rect(60, 60, 10, 10);
131 list->CreateAndAppendPairedBeginItem<ClipDisplayItem>( 133 list->CreateAndAppendPairedBeginItem<ClipDisplayItem>(
132 clip_rect, std::vector<SkRRect>(), true); 134 clip_rect, std::vector<SkRRect>(), true);
133 135
134 gfx::PointF second_offset(2.f, 3.f); 136 gfx::PointF second_offset(2.f, 3.f);
135 gfx::RectF second_recording_rect(second_offset, 137 gfx::RectF second_recording_rect(second_offset,
136 gfx::SizeF(layer_rect.size())); 138 gfx::SizeF(layer_rect.size()));
137 canvas = recorder.beginRecording(gfx::RectFToSkRect(second_recording_rect)); 139 canvas = recorder.beginRecording(gfx::RectFToSkRect(second_recording_rect));
138 canvas->translate(second_offset.x(), second_offset.y()); 140 canvas->translate(second_offset.x(), second_offset.y());
139 canvas->drawRectCoords(50.f, 50.f, 75.f, 75.f, blue_flags); 141 canvas->drawRect(SkRect::MakeLTRB(50.f, 50.f, 75.f, 75.f), blue_flags);
140 list->CreateAndAppendDrawingItem<DrawingDisplayItem>( 142 list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
141 kVisualRect, recorder.finishRecordingAsPicture()); 143 kVisualRect, recorder.finishRecordingAsPicture());
142 144
143 list->CreateAndAppendPairedEndItem<EndClipDisplayItem>(); 145 list->CreateAndAppendPairedEndItem<EndClipDisplayItem>();
144 list->Finalize(); 146 list->Finalize();
145 147
146 DrawDisplayList(pixels, layer_rect, list); 148 DrawDisplayList(pixels, layer_rect, list);
147 149
148 SkBitmap expected_bitmap; 150 SkBitmap expected_bitmap;
149 unsigned char expected_pixels[4 * 100 * 100] = {0}; 151 unsigned char expected_pixels[4 * 100 * 100] = {0};
150 SkImageInfo info = 152 SkImageInfo info =
151 SkImageInfo::MakeN32Premul(layer_rect.width(), layer_rect.height()); 153 SkImageInfo::MakeN32Premul(layer_rect.width(), layer_rect.height());
152 expected_bitmap.installPixels(info, expected_pixels, info.minRowBytes()); 154 expected_bitmap.installPixels(info, expected_pixels, info.minRowBytes());
153 PaintCanvas expected_canvas(expected_bitmap); 155 PaintCanvas expected_canvas(expected_bitmap);
154 expected_canvas.clipRect(gfx::RectToSkRect(layer_rect)); 156 expected_canvas.clipRect(gfx::RectToSkRect(layer_rect));
155 expected_canvas.drawRectCoords(0.f + first_offset.x(), 0.f + first_offset.y(), 157 expected_canvas.drawRect(
156 60.f + first_offset.x(), 158 SkRect::MakeLTRB(0.f + first_offset.x(), 0.f + first_offset.y(),
157 60.f + first_offset.y(), red_paint); 159 60.f + first_offset.x(), 60.f + first_offset.y()),
160 red_paint);
158 expected_canvas.clipRect(gfx::RectToSkRect(clip_rect)); 161 expected_canvas.clipRect(gfx::RectToSkRect(clip_rect));
159 expected_canvas.drawRectCoords( 162 expected_canvas.drawRect(
160 50.f + second_offset.x(), 50.f + second_offset.y(), 163 SkRect::MakeLTRB(50.f + second_offset.x(), 50.f + second_offset.y(),
161 75.f + second_offset.x(), 75.f + second_offset.y(), blue_flags); 164 75.f + second_offset.x(), 75.f + second_offset.y()),
165 blue_flags);
162 166
163 EXPECT_EQ(0, memcmp(pixels, expected_pixels, 4 * 100 * 100)); 167 EXPECT_EQ(0, memcmp(pixels, expected_pixels, 4 * 100 * 100));
164 } 168 }
165 169
166 TEST(DisplayItemListTest, TransformItem) { 170 TEST(DisplayItemListTest, TransformItem) {
167 gfx::Rect layer_rect(100, 100); 171 gfx::Rect layer_rect(100, 100);
168 PaintRecorder recorder; 172 PaintRecorder recorder;
169 PaintFlags blue_flags; 173 PaintFlags blue_flags;
170 blue_flags.setColor(SK_ColorBLUE); 174 blue_flags.setColor(SK_ColorBLUE);
171 PaintFlags red_paint; 175 PaintFlags red_paint;
172 red_paint.setColor(SK_ColorRED); 176 red_paint.setColor(SK_ColorRED);
173 unsigned char pixels[4 * 100 * 100] = {0}; 177 unsigned char pixels[4 * 100 * 100] = {0};
174 auto list = make_scoped_refptr(new DisplayItemList); 178 auto list = make_scoped_refptr(new DisplayItemList);
175 179
176 gfx::PointF first_offset(8.f, 9.f); 180 gfx::PointF first_offset(8.f, 9.f);
177 gfx::RectF first_recording_rect(first_offset, gfx::SizeF(layer_rect.size())); 181 gfx::RectF first_recording_rect(first_offset, gfx::SizeF(layer_rect.size()));
178 PaintCanvas* canvas = 182 PaintCanvas* canvas =
179 recorder.beginRecording(gfx::RectFToSkRect(first_recording_rect)); 183 recorder.beginRecording(gfx::RectFToSkRect(first_recording_rect));
180 canvas->translate(first_offset.x(), first_offset.y()); 184 canvas->translate(first_offset.x(), first_offset.y());
181 canvas->drawRectCoords(0.f, 0.f, 60.f, 60.f, red_paint); 185 canvas->drawRect(SkRect::MakeWH(60, 60), red_paint);
182 list->CreateAndAppendDrawingItem<DrawingDisplayItem>( 186 list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
183 kVisualRect, recorder.finishRecordingAsPicture()); 187 kVisualRect, recorder.finishRecordingAsPicture());
184 188
185 gfx::Transform transform; 189 gfx::Transform transform;
186 transform.Rotate(45.0); 190 transform.Rotate(45.0);
187 list->CreateAndAppendPairedBeginItem<TransformDisplayItem>(transform); 191 list->CreateAndAppendPairedBeginItem<TransformDisplayItem>(transform);
188 192
189 gfx::PointF second_offset(2.f, 3.f); 193 gfx::PointF second_offset(2.f, 3.f);
190 gfx::RectF second_recording_rect(second_offset, 194 gfx::RectF second_recording_rect(second_offset,
191 gfx::SizeF(layer_rect.size())); 195 gfx::SizeF(layer_rect.size()));
192 canvas = recorder.beginRecording(gfx::RectFToSkRect(second_recording_rect)); 196 canvas = recorder.beginRecording(gfx::RectFToSkRect(second_recording_rect));
193 canvas->translate(second_offset.x(), second_offset.y()); 197 canvas->translate(second_offset.x(), second_offset.y());
194 canvas->drawRectCoords(50.f, 50.f, 75.f, 75.f, blue_flags); 198 canvas->drawRect(SkRect::MakeLTRB(50.f, 50.f, 75.f, 75.f), blue_flags);
195 list->CreateAndAppendDrawingItem<DrawingDisplayItem>( 199 list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
196 kVisualRect, recorder.finishRecordingAsPicture()); 200 kVisualRect, recorder.finishRecordingAsPicture());
197 201
198 list->CreateAndAppendPairedEndItem<EndTransformDisplayItem>(); 202 list->CreateAndAppendPairedEndItem<EndTransformDisplayItem>();
199 list->Finalize(); 203 list->Finalize();
200 204
201 DrawDisplayList(pixels, layer_rect, list); 205 DrawDisplayList(pixels, layer_rect, list);
202 206
203 SkBitmap expected_bitmap; 207 SkBitmap expected_bitmap;
204 unsigned char expected_pixels[4 * 100 * 100] = {0}; 208 unsigned char expected_pixels[4 * 100 * 100] = {0};
205 SkImageInfo info = 209 SkImageInfo info =
206 SkImageInfo::MakeN32Premul(layer_rect.width(), layer_rect.height()); 210 SkImageInfo::MakeN32Premul(layer_rect.width(), layer_rect.height());
207 expected_bitmap.installPixels(info, expected_pixels, info.minRowBytes()); 211 expected_bitmap.installPixels(info, expected_pixels, info.minRowBytes());
208 PaintCanvas expected_canvas(expected_bitmap); 212 PaintCanvas expected_canvas(expected_bitmap);
209 expected_canvas.clipRect(gfx::RectToSkRect(layer_rect)); 213 expected_canvas.clipRect(gfx::RectToSkRect(layer_rect));
210 expected_canvas.drawRectCoords(0.f + first_offset.x(), 0.f + first_offset.y(), 214 expected_canvas.drawRect(
211 60.f + first_offset.x(), 215 SkRect::MakeLTRB(0.f + first_offset.x(), 0.f + first_offset.y(),
212 60.f + first_offset.y(), red_paint); 216 60.f + first_offset.x(), 60.f + first_offset.y()),
217 red_paint);
213 expected_canvas.setMatrix(transform.matrix()); 218 expected_canvas.setMatrix(transform.matrix());
214 expected_canvas.drawRectCoords( 219 expected_canvas.drawRect(
215 50.f + second_offset.x(), 50.f + second_offset.y(), 220 SkRect::MakeLTRB(50.f + second_offset.x(), 50.f + second_offset.y(),
216 75.f + second_offset.x(), 75.f + second_offset.y(), blue_flags); 221 75.f + second_offset.x(), 75.f + second_offset.y()),
222 blue_flags);
217 223
218 EXPECT_EQ(0, memcmp(pixels, expected_pixels, 4 * 100 * 100)); 224 EXPECT_EQ(0, memcmp(pixels, expected_pixels, 4 * 100 * 100));
219 } 225 }
220 226
221 TEST(DisplayItemListTest, FilterItem) { 227 TEST(DisplayItemListTest, FilterItem) {
222 gfx::Rect layer_rect(100, 100); 228 gfx::Rect layer_rect(100, 100);
223 FilterOperations filters; 229 FilterOperations filters;
224 unsigned char pixels[4 * 100 * 100] = {0}; 230 unsigned char pixels[4 * 100 * 100] = {0};
225 auto list = make_scoped_refptr(new DisplayItemList); 231 auto list = make_scoped_refptr(new DisplayItemList);
226 232
(...skipping 22 matching lines...) Expand all
249 255
250 // Include a rect drawing so that filter is actually applied to something. 256 // Include a rect drawing so that filter is actually applied to something.
251 { 257 {
252 PaintRecorder recorder; 258 PaintRecorder recorder;
253 259
254 PaintFlags red_paint; 260 PaintFlags red_paint;
255 red_paint.setColor(SK_ColorRED); 261 red_paint.setColor(SK_ColorRED);
256 262
257 PaintCanvas* canvas = recorder.beginRecording( 263 PaintCanvas* canvas = recorder.beginRecording(
258 SkRect::MakeXYWH(0, 0, layer_rect.width(), layer_rect.height())); 264 SkRect::MakeXYWH(0, 0, layer_rect.width(), layer_rect.height()));
259 canvas->drawRectCoords(filter_bounds.x(), filter_bounds.y(), 265 canvas->drawRect(
260 filter_bounds.right(), filter_bounds.bottom(), 266 SkRect::MakeLTRB(filter_bounds.x(), filter_bounds.y(),
261 red_paint); 267 filter_bounds.right(), filter_bounds.bottom()),
268 red_paint);
262 list->CreateAndAppendDrawingItem<DrawingDisplayItem>( 269 list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
263 ToNearestRect(filter_bounds), recorder.finishRecordingAsPicture()); 270 ToNearestRect(filter_bounds), recorder.finishRecordingAsPicture());
264 } 271 }
265 272
266 list->CreateAndAppendPairedEndItem<EndFilterDisplayItem>(); 273 list->CreateAndAppendPairedEndItem<EndFilterDisplayItem>();
267 list->Finalize(); 274 list->Finalize();
268 275
269 DrawDisplayList(pixels, layer_rect, list); 276 DrawDisplayList(pixels, layer_rect, list);
270 277
271 SkBitmap expected_bitmap; 278 SkBitmap expected_bitmap;
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 list->CreateAndAppendPairedEndItem<EndClipDisplayItem>(); 669 list->CreateAndAppendPairedEndItem<EndClipDisplayItem>();
663 670
664 EXPECT_EQ(4u, list->size()); 671 EXPECT_EQ(4u, list->size());
665 EXPECT_RECT_EQ(filter_bounds, list->VisualRectForTesting(0)); 672 EXPECT_RECT_EQ(filter_bounds, list->VisualRectForTesting(0));
666 EXPECT_RECT_EQ(filter_bounds, list->VisualRectForTesting(1)); 673 EXPECT_RECT_EQ(filter_bounds, list->VisualRectForTesting(1));
667 EXPECT_RECT_EQ(filter_bounds, list->VisualRectForTesting(2)); 674 EXPECT_RECT_EQ(filter_bounds, list->VisualRectForTesting(2));
668 EXPECT_RECT_EQ(filter_bounds, list->VisualRectForTesting(3)); 675 EXPECT_RECT_EQ(filter_bounds, list->VisualRectForTesting(3));
669 } 676 }
670 677
671 } // namespace cc 678 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/renderer_pixeltest.cc ('k') | content/renderer/sad_plugin.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698