1 #ifndef LEVEL_EDITOR_H_
2 #define LEVEL_EDITOR_H_
4 typedef struct LevelEditor LevelEditor;
5 typedef struct RectLayer RectLayer;
6 typedef struct PointLayer PointLayer;
8 // TODO(#820): LevelEditor cannot generate a level file
10 LevelEditor *create_level_editor(RectLayer *boxes_layer,
11 RectLayer *platforms_layer,
12 RectLayer *back_platforms_layer,
13 PointLayer *goals_layer,
14 PlayerLayer *player_layer_render,
15 RectLayer *lava_editor,
16 RectLayer *regions_layer);
17 void destroy_level_editor(LevelEditor *level_editor);
19 int level_editor_render(const LevelEditor *level_editor,
21 int level_editor_event(LevelEditor *level_editor,
22 const SDL_Event *event,
23 const Camera *camera);
24 int level_editor_focus_camera(LevelEditor *level_editor,
27 const RectLayer *level_editor_boxes(const LevelEditor *level_editor);
28 const RectLayer *level_editor_platforms(const LevelEditor *level_editor);
29 const RectLayer *level_editor_back_platforms(const LevelEditor *level_editor);
30 const PointLayer *level_editor_goals_layer(const LevelEditor *level_editor);
31 const PlayerLayer *level_editor_player_layer(const LevelEditor *level_editor);
32 const RectLayer *level_editor_lava_layer(const LevelEditor *level_editor);
33 const RectLayer *level_editor_regions_layer(const LevelEditor *level_editor);
35 #endif // LEVEL_EDITOR_H_