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);
32 
34  void set_tile(uint32_t tile);
35 
37  void clear();
38 
40  bool empty() const;
41 
42 public:
43  std::vector<uint32_t> m_tiles;
44  int m_width;
45  int m_height;
46 
47 private:
48  TileSelection(const TileSelection&) = delete;
49  TileSelection& operator=(const TileSelection&) = delete;
50 };
51 
52 #endif
53 
54 /* EOF */
void clear()
Clears the selection.
Definition: tile_selection.cpp:57
Definition: tile_selection.hpp:24
bool empty() const
Returns true when has no tiles or is full of zeros.
Definition: tile_selection.cpp:65
uint32_t pos(int x, int y)
Returns the tile id at specific coordinates.
Definition: tile_selection.cpp:27
void set_tile(uint32_t tile)
Sets the tile selection to a single tile.
Definition: tile_selection.cpp:48