2 // Copyright (C) 2006 Matthias Braun <matze@braunis.de>
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.
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.
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/>.
17 #ifndef HEADER_SUPERTUX_SUPERTUX_FLIP_LEVEL_TRANSFORMER_HPP
18 #define HEADER_SUPERTUX_SUPERTUX_FLIP_LEVEL_TRANSFORMER_HPP
20 #include "supertux/level_transformer.hpp"
21 #include "video/drawing_context.hpp"
32 /** Vertically or horizontally flip a level */
33 class FlipLevelTransformer : public LevelTransformer
36 virtual void transform_sector(Sector* sector);
39 DrawingEffect transform_drawing_effect(DrawingEffect effect);
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);