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

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

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

Powered by Google App Engine
This is Rietveld 408576698