penguins  1.0.0
tileset.hh
Go to the documentation of this file.
1 #pragma once
2 
3 #include <wx/bitmap.h>
4 #include <wx/defs.h>
5 #include <wx/gdicmn.h>
6 #include <wx/image.h>
7 
8 enum TileEdge {
9  EDGE_TOP = 0,
12  EDGE_LEFT = 3,
14 };
15 
16 enum TileCorner {
22 };
23 
26 
27 public:
28  TilesetHelper();
29 
30  void load();
31 
32  wxImage get_sub_image(const wxRect& rect) const {
33  return this->get_sub_image(rect.x, rect.y, rect.width, rect.height);
34  }
35  wxImage get_sub_image(int x, int y, int w, int h) const {
36  wxRect rect(x * scaling, y * scaling, w * scaling, h * scaling);
37  return this->image.GetSubImage(rect);
38  }
39 
40  wxImage get_tile(const wxPoint& point) const {
41  return this->get_tile(point.x, point.y);
42  }
43  wxImage get_tile(int x, int y) const {
44  return this->get_sub_image(x * TILE_SIZE, y * TILE_SIZE, TILE_SIZE, TILE_SIZE);
45  }
46 
47  static const int TILE_SIZE = 20;
48 
49  const int scaling;
51 
64 };
wxBitmap tile_edges[EDGE_MAX]
Definition: tileset.hh:55
wxBitmap water_tiles[3]
Definition: tileset.hh:53
static const int TILE_SIZE
Definition: tileset.hh:47
wxImage get_sub_image(int x, int y, int w, int h) const
Definition: tileset.hh:35
wxBitmap ice_tiles[6]
Definition: tileset.hh:54
wxBitmap grid_tile
Definition: tileset.hh:59
const int scaling
Definition: tileset.hh:49
wxDECLARE_NO_COPY_CLASS(TilesetHelper)
wxBitmap penguin_sprites[5]
Definition: tileset.hh:61
wxBitmap tile_concave_corners[CORNER_MAX]
Definition: tileset.hh:57
wxBitmap fish_sprites[3]
Definition: tileset.hh:60
wxBitmap transparent_tile
Definition: tileset.hh:52
wxBitmap tile_convex_corners[CORNER_MAX]
Definition: tileset.hh:56
wxImage get_tile(const wxPoint &point) const
Definition: tileset.hh:40
wxBitmap current_penguin_overlay
Definition: tileset.hh:63
wxBitmap blocked_tile
Definition: tileset.hh:58
wxImage get_sub_image(const wxRect &rect) const
Definition: tileset.hh:32
void load()
Definition: tileset.cc:12
wxImage image
Definition: tileset.hh:50
wxBitmap penguin_sprites_flipped[WXSIZEOF(penguin_sprites)]
Definition: tileset.hh:62
wxImage get_tile(int x, int y) const
Definition: tileset.hh:43
wxImage GetSubImage(const wxRect &rect) const
int height
int width
TileEdge
Definition: tileset.hh:8
@ EDGE_MAX
Definition: tileset.hh:13
@ EDGE_RIGHT
Definition: tileset.hh:10
@ EDGE_BOTTOM
Definition: tileset.hh:11
@ EDGE_TOP
Definition: tileset.hh:9
@ EDGE_LEFT
Definition: tileset.hh:12
TileCorner
Definition: tileset.hh:16
@ CORNER_TOP_RIGHT
Definition: tileset.hh:17
@ CORNER_BOTTOM_LEFT
Definition: tileset.hh:19
@ CORNER_TOP_LEFT
Definition: tileset.hh:20
@ CORNER_BOTTOM_RIGHT
Definition: tileset.hh:18
@ CORNER_MAX
Definition: tileset.hh:21