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