|
1 | 1 | %!TEX root = io2d.tex |
2 | 2 | \rSec0 [imagesurface] {Class \tcode{image_surface}} |
3 | 3 |
|
| 4 | +\rSec1 [imagesurface.summary] {\tcode{image_surface} summary} |
| 5 | + |
| 6 | +\pnum |
| 7 | +\indexlibrary{\idxcode{image_surface}} |
| 8 | +The class \tcode{image_surface} derives from the \tcode{surface} class and provides an interface to a raster graphics data graphics resource. |
| 9 | + |
| 10 | +\pnum |
| 11 | +\enternote |
| 12 | +Because of the functionality it provides and what it can be used for, it is expected that developers familiar with other graphics technologies will think of the \tcode{image_surface} class as being a form of \term{render target}. This is intentional, though this \documenttypename{} does not formally define or use that term to avoid any minor ambiguities and differences in its meaning between the various graphics technologies that do use the term render target. |
| 13 | +\exitnote |
| 14 | + |
4 | 15 | \rSec1 [imagesurface.synopsis] {\tcode{image_surface} synopsis} |
5 | 16 |
|
6 | 17 | \begin{codeblock} |
|
9 | 20 | public: |
10 | 21 | // \ref{imagesurface.cons}, construct/copy/move/destroy: |
11 | 22 | image_surface() = delete; |
12 | | - image_surface(const image_surface&) = delete; |
13 | | - image_surface& operator=(const image_surface&) = delete; |
14 | | - image_surface(image_surface&& other) noexcept; |
15 | | - image_surface& operator=(image_surface&& other) noexcept; |
16 | 23 | image_surface(experimental::io2d::format fmt, int width, int height); |
17 | | - image_surface(experimental::io2d::format fmt, int width, int height, |
18 | | - error_code& ec) noexcept; |
19 | | - image_surface(vector<unsigned char>& data, experimental::io2d::format fmt, |
20 | | - int width, int height); |
21 | | - image_surface(vector<unsigned char>& data, experimental::io2d::format fmt, |
22 | | - int width, int height, error_code& ec) noexcept; |
23 | | - virtual ~image_surface(); |
| 24 | + image_surface(filesystem::path f, experimental::io2d::format fmt); |
24 | 25 |
|
25 | | - // \ref{imagesurface.modifiers}, modifiers: |
26 | | - void data(const vector<unsigned char>& data); |
27 | | - void data(const vector<unsigned char>& data, error_code& ec) noexcept; |
28 | | - vector<unsigned char> data(); |
29 | | - vector<unsigned char> data(error_code& ec) noexcept; |
| 26 | + // \ref{imagesurface.members}, members: |
| 27 | + void save(filesystem::path p); |
30 | 28 |
|
31 | 29 | // \ref{imagesurface.observers}, observers: |
32 | 30 | experimental::io2d::format format() const noexcept; |
|
37 | 35 | } } } } |
38 | 36 | \end{codeblock} |
39 | 37 |
|
40 | | -\rSec1 [imagesurface.intro] {\tcode{image_surface} Description} |
41 | | - |
42 | | -\pnum |
43 | | -\indexlibrary{\idxcode{image_surface}} |
44 | | -The class \tcode{image_surface} derives from the \tcode{surface} class and provides an interface to a raster graphics data graphics resource. |
45 | | - |
46 | | -\pnum |
47 | | -\enternote |
48 | | -Because of the functionality it provides and what it can be used for, it is expected that developers familiar with other graphics technologies will think of the \tcode{image_surface} class as being a form of \term{render target}. This is intentional, though this \documenttypename{} does not formally define or use that term to avoid any minor ambiguities and differences in its meaning between the various graphics technologies that do use it. |
49 | | -\exitnote |
50 | | - |
51 | 38 | \rSec1 [imagesurface.cons] {\tcode{image_surface} constructors and assignment operators} |
52 | 39 |
|
53 | 40 | \indexlibrary{\idxcode{image_surface}!constructor} |
|
0 commit comments