123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #ifndef HEADER_FLEXLAY_TILE_SELECTOR_HPP
- #define HEADER_FLEXLAY_TILE_SELECTOR_HPP
- #include <ClanLib/gui.h>
- #include "../tileset.hpp"
- class Tileset;
- class TileSelector : public CL_Component
- {
- public:
- typedef std::vector<int> Tiles;
- private:
- CL_SlotContainer slots;
- int width;
- int index;
- int offset;
- int old_offset;
- int mouse_over_tile;
- bool scrolling;
- bool region_select;
- CL_Point current_pos;
- CL_Point region_select_start;
- CL_Point mouse_pos;
- float scale;
-
- Tiles tiles;
- Tileset tileset;
- protected:
- virtual ~TileSelector();
- public:
-
- TileSelector(const CL_Rect& rect, CL_Component* parent);
- void set_tileset(Tileset t);
- void set_tiles(const Tiles& t);
- Tiles get_tiles() const;
-
- void set_scale(float s);
- void draw();
-
- CL_Point get_mouse_tile_pos(const CL_InputEvent& event);
- private:
- CL_Rect get_selection();
- void mouse_move(const CL_InputEvent& event);
- void mouse_down(const CL_InputEvent& event);
- void mouse_up (const CL_InputEvent& event);
- };
- #endif
|