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

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

Issue 1362663002: cc: Remove PicturePile and PicturePileImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase and update Created 5 years, 3 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/test/fake_display_list_raster_source.h ('k') | cc/test/fake_display_list_recording_source.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "cc/test/fake_display_list_raster_source.h"
6
7 #include <limits>
8
9 #include "base/synchronization/waitable_event.h"
10 #include "cc/test/fake_display_list_recording_source.h"
11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "ui/gfx/geometry/size.h"
13
14 namespace cc {
15
16 scoped_refptr<FakeDisplayListRasterSource>
17 FakeDisplayListRasterSource::CreateInfiniteFilled() {
18 gfx::Size size(std::numeric_limits<int>::max() / 10,
19 std::numeric_limits<int>::max() / 10);
20 return CreateFilled(size);
21 }
22
23 scoped_refptr<FakeDisplayListRasterSource>
24 FakeDisplayListRasterSource::CreateFilled(const gfx::Size& size) {
25 auto recording_source =
26 FakeDisplayListRecordingSource::CreateFilledRecordingSource(size);
27
28 SkPaint red_paint;
29 red_paint.setColor(SK_ColorRED);
30 recording_source->add_draw_rect_with_paint(gfx::Rect(size), red_paint);
31
32 gfx::Size smaller_size(size.width() - 10, size.height() - 10);
33 SkPaint green_paint;
34 green_paint.setColor(SK_ColorGREEN);
35 recording_source->add_draw_rect_with_paint(gfx::Rect(smaller_size),
36 green_paint);
37
38 recording_source->Rerecord();
39
40 return make_scoped_refptr(
41 new FakeDisplayListRasterSource(recording_source.get(), false));
42 }
43
44 scoped_refptr<FakeDisplayListRasterSource>
45 FakeDisplayListRasterSource::CreateFilledLCD(const gfx::Size& size) {
46 auto recording_source =
47 FakeDisplayListRecordingSource::CreateFilledRecordingSource(size);
48
49 SkPaint red_paint;
50 red_paint.setColor(SK_ColorRED);
51 recording_source->add_draw_rect_with_paint(gfx::Rect(size), red_paint);
52
53 gfx::Size smaller_size(size.width() - 10, size.height() - 10);
54 SkPaint green_paint;
55 green_paint.setColor(SK_ColorGREEN);
56 recording_source->add_draw_rect_with_paint(gfx::Rect(smaller_size),
57 green_paint);
58
59 recording_source->Rerecord();
60
61 return make_scoped_refptr(
62 new FakeDisplayListRasterSource(recording_source.get(), true));
63 }
64
65 scoped_refptr<FakeDisplayListRasterSource>
66 FakeDisplayListRasterSource::CreateFilledSolidColor(const gfx::Size& size) {
67 auto recording_source =
68 FakeDisplayListRecordingSource::CreateFilledRecordingSource(size);
69
70 SkPaint red_paint;
71 red_paint.setColor(SK_ColorRED);
72 recording_source->add_draw_rect_with_paint(gfx::Rect(size), red_paint);
73 recording_source->Rerecord();
74 auto raster_source = make_scoped_refptr(
75 new FakeDisplayListRasterSource(recording_source.get(), false));
76 if (!raster_source->IsSolidColor())
77 ADD_FAILURE() << "Not solid color!";
78 return raster_source;
79 }
80
81 scoped_refptr<FakeDisplayListRasterSource>
82 FakeDisplayListRasterSource::CreatePartiallyFilled(
83 const gfx::Size& size,
84 const gfx::Rect& recorded_viewport) {
85 DCHECK_IMPLIES(!recorded_viewport.IsEmpty(),
86 gfx::Rect(size).Contains(recorded_viewport));
87 auto recording_source = FakeDisplayListRecordingSource::CreateRecordingSource(
88 recorded_viewport, size);
89
90 SkPaint red_paint;
91 red_paint.setColor(SK_ColorRED);
92 recording_source->add_draw_rect_with_paint(gfx::Rect(size), red_paint);
93
94 gfx::Size smaller_size(size.width() - 10, size.height() - 10);
95 SkPaint green_paint;
96 green_paint.setColor(SK_ColorGREEN);
97 recording_source->add_draw_rect_with_paint(gfx::Rect(smaller_size),
98 green_paint);
99
100 recording_source->Rerecord();
101 recording_source->SetRecordedViewport(recorded_viewport);
102
103 return make_scoped_refptr(
104 new FakeDisplayListRasterSource(recording_source.get(), false));
105 }
106
107 scoped_refptr<FakeDisplayListRasterSource>
108 FakeDisplayListRasterSource::CreateEmpty(const gfx::Size& size) {
109 auto recording_source =
110 FakeDisplayListRecordingSource::CreateFilledRecordingSource(size);
111 return make_scoped_refptr(
112 new FakeDisplayListRasterSource(recording_source.get(), false));
113 }
114
115 scoped_refptr<FakeDisplayListRasterSource>
116 FakeDisplayListRasterSource::CreateFromRecordingSource(
117 const DisplayListRecordingSource* recording_source,
118 bool can_use_lcd) {
119 return make_scoped_refptr(
120 new FakeDisplayListRasterSource(recording_source, can_use_lcd));
121 }
122
123 scoped_refptr<FakeDisplayListRasterSource>
124 FakeDisplayListRasterSource::CreateFromRecordingSourceWithWaitable(
125 const DisplayListRecordingSource* recording_source,
126 bool can_use_lcd,
127 base::WaitableEvent* playback_allowed_event) {
128 return make_scoped_refptr(new FakeDisplayListRasterSource(
129 recording_source, can_use_lcd, playback_allowed_event));
130 }
131
132 FakeDisplayListRasterSource::FakeDisplayListRasterSource(
133 const DisplayListRecordingSource* recording_source,
134 bool can_use_lcd)
135 : DisplayListRasterSource(recording_source, can_use_lcd),
136 playback_allowed_event_(nullptr) {}
137
138 FakeDisplayListRasterSource::FakeDisplayListRasterSource(
139 const DisplayListRecordingSource* recording_source,
140 bool can_use_lcd,
141 base::WaitableEvent* playback_allowed_event)
142 : DisplayListRasterSource(recording_source, can_use_lcd),
143 playback_allowed_event_(playback_allowed_event) {}
144
145 FakeDisplayListRasterSource::~FakeDisplayListRasterSource() {}
146
147 void FakeDisplayListRasterSource::PlaybackToCanvas(
148 SkCanvas* canvas,
149 const gfx::Rect& canvas_bitmap_rect,
150 const gfx::Rect& canvas_playback_rect,
151 float contents_scale) const {
152 if (playback_allowed_event_)
153 playback_allowed_event_->Wait();
154 DisplayListRasterSource::PlaybackToCanvas(
155 canvas, canvas_bitmap_rect, canvas_playback_rect, contents_scale);
156 }
157
158 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/fake_display_list_raster_source.h ('k') | cc/test/fake_display_list_recording_source.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698