DDNet documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
layer.h
Go to the documentation of this file.
1
#ifndef GAME_EDITOR_MAPITEMS_LAYER_H
2
#define GAME_EDITOR_MAPITEMS_LAYER_H
3
4
#include <
game/client/ui.h
>
5
#include <
game/client/ui_rect.h
>
6
#include <
game/editor/map_object.h
>
7
#include <
game/mapitems.h
>
8
9
#include <memory>
10
11
using
FIndexModifyFunction
= std::function<void(
int
*pIndex)>;
12
13
class
CLayerGroup
;
14
15
class
CLayer
:
public
CMapObject
16
{
17
public
:
18
explicit
CLayer
(
CEditorMap
*pMap,
int
Type);
19
CLayer
(
const
CLayer
&Other);
20
21
virtual
void
BrushSelecting
(
CUIRect
Rect) {}
22
virtual
int
BrushGrab
(
CLayerGroup
*pBrush,
CUIRect
Rect) {
return
0; }
23
virtual
void
FillSelection
(
bool
Empty,
CLayer
*pBrush,
CUIRect
Rect) {}
24
virtual
void
BrushDraw
(
CLayer
*pBrush,
vec2
WorldPos) {}
25
virtual
void
BrushPlace
(
CLayer
*pBrush,
vec2
WorldPos) {}
26
virtual
void
BrushFlipX
() {}
27
virtual
void
BrushFlipY
() {}
28
virtual
void
BrushRotate
(
float
Amount) {}
29
30
virtual
bool
IsEntitiesLayer
()
const
{
return
false
; }
31
32
virtual
void
Render
(
const
CEditorMap
*pRenderMap) {}
33
virtual
CUi::EPopupMenuFunctionResult
RenderProperties
(
CUIRect
*pToolbox) {
return
CUi::POPUP_KEEP_OPEN
; }
34
35
virtual
bool
IsEnvelopeUsed
(
int
EnvelopeIndex)
const
{
return
false
; }
36
virtual
bool
IsImageUsed
(
int
ImageIndex)
const
{
return
false
; }
37
virtual
bool
IsSoundUsed
(
int
SoundIndex)
const
{
return
false
; }
38
39
virtual
void
ModifyImageIndex
(
const
FIndexModifyFunction
&IndexModifyFunction) {}
40
virtual
void
ModifyEnvelopeIndex
(
const
FIndexModifyFunction
&IndexModifyFunction) {}
41
virtual
void
ModifySoundIndex
(
const
FIndexModifyFunction
&IndexModifyFunction) {}
42
43
virtual
std::shared_ptr<CLayer>
Duplicate
()
const
= 0;
44
virtual
const
char
*
TypeName
()
const
= 0;
45
46
virtual
void
GetSize
(
float
*pWidth,
float
*pHeight)
47
{
48
*pWidth = 0;
49
*pHeight = 0;
50
}
51
int
m_Type
;
52
char
m_aName
[12] =
""
;
53
int
m_Flags
= 0;
54
55
bool
m_Readonly
=
false
;
56
bool
m_Visible
=
true
;
57
};
58
59
#endif
CEditorMap
Definition
map.h:64
CLayerGroup
Definition
layer_group.h:12
CLayer::m_Type
int m_Type
Definition
layer.h:51
CLayer::GetSize
virtual void GetSize(float *pWidth, float *pHeight)
Definition
layer.h:46
CLayer::Duplicate
virtual std::shared_ptr< CLayer > Duplicate() const =0
CLayer::FillSelection
virtual void FillSelection(bool Empty, CLayer *pBrush, CUIRect Rect)
Definition
layer.h:23
CLayer::ModifyImageIndex
virtual void ModifyImageIndex(const FIndexModifyFunction &IndexModifyFunction)
Definition
layer.h:39
CLayer::CLayer
CLayer(CEditorMap *pMap, int Type)
Definition
layer.cpp:7
CLayer::IsSoundUsed
virtual bool IsSoundUsed(int SoundIndex) const
Definition
layer.h:37
CLayer::m_Readonly
bool m_Readonly
Definition
layer.h:55
CLayer::ModifySoundIndex
virtual void ModifySoundIndex(const FIndexModifyFunction &IndexModifyFunction)
Definition
layer.h:41
CLayer::BrushFlipY
virtual void BrushFlipY()
Definition
layer.h:27
CLayer::BrushPlace
virtual void BrushPlace(CLayer *pBrush, vec2 WorldPos)
Definition
layer.h:25
CLayer::IsEntitiesLayer
virtual bool IsEntitiesLayer() const
Definition
layer.h:30
CLayer::m_aName
char m_aName[12]
Definition
layer.h:52
CLayer::BrushDraw
virtual void BrushDraw(CLayer *pBrush, vec2 WorldPos)
Definition
layer.h:24
CLayer::m_Flags
int m_Flags
Definition
layer.h:53
CLayer::BrushGrab
virtual int BrushGrab(CLayerGroup *pBrush, CUIRect Rect)
Definition
layer.h:22
CLayer::Render
virtual void Render(const CEditorMap *pRenderMap)
Definition
layer.h:32
CLayer::ModifyEnvelopeIndex
virtual void ModifyEnvelopeIndex(const FIndexModifyFunction &IndexModifyFunction)
Definition
layer.h:40
CLayer::BrushRotate
virtual void BrushRotate(float Amount)
Definition
layer.h:28
CLayer::RenderProperties
virtual CUi::EPopupMenuFunctionResult RenderProperties(CUIRect *pToolbox)
Definition
layer.h:33
CLayer::BrushFlipX
virtual void BrushFlipX()
Definition
layer.h:26
CLayer::IsImageUsed
virtual bool IsImageUsed(int ImageIndex) const
Definition
layer.h:36
CLayer::TypeName
virtual const char * TypeName() const =0
CLayer::m_Visible
bool m_Visible
Definition
layer.h:56
CLayer::IsEnvelopeUsed
virtual bool IsEnvelopeUsed(int EnvelopeIndex) const
Definition
layer.h:35
CLayer::BrushSelecting
virtual void BrushSelecting(CUIRect Rect)
Definition
layer.h:21
CMapObject::CMapObject
CMapObject(CEditorMap *pMap)
Definition
map_object.cpp:6
CUIRect
Definition
ui_rect.h:12
CUi::EPopupMenuFunctionResult
EPopupMenuFunctionResult
Definition
ui.h:342
CUi::POPUP_KEEP_OPEN
@ POPUP_KEEP_OPEN
Definition
ui.h:346
FIndexModifyFunction
std::function< void(int *pIndex)> FIndexModifyFunction
Definition
layer.h:11
map_object.h
mapitems.h
ui.h
ui_rect.h
vec2
vector2_base< float > vec2
Definition
vmath.h:168
src
game
editor
mapitems
layer.h
Generated by
1.18.0