0ad/source/tools/rmgen/simplepainters.h

38 lines
808 B
C++

#ifndef __SIMPLEPAINTERS_H__
#define __SIMPLEPAINTERS_H__
#include "areapainter.h"
#include "map.h"
#include "area.h"
#include "terrain.h"
#include "tileclass.h"
class TerrainPainter : public AreaPainter {
Terrain* terrain;
public:
TerrainPainter(Terrain* terrain);
virtual void paint(Map* m, Area* a);
};
class ElevationPainter : public AreaPainter {
float elevation;
public:
ElevationPainter(float elevation);
virtual void paint(Map* m, Area* a);
};
class TileClassPainter : public AreaPainter {
TileClass* tileClass;
public:
TileClassPainter(TileClass* tc);
virtual void paint(Map* m, Area* a);
};
class MultiPainter : public AreaPainter {
std::vector<AreaPainter*> painters;
public:
MultiPainter(const std::vector<AreaPainter*>& painters);
virtual void paint(Map* m, Area* a);
};
#endif