supertux
flip_level_transformer.hpp
1 // SuperTux
2 // Copyright (C) 2006 Matthias Braun <matze@braunis.de>
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_SUPERTUX_FLIP_LEVEL_TRANSFORMER_HPP
18 #define HEADER_SUPERTUX_SUPERTUX_FLIP_LEVEL_TRANSFORMER_HPP
19 
20 #include "supertux/level_transformer.hpp"
21 #include "video/drawing_context.hpp"
22 
23 class TileMap;
24 class BadGuy;
25 class SpawnPoint;
26 class MovingObject;
27 class Flower;
28 class Platform;
29 class Block;
30 class Path;
31 
34 {
35 public:
36  virtual void transform_sector(Sector& sector) override;
37 
38 private:
39  Flip transform_flip(Flip flip);
40  void transform_path(float height, float obj_height, Path& path);
41  void transform_tilemap(float height, TileMap& tilemap);
42  void transform_moving_object(float height, MovingObject& object);
43  void transform_badguy(float height, BadGuy& badguy);
44  void transform_spawnpoint(float height, SpawnPoint& spawnpoint);
45  void transform_flower(Flower& flower);
46  void transform_platform(float height, Platform& platform);
47  void transform_block(float height, Block& block);
48 };
49 
50 #endif
51 
52 /* EOF */
Base class for moving sprites that can hurt the Player.
Definition: badguy.hpp:31
This class is the base class for platforms that tux can stand on.
Definition: platform.hpp:27
This class is an abstract interface for algorithms that transform levels in some way before they are ...
Definition: level_transformer.hpp:27
Represents one of (potentially) multiple, separate parts of a Level.
Definition: sector.hpp:49
Definition: path.hpp:44
Definition: flower.hpp:24
Base class for all dynamic/moving game objects.
Definition: moving_object.hpp:31
Vertically or horizontally flip a level.
Definition: flip_level_transformer.hpp:33
This class is responsible for drawing the level tiles.
Definition: tilemap.hpp:39
Definition: block.hpp:27