DDNet documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
quad_art.h
Go to the documentation of this file.
1
#ifndef GAME_EDITOR_QUAD_ART_H
2
#define GAME_EDITOR_QUAD_ART_H
3
4
#include <
base/types.h
>
5
6
#include <
engine/image.h
>
7
8
#include <
game/editor/mapitems/layer_quads.h
>
9
#include <
game/mapitems.h
>
10
11
#include <memory>
12
#include <optional>
13
14
class
CQuadArtParameters
15
{
16
public
:
17
int
m_ImagePixelSize
;
18
int
m_QuadPixelSize
;
19
bool
m_Centralize
;
20
bool
m_Optimize
;
21
char
m_aFilename
[
IO_MAX_PATH_LENGTH
];
22
};
23
24
class
CQuadArt
25
{
26
public
:
27
CQuadArt
(
CQuadArtParameters
Parameters,
CImageInfo
&&Img);
28
~CQuadArt
();
29
bool
Create
(std::shared_ptr<CLayerQuads> &pQuadLayer);
30
31
private
:
32
ivec2
GetOptimizedQuadSize
(
const
ColorRGBA
&Pixel,
const
ivec2
&Pos);
33
void
MarkPixelAsVisited
(
const
ivec2
&Pos,
const
ivec2
&Size);
34
35
size_t
FindSuperPixelSize
(
const
ColorRGBA
&Pixel,
const
ivec2
&Pos,
size_t
CurrentSize);
36
37
ColorRGBA
GetPixelClamped
(
const
ivec2
&Pos)
const
;
38
bool
IsPixelOptimizable
(
const
ivec2
&Pos,
const
ColorRGBA
&Pixel)
const
;
39
40
CQuad
CreateNewQuad
(
const
vec2
&Pos,
const
ivec2
&Size,
const
ColorRGBA
&Color)
const
;
41
42
CQuadArtParameters
m_Parameters
;
43
CImageInfo
m_Img
;
44
std::vector<bool>
m_vVisitedPixels
;
45
};
46
#endif
CImageInfo
Definition
image.h:12
CQuadArtParameters
Definition
quad_art.h:15
CQuadArtParameters::m_ImagePixelSize
int m_ImagePixelSize
Definition
quad_art.h:17
CQuadArtParameters::m_Centralize
bool m_Centralize
Definition
quad_art.h:19
CQuadArtParameters::m_Optimize
bool m_Optimize
Definition
quad_art.h:20
CQuadArtParameters::m_aFilename
char m_aFilename[IO_MAX_PATH_LENGTH]
Definition
quad_art.h:21
CQuadArtParameters::m_QuadPixelSize
int m_QuadPixelSize
Definition
quad_art.h:18
CQuadArt::CQuadArt
CQuadArt(CQuadArtParameters Parameters, CImageInfo &&Img)
Definition
quad_art.cpp:15
CQuadArt::GetPixelClamped
ColorRGBA GetPixelClamped(const ivec2 &Pos) const
Definition
quad_art.cpp:79
CQuadArt::Create
bool Create(std::shared_ptr< CLayerQuads > &pQuadLayer)
Definition
quad_art.cpp:141
CQuadArt::FindSuperPixelSize
size_t FindSuperPixelSize(const ColorRGBA &Pixel, const ivec2 &Pos, size_t CurrentSize)
Definition
quad_art.cpp:50
CQuadArt::m_Img
CImageInfo m_Img
Definition
quad_art.h:43
CQuadArt::MarkPixelAsVisited
void MarkPixelAsVisited(const ivec2 &Pos, const ivec2 &Size)
Definition
quad_art.cpp:94
CQuadArt::GetOptimizedQuadSize
ivec2 GetOptimizedQuadSize(const ColorRGBA &Pixel, const ivec2 &Pos)
Definition
quad_art.cpp:26
CQuadArt::CreateNewQuad
CQuad CreateNewQuad(const vec2 &Pos, const ivec2 &Size, const ColorRGBA &Color) const
Definition
quad_art.cpp:107
CQuadArt::m_Parameters
CQuadArtParameters m_Parameters
Definition
quad_art.h:42
CQuadArt::m_vVisitedPixels
std::vector< bool > m_vVisitedPixels
Definition
quad_art.h:44
CQuadArt::IsPixelOptimizable
bool IsPixelOptimizable(const ivec2 &Pos, const ColorRGBA &Pixel) const
Definition
quad_art.cpp:86
CQuad
Definition
mapitems.h:337
ColorRGBA
Definition
color.h:183
image.h
IO_MAX_PATH_LENGTH
constexpr auto IO_MAX_PATH_LENGTH
Definition
types.h:26
layer_quads.h
mapitems.h
types.h
ivec2
vector2_base< int > ivec2
Definition
vmath.h:170
vec2
vector2_base< float > vec2
Definition
vmath.h:168
src
game
editor
quad_art.h
Generated by
1.18.0