44 lines
799 B
C++
44 lines
799 B
C++
#ifndef LLMR_MAP_MAP
|
|
#define LLMR_MAP_MAP
|
|
|
|
#include "../platform/platform.hpp"
|
|
#include "../renderer/painter.hpp"
|
|
#include "transform.hpp"
|
|
|
|
namespace llmr {
|
|
|
|
class tile;
|
|
|
|
class map {
|
|
public:
|
|
map();
|
|
~map();
|
|
|
|
void setup();
|
|
void resize(uint32_t width, uint32_t height);
|
|
|
|
/* callback */
|
|
bool render();
|
|
void moveBy(double dx, double dy);
|
|
void scaleBy(double ds, double cx, double cy);
|
|
void rotateBy(double cx, double cy, double sx, double sy, double ex, double ey);
|
|
void tileLoaded(std::shared_ptr<tile> tile);
|
|
void tileFailed(std::shared_ptr<tile> tile);
|
|
|
|
private:
|
|
void updateTiles();
|
|
|
|
private:
|
|
transform *transform;
|
|
painter *painter;
|
|
|
|
// int32_t min_zoom;
|
|
// int32_t max_zoom;
|
|
|
|
std::vector<std::shared_ptr<tile>> tiles;
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|