1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#ifdef USE_TILE_LOCAL
#pragma once
#include <array>
#include "map-feature.h"
#include "tilebuf.h"
#include "tilereg.h"
class MapRegion : public Region
{
public:
MapRegion(int pixsz);
virtual void render() override;
virtual void clear() override;
virtual int handle_mouse(wm_mouse_event &event) override;
virtual bool update_tip_text(string &tip) override;
void init_colours();
void set(const coord_def &gc, map_feature f);
void set_window(const coord_def &start, const coord_def &end);
void update_bounds();
protected:
virtual void on_resize() override;
void recenter();
void pack_buffers();
VColour m_colours[MF_MAX];
int m_min_gx, m_max_gx, m_min_gy, m_max_gy;
coord_def m_win_start;
coord_def m_win_end;
array<unsigned char, GXM*GYM> m_buf;
ShapeBuffer m_buf_map;
LineBuffer m_buf_lines;
bool m_dirty;
};
#endif
|