1#ifndef GAME_EDITOR_MAPITEMS_LAYER_QUADS_H
2#define GAME_EDITOR_MAPITEMS_LAYER_QUADS_H
3
4#include "layer.h"
5
6class CLayerQuads : public CLayer
7{
8public:
9 explicit CLayerQuads(CEditorMap *pMap);
10 CLayerQuads(const CLayerQuads &Other);
11 ~CLayerQuads() override;
12
13 void Render(bool QuadPicker = false) override;
14 CQuad *NewQuad(int x, int y, int Width, int Height);
15 int SwapQuads(int Index0, int Index1);
16
17 void BrushSelecting(CUIRect Rect) override;
18 int BrushGrab(CLayerGroup *pBrush, CUIRect Rect) override;
19 void BrushPlace(CLayer *pBrush, vec2 WorldPos) override;
20 void BrushFlipX() override;
21 void BrushFlipY() override;
22 void BrushRotate(float Amount) override;
23
24 CUi::EPopupMenuFunctionResult RenderProperties(CUIRect *pToolbox) override;
25
26 bool IsEnvelopeUsed(int EnvelopeIndex) const override;
27 bool IsImageUsed(int ImageIndex) const override;
28
29 void ModifyImageIndex(const FIndexModifyFunction &IndexModifyFunction) override;
30 void ModifyEnvelopeIndex(const FIndexModifyFunction &IndexModifyFunction) override;
31
32 void GetSize(float *pWidth, float *pHeight) override;
33 std::shared_ptr<CLayer> Duplicate() const override;
34 const char *TypeName() const override;
35
36 int m_Image;
37 std::vector<CQuad> m_vQuads;
38};
39
40#endif
41