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

Side by Side Diff: cc/paint/paint_canvas.h

Issue 2812763002: paint: Introduce PaintImage that wraps SkImage in paint calls. (Closed)
Patch Set: update Created 3 years, 8 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 2017 The Chromium Authors. All rights reserved. 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 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 #ifndef CC_PAINT_PAINT_CANVAS_H_ 5 #ifndef CC_PAINT_PAINT_CANVAS_H_
6 #define CC_PAINT_PAINT_CANVAS_H_ 6 #define CC_PAINT_PAINT_CANVAS_H_
7 7
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
11 #include "build/build_config.h" 11 #include "build/build_config.h"
12 #include "cc/paint/paint_export.h" 12 #include "cc/paint/paint_export.h"
13 #include "cc/paint/paint_image.h"
13 #include "cc/paint/paint_record.h" 14 #include "cc/paint/paint_record.h"
14 #include "third_party/skia/include/core/SkCanvas.h" 15 #include "third_party/skia/include/core/SkCanvas.h"
15 16
16 namespace cc { 17 namespace cc {
17 18
18 class DisplayItemList; 19 class DisplayItemList;
19 class PaintFlags; 20 class PaintFlags;
20 21
21 class CC_PAINT_EXPORT PaintCanvas { 22 class CC_PAINT_EXPORT PaintCanvas {
22 public: 23 public:
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 virtual void drawArc(const SkRect& oval, 114 virtual void drawArc(const SkRect& oval,
114 SkScalar start_angle, 115 SkScalar start_angle,
115 SkScalar sweep_angle, 116 SkScalar sweep_angle,
116 bool use_center, 117 bool use_center,
117 const PaintFlags& flags) = 0; 118 const PaintFlags& flags) = 0;
118 virtual void drawRoundRect(const SkRect& rect, 119 virtual void drawRoundRect(const SkRect& rect,
119 SkScalar rx, 120 SkScalar rx,
120 SkScalar ry, 121 SkScalar ry,
121 const PaintFlags& flags) = 0; 122 const PaintFlags& flags) = 0;
122 virtual void drawPath(const SkPath& path, const PaintFlags& flags) = 0; 123 virtual void drawPath(const SkPath& path, const PaintFlags& flags) = 0;
123 virtual void drawImage(sk_sp<const SkImage> image, 124 virtual void drawImage(const PaintImage& image,
124 SkScalar left, 125 SkScalar left,
125 SkScalar top, 126 SkScalar top,
126 const PaintFlags* flags) = 0; 127 const PaintFlags* flags) = 0;
127 void drawImage(sk_sp<const SkImage> image, SkScalar left, SkScalar top) { 128 void drawImage(const PaintImage& image, SkScalar left, SkScalar top) {
128 drawImage(image, left, top, nullptr); 129 drawImage(image, left, top, nullptr);
129 } 130 }
130 131
131 enum SrcRectConstraint { 132 enum SrcRectConstraint {
132 kStrict_SrcRectConstraint = SkCanvas::kStrict_SrcRectConstraint, 133 kStrict_SrcRectConstraint = SkCanvas::kStrict_SrcRectConstraint,
133 kFast_SrcRectConstraint = SkCanvas::kFast_SrcRectConstraint, 134 kFast_SrcRectConstraint = SkCanvas::kFast_SrcRectConstraint,
134 }; 135 };
135 136
136 virtual void drawImageRect(sk_sp<const SkImage> image, 137 virtual void drawImageRect(const PaintImage& image,
137 const SkRect& src, 138 const SkRect& src,
138 const SkRect& dst, 139 const SkRect& dst,
139 const PaintFlags* flags, 140 const PaintFlags* flags,
140 SrcRectConstraint constraint) = 0; 141 SrcRectConstraint constraint) = 0;
141 virtual void drawBitmap(const SkBitmap& bitmap, 142 virtual void drawBitmap(const SkBitmap& bitmap,
142 SkScalar left, 143 SkScalar left,
143 SkScalar top, 144 SkScalar top,
144 const PaintFlags* flags) = 0; 145 const PaintFlags* flags) = 0;
145 void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top) { 146 void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top) {
146 drawBitmap(bitmap, left, top, nullptr); 147 drawBitmap(bitmap, left, top, nullptr);
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 // Following routines are used in print preview workflow to mark the 235 // Following routines are used in print preview workflow to mark the
235 // preview metafile. 236 // preview metafile.
236 #if defined(OS_MACOSX) 237 #if defined(OS_MACOSX)
237 CC_PAINT_EXPORT void SetIsPreviewMetafile(PaintCanvas* canvas, bool is_preview); 238 CC_PAINT_EXPORT void SetIsPreviewMetafile(PaintCanvas* canvas, bool is_preview);
238 CC_PAINT_EXPORT bool IsPreviewMetafile(PaintCanvas* canvas); 239 CC_PAINT_EXPORT bool IsPreviewMetafile(PaintCanvas* canvas);
239 #endif 240 #endif
240 241
241 } // namespace cc 242 } // namespace cc
242 243
243 #endif // CC_PAINT_PAINT_CANVAS_H_ 244 #endif // CC_PAINT_PAINT_CANVAS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698