OLD | NEW |
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" |
(...skipping 16 matching lines...) Expand all Loading... |
27 virtual SkImageInfo imageInfo() const = 0; | 27 virtual SkImageInfo imageInfo() const = 0; |
28 | 28 |
29 // TODO(enne): It would be nice to get rid of flush() entirely, as it | 29 // TODO(enne): It would be nice to get rid of flush() entirely, as it |
30 // doesn't really make sense for recording. However, this gets used by | 30 // doesn't really make sense for recording. However, this gets used by |
31 // SkCanvasVideoRenderer which takes a PaintCanvas to paint both | 31 // SkCanvasVideoRenderer which takes a PaintCanvas to paint both |
32 // software and hardware video. This is super entangled with ImageBuffer | 32 // software and hardware video. This is super entangled with ImageBuffer |
33 // and canvas/video painting in Blink where the same paths are used for | 33 // and canvas/video painting in Blink where the same paths are used for |
34 // both recording and gpu work. | 34 // both recording and gpu work. |
35 virtual void flush() = 0; | 35 virtual void flush() = 0; |
36 | 36 |
37 virtual SkISize getBaseLayerSize() const = 0; | |
38 virtual bool writePixels(const SkImageInfo& info, | 37 virtual bool writePixels(const SkImageInfo& info, |
39 const void* pixels, | 38 const void* pixels, |
40 size_t row_bytes, | 39 size_t row_bytes, |
41 int x, | 40 int x, |
42 int y) = 0; | 41 int y) = 0; |
43 virtual int save() = 0; | 42 virtual int save() = 0; |
44 virtual int saveLayer(const SkRect* bounds, const PaintFlags* flags) = 0; | 43 virtual int saveLayer(const SkRect* bounds, const PaintFlags* flags) = 0; |
45 virtual int saveLayerAlpha(const SkRect* bounds, U8CPU alpha) = 0; | 44 virtual int saveLayerAlpha(const SkRect* bounds, U8CPU alpha) = 0; |
46 | 45 |
47 virtual void restore() = 0; | 46 virtual void restore() = 0; |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 // Following routines are used in print preview workflow to mark the | 230 // Following routines are used in print preview workflow to mark the |
232 // preview metafile. | 231 // preview metafile. |
233 #if defined(OS_MACOSX) | 232 #if defined(OS_MACOSX) |
234 CC_PAINT_EXPORT void SetIsPreviewMetafile(PaintCanvas* canvas, bool is_preview); | 233 CC_PAINT_EXPORT void SetIsPreviewMetafile(PaintCanvas* canvas, bool is_preview); |
235 CC_PAINT_EXPORT bool IsPreviewMetafile(PaintCanvas* canvas); | 234 CC_PAINT_EXPORT bool IsPreviewMetafile(PaintCanvas* canvas); |
236 #endif | 235 #endif |
237 | 236 |
238 } // namespace cc | 237 } // namespace cc |
239 | 238 |
240 #endif // CC_PAINT_PAINT_CANVAS_H_ | 239 #endif // CC_PAINT_PAINT_CANVAS_H_ |
OLD | NEW |