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

Side by Side Diff: cc/paint/skia_paint_canvas.cc

Issue 2752593002: cc: Make PaintCanvas abstract (Closed)
Patch Set: Remove default parameters on virtual functions 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/paint/skia_paint_canvas.h ('k') | cc/playback/display_item_list_unittest.cc » ('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 2017 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/paint/paint_canvas.h"
6
7 #include "base/memory/ptr_util.h"
8 #include "cc/paint/paint_record.h"
9 #include "cc/paint/paint_recorder.h"
10 #include "third_party/skia/include/core/SkAnnotation.h"
11 #include "third_party/skia/include/core/SkMetaData.h"
12 #include "third_party/skia/include/utils/SkNWayCanvas.h"
13
14 namespace cc {
15
16 SkiaPaintCanvas::SkiaPaintCanvas(SkCanvas* canvas) : canvas_(canvas) {}
17
18 SkiaPaintCanvas::SkiaPaintCanvas(const SkBitmap& bitmap)
19 : canvas_(new SkCanvas(bitmap)), owned_(canvas_) {}
20
21 SkiaPaintCanvas::SkiaPaintCanvas(const SkBitmap& bitmap,
22 const SkSurfaceProps& props)
23 : canvas_(new SkCanvas(bitmap, props)), owned_(canvas_) {}
24
25 SkiaPaintCanvas::~SkiaPaintCanvas() = default;
26
27 SkMetaData& SkiaPaintCanvas::getMetaData() {
28 return canvas_->getMetaData();
29 }
30
31 SkImageInfo SkiaPaintCanvas::imageInfo() const {
32 return canvas_->imageInfo();
33 }
34
35 void SkiaPaintCanvas::flush() {
36 canvas_->flush();
37 }
38
39 SkISize SkiaPaintCanvas::getBaseLayerSize() const {
40 return canvas_->getBaseLayerSize();
41 }
42
43 bool SkiaPaintCanvas::peekPixels(SkPixmap* pixmap) {
44 return canvas_->peekPixels(pixmap);
45 }
46
47 bool SkiaPaintCanvas::readPixels(const SkImageInfo& dest_info,
48 void* dest_pixels,
49 size_t dest_row_bytes,
50 int src_x,
51 int src_y) {
52 return canvas_->readPixels(dest_info, dest_pixels, dest_row_bytes, src_x,
53 src_y);
54 }
55
56 bool SkiaPaintCanvas::readPixels(SkBitmap* bitmap, int src_x, int src_y) {
57 return canvas_->readPixels(bitmap, src_x, src_y);
58 }
59
60 bool SkiaPaintCanvas::readPixels(const SkIRect& srcRect, SkBitmap* bitmap) {
61 return canvas_->readPixels(srcRect, bitmap);
62 }
63
64 bool SkiaPaintCanvas::writePixels(const SkImageInfo& info,
65 const void* pixels,
66 size_t row_bytes,
67 int x,
68 int y) {
69 return canvas_->writePixels(info, pixels, row_bytes, x, y);
70 }
71
72 int SkiaPaintCanvas::save() {
73 return canvas_->save();
74 }
75
76 int SkiaPaintCanvas::saveLayer(const SkRect* bounds, const PaintFlags* flags) {
77 return canvas_->saveLayer(bounds, ToSkPaint(flags));
78 }
79
80 int SkiaPaintCanvas::saveLayerAlpha(const SkRect* bounds, U8CPU alpha) {
81 return canvas_->saveLayerAlpha(bounds, alpha);
82 }
83
84 void SkiaPaintCanvas::restore() {
85 canvas_->restore();
86 }
87
88 int SkiaPaintCanvas::getSaveCount() const {
89 return canvas_->getSaveCount();
90 }
91
92 void SkiaPaintCanvas::restoreToCount(int save_count) {
93 canvas_->restoreToCount(save_count);
94 }
95
96 void SkiaPaintCanvas::translate(SkScalar dx, SkScalar dy) {
97 canvas_->translate(dx, dy);
98 }
99
100 void SkiaPaintCanvas::scale(SkScalar sx, SkScalar sy) {
101 canvas_->scale(sx, sy);
102 }
103
104 void SkiaPaintCanvas::rotate(SkScalar degrees) {
105 canvas_->rotate(degrees);
106 }
107
108 void SkiaPaintCanvas::rotate(SkScalar degrees, SkScalar px, SkScalar py) {
109 canvas_->rotate(degrees, px, py);
110 }
111
112 void SkiaPaintCanvas::concat(const SkMatrix& matrix) {
113 canvas_->concat(matrix);
114 }
115
116 void SkiaPaintCanvas::setMatrix(const SkMatrix& matrix) {
117 canvas_->setMatrix(matrix);
118 }
119
120 void SkiaPaintCanvas::resetMatrix() {
121 canvas_->resetMatrix();
122 }
123
124 void SkiaPaintCanvas::clipRect(const SkRect& rect,
125 SkClipOp op,
126 bool do_anti_alias) {
127 canvas_->clipRect(rect, op, do_anti_alias);
128 }
129
130 void SkiaPaintCanvas::clipRRect(const SkRRect& rrect,
131 SkClipOp op,
132 bool do_anti_alias) {
133 canvas_->clipRRect(rrect, op, do_anti_alias);
134 }
135
136 void SkiaPaintCanvas::clipPath(const SkPath& path,
137 SkClipOp op,
138 bool do_anti_alias) {
139 canvas_->clipPath(path, op, do_anti_alias);
140 }
141
142 bool SkiaPaintCanvas::quickReject(const SkRect& rect) const {
143 return canvas_->quickReject(rect);
144 }
145
146 bool SkiaPaintCanvas::quickReject(const SkPath& path) const {
147 return canvas_->quickReject(path);
148 }
149
150 SkRect SkiaPaintCanvas::getLocalClipBounds() const {
151 return canvas_->getLocalClipBounds();
152 }
153
154 bool SkiaPaintCanvas::getLocalClipBounds(SkRect* bounds) const {
155 return canvas_->getLocalClipBounds(bounds);
156 }
157
158 SkIRect SkiaPaintCanvas::getDeviceClipBounds() const {
159 return canvas_->getDeviceClipBounds();
160 }
161
162 bool SkiaPaintCanvas::getDeviceClipBounds(SkIRect* bounds) const {
163 return canvas_->getDeviceClipBounds(bounds);
164 }
165
166 void SkiaPaintCanvas::drawColor(SkColor color, SkBlendMode mode) {
167 canvas_->drawColor(color, mode);
168 }
169
170 void SkiaPaintCanvas::clear(SkColor color) {
171 canvas_->clear(color);
172 }
173
174 void SkiaPaintCanvas::drawLine(SkScalar x0,
175 SkScalar y0,
176 SkScalar x1,
177 SkScalar y1,
178 const PaintFlags& flags) {
179 SkiaPaintCanvas::canvas_->drawLine(x0, y0, x1, y1, ToSkPaint(flags));
180 }
181
182 void SkiaPaintCanvas::drawRect(const SkRect& rect, const PaintFlags& flags) {
183 canvas_->drawRect(rect, ToSkPaint(flags));
184 }
185
186 void SkiaPaintCanvas::drawIRect(const SkIRect& rect, const PaintFlags& flags) {
187 canvas_->drawIRect(rect, ToSkPaint(flags));
188 }
189
190 void SkiaPaintCanvas::drawOval(const SkRect& oval, const PaintFlags& flags) {
191 canvas_->drawOval(oval, ToSkPaint(flags));
192 }
193
194 void SkiaPaintCanvas::drawRRect(const SkRRect& rrect, const PaintFlags& flags) {
195 canvas_->drawRRect(rrect, ToSkPaint(flags));
196 }
197
198 void SkiaPaintCanvas::drawDRRect(const SkRRect& outer,
199 const SkRRect& inner,
200 const PaintFlags& flags) {
201 canvas_->drawDRRect(outer, inner, ToSkPaint(flags));
202 }
203
204 void SkiaPaintCanvas::drawCircle(SkScalar cx,
205 SkScalar cy,
206 SkScalar radius,
207 const PaintFlags& flags) {
208 canvas_->drawCircle(cx, cy, radius, ToSkPaint(flags));
209 }
210
211 void SkiaPaintCanvas::drawArc(const SkRect& oval,
212 SkScalar start_angle,
213 SkScalar sweep_angle,
214 bool use_center,
215 const PaintFlags& flags) {
216 canvas_->drawArc(oval, start_angle, sweep_angle, use_center,
217 ToSkPaint(flags));
218 }
219
220 void SkiaPaintCanvas::drawRoundRect(const SkRect& rect,
221 SkScalar rx,
222 SkScalar ry,
223 const PaintFlags& flags) {
224 canvas_->drawRoundRect(rect, rx, ry, ToSkPaint(flags));
225 }
226
227 void SkiaPaintCanvas::drawPath(const SkPath& path, const PaintFlags& flags) {
228 canvas_->drawPath(path, ToSkPaint(flags));
229 }
230
231 void SkiaPaintCanvas::drawImage(const SkImage* image,
232 SkScalar left,
233 SkScalar top,
234 const PaintFlags* flags) {
235 canvas_->drawImage(image, left, top, ToSkPaint(flags));
236 }
237
238 void SkiaPaintCanvas::drawImage(const sk_sp<SkImage>& image,
239 SkScalar left,
240 SkScalar top,
241 const PaintFlags* flags) {
242 canvas_->drawImage(image, left, top, ToSkPaint(flags));
243 }
244
245 void SkiaPaintCanvas::drawImageRect(const SkImage* image,
246 const SkRect& src,
247 const SkRect& dst,
248 const PaintFlags* flags,
249 SrcRectConstraint constraint) {
250 canvas_->drawImageRect(image, src, dst, ToSkPaint(flags),
251 static_cast<SkCanvas::SrcRectConstraint>(constraint));
252 }
253
254 void SkiaPaintCanvas::drawBitmap(const SkBitmap& bitmap,
255 SkScalar left,
256 SkScalar top,
257 const PaintFlags* flags) {
258 canvas_->drawBitmap(bitmap, left, top, ToSkPaint(flags));
259 }
260
261 void SkiaPaintCanvas::drawText(const void* text,
262 size_t byte_length,
263 SkScalar x,
264 SkScalar y,
265 const PaintFlags& flags) {
266 canvas_->drawText(text, byte_length, x, y, ToSkPaint(flags));
267 }
268
269 void SkiaPaintCanvas::drawPosText(const void* text,
270 size_t byte_length,
271 const SkPoint pos[],
272 const PaintFlags& flags) {
273 canvas_->drawPosText(text, byte_length, pos, ToSkPaint(flags));
274 }
275
276 void SkiaPaintCanvas::drawTextBlob(const SkTextBlob* blob,
277 SkScalar x,
278 SkScalar y,
279 const PaintFlags& flags) {
280 canvas_->drawTextBlob(blob, x, y, ToSkPaint(flags));
281 }
282
283 void SkiaPaintCanvas::drawTextBlob(const sk_sp<SkTextBlob>& blob,
284 SkScalar x,
285 SkScalar y,
286 const PaintFlags& flags) {
287 canvas_->drawTextBlob(blob, x, y, ToSkPaint(flags));
288 }
289
290 void SkiaPaintCanvas::drawPicture(const PaintRecord* record) {
291 canvas_->drawPicture(ToSkPicture(record));
292 }
293
294 void SkiaPaintCanvas::drawPicture(const PaintRecord* record,
295 const SkMatrix* matrix,
296 const PaintFlags* flags) {
297 canvas_->drawPicture(ToSkPicture(record), matrix, ToSkPaint(flags));
298 }
299
300 void SkiaPaintCanvas::drawPicture(sk_sp<PaintRecord> record) {
301 drawPicture(record.get());
302 }
303
304 bool SkiaPaintCanvas::isClipEmpty() const {
305 return canvas_->isClipEmpty();
306 }
307
308 bool SkiaPaintCanvas::isClipRect() const {
309 return canvas_->isClipRect();
310 }
311
312 const SkMatrix& SkiaPaintCanvas::getTotalMatrix() const {
313 return canvas_->getTotalMatrix();
314 }
315
316 void SkiaPaintCanvas::temporary_internal_describeTopLayer(
317 SkMatrix* matrix,
318 SkIRect* clip_bounds) {
319 return canvas_->temporary_internal_describeTopLayer(matrix, clip_bounds);
320 }
321
322 bool SkiaPaintCanvas::ToPixmap(SkPixmap* output) {
323 SkImageInfo info;
324 size_t row_bytes;
325 void* pixels = canvas_->accessTopLayerPixels(&info, &row_bytes);
326 if (!pixels) {
327 output->reset();
328 return false;
329 }
330
331 output->reset(info, pixels, row_bytes);
332 return true;
333 }
334
335 void SkiaPaintCanvas::AnnotateRectWithURL(const SkRect& rect, SkData* data) {
336 SkAnnotateRectWithURL(canvas_, rect, data);
337 }
338
339 void SkiaPaintCanvas::AnnotateNamedDestination(const SkPoint& point,
340 SkData* data) {
341 SkAnnotateNamedDestination(canvas_, point, data);
342 }
343
344 void SkiaPaintCanvas::AnnotateLinkToDestination(const SkRect& rect,
345 SkData* data) {
346 SkAnnotateLinkToDestination(canvas_, rect, data);
347 }
348
349 } // namespace cc
OLDNEW
« no previous file with comments | « cc/paint/skia_paint_canvas.h ('k') | cc/playback/display_item_list_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698