supertux
tile_selection.hpp
1 // SuperTux
2 // Copyright (C) 2016 Hume2 <teratux.mail@gmail.com>
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
17 #ifndef HEADER_SUPERTUX_EDITOR_TILE_SELECTION_HPP
18 #define HEADER_SUPERTUX_EDITOR_TILE_SELECTION_HPP
19 
20 #include <algorithm>
21 #include <stdint.h>
22 #include <vector>
23 
24 class TileSelection final
25 {
26 public:
27  TileSelection();
28 
31  uint32_t pos(int x, int y) const;
32 
34  void set_tile(uint32_t tile);
35 
37  bool empty() const;
38 
39 public:
40  std::vector<uint32_t> m_tiles;
41  int m_width;
42  int m_height;
43 
44 private:
45  TileSelection(const TileSelection&) = delete;
46  TileSelection& operator=(const TileSelection&) = delete;
47 };
48 
49 #endif
50 
51 /* EOF */
uint32_t pos(int x, int y) const
Returns the tile id at specific coordinates.
Definition: tile_selection.cpp:27
Definition: tile_selection.hpp:24
bool empty() const
Returns true when has no tiles or is full of zeros.
Definition: tile_selection.cpp:51
void set_tile(uint32_t tile)
Sets the tile selection to a single tile.
Definition: tile_selection.cpp:42