LeviLamina
Loading...
Searching...
No Matches
ImageBuffer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/container/Blob.h"
7#include "mc/deps/core_graphics/ImageDescription.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace mce { struct Image; }
12// clang-format on
13
14namespace cg {
15
16class ImageBuffer {
17public:
18 // ImageBuffer inner types define
19 using Storage = ::mce::Blob;
20
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 24, ::mce::Blob> mStorage;
25 ::ll::TypedStorage<4, 20, ::cg::ImageDescription> mImageDescription;
26 // NOLINTEND
27
28#ifdef LL_PLAT_S
29#else // LL_PLAT_C
30public:
31 // prevent constructor by default
32 ImageBuffer();
33
34#endif
35public:
36 // member functions
37 // NOLINTBEGIN
38#ifdef LL_PLAT_C
39 MCAPI explicit ImageBuffer(::cg::ImageDescription const& imageDesc);
40
41 MCAPI ImageBuffer(::cg::ImageBuffer&& other);
42
43 MCAPI explicit ImageBuffer(::mce::Image&& rhs);
44
45 MCAPI explicit ImageBuffer(::mce::Image const& rhs);
46
47 MCAPI ImageBuffer(::cg::ImageBuffer const& rhs);
48
49 MCAPI void allocateStorage(::cg::ImageDescription const& imageDesc);
50
51 MCFOLD ::cg::ImageBuffer clone() const;
52
53 MCAPI uchar const* get(uint arrayIndex) const;
54
55 MCAPI uchar* get(uint arrayIndex);
56
57 MCFOLD ::cg::ImageDescription const& getImageDescription() const;
58
59 MCAPI ::gsl::span<uchar const> getSpan() const;
60
61 MCAPI ::gsl::span<uchar> getSpan();
62
63 MCFOLD uint64 getStorageSize() const;
64
65 MCAPI bool isEmpty() const;
66
67 MCAPI bool isValid() const;
68
69 MCAPI ::cg::ImageBuffer& operator=(::cg::ImageBuffer&& other);
70
71 MCAPI ::cg::ImageBuffer& operator=(::cg::ImageBuffer const& other);
72
73 MCAPI ::mce::Blob releaseStorage();
74
75 MCAPI void zeroImage();
76#endif
77 // NOLINTEND
78
79public:
80 // constructor thunks
81 // NOLINTBEGIN
82#ifdef LL_PLAT_C
83 MCAPI void* $ctor(::cg::ImageDescription const& imageDesc);
84
85 MCAPI void* $ctor(::cg::ImageBuffer&& other);
86
87 MCAPI void* $ctor(::mce::Image&& rhs);
88
89 MCAPI void* $ctor(::mce::Image const& rhs);
90
91 MCAPI void* $ctor(::cg::ImageBuffer const& rhs);
92#endif
93 // NOLINTEND
94};
95
96} // namespace cg
Definition ImageBuffer.h:16
Definition Blob.h:7
Definition ImageDescription.h:20
Definition Image.h:12