DDNet documentation
Loading...
Searching...
No Matches
image.h
Go to the documentation of this file.
1#ifndef ENGINE_IMAGE_H
2#define ENGINE_IMAGE_H
3
4#include <base/color.h>
5
6#include <cstdint>
7
12{
13private:
14 bool m_IsAllocated = false;
15
16public:
28
29 CImageInfo() = default;
30
35
39 CImageInfo(CImageInfo &&Other);
40
44 CImageInfo(const CImageInfo &) = delete;
45
49 CImageInfo &operator=(const CImageInfo &) = delete;
50
55
59 size_t m_Width = 0;
60
64 size_t m_Height = 0;
65
72
76 uint8_t *m_pData = nullptr;
77
81 void Allocate();
82
86 void AllocateFillZero();
87
91 void Free();
92
100 static size_t PixelSize(EImageFormat Format);
101
109 static const char *FormatName(EImageFormat Format);
110
118 size_t PixelSize() const;
119
125 const char *FormatName() const;
126
132 size_t DataSize() const;
133
142 bool DataEquals(const CImageInfo &Other) const;
143
152 ColorRGBA PixelColor(size_t x, size_t y) const;
153
161 void SetPixelColor(size_t x, size_t y, ColorRGBA Color) const;
162
174 void CopyRectFrom(const CImageInfo &SrcImage, size_t SrcX, size_t SrcY, size_t Width, size_t Height, size_t DestX, size_t DestY) const;
175
184 CImageInfo DeepCopy() const;
185};
186
187#endif
CImageInfo(const CImageInfo &)=delete
void Free()
Definition image.cpp:51
CImageInfo & operator=(const CImageInfo &)=delete
~CImageInfo()
Definition image.cpp:29
size_t m_Height
Definition image.h:64
EImageFormat m_Format
Definition image.h:71
CImageInfo DeepCopy() const
Definition image.cpp:174
uint8_t * m_pData
Definition image.h:76
void AllocateFillZero()
Definition image.cpp:43
void CopyRectFrom(const CImageInfo &SrcImage, size_t SrcX, size_t SrcY, size_t Width, size_t Height, size_t DestX, size_t DestY) const
Definition image.cpp:162
bool DataEquals(const CImageInfo &Other) const
Definition image.cpp:94
EImageFormat
Definition image.h:21
@ FORMAT_R
Definition image.h:25
@ FORMAT_RGB
Definition image.h:23
@ FORMAT_RA
Definition image.h:26
@ FORMAT_RGBA
Definition image.h:24
@ FORMAT_UNDEFINED
Definition image.h:22
size_t DataSize() const
Definition image.cpp:89
const char * FormatName() const
Definition image.cpp:84
CImageInfo()=default
size_t PixelSize() const
Definition image.cpp:79
void Allocate()
Definition image.cpp:35
bool m_IsAllocated
Definition image.h:14
size_t m_Width
Definition image.h:59
CImageInfo & operator=(CImageInfo &&Other)
Definition image.cpp:14
ColorRGBA PixelColor(size_t x, size_t y) const
Definition image.cpp:105
void SetPixelColor(size_t x, size_t y, ColorRGBA Color) const
Definition image.cpp:137
Definition color.h:182