yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
overworld_entity_renderer.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_OVERWORLD_OVERWORLD_ENTITY_RENDERER_H
2#define YAZE_APP_EDITOR_OVERWORLD_OVERWORLD_ENTITY_RENDERER_H
3
4#include <vector>
5
6#include "app/gfx/bitmap.h"
7#include "app/gui/canvas.h"
8#include "app/zelda3/common.h"
10#include "imgui/imgui.h"
11
12namespace yaze {
13namespace editor {
14
15class OverworldEditor; // Forward declaration
16
25 public:
27 std::vector<gfx::Bitmap>* sprite_previews)
28 : overworld_(overworld), canvas_(canvas),
29 sprite_previews_(sprite_previews) {}
30
31 // Main rendering methods
32 void DrawEntrances(ImVec2 canvas_p0, ImVec2 scrolling, int current_world,
33 int current_mode);
34 void DrawExits(ImVec2 canvas_p0, ImVec2 scrolling, int current_world,
35 int current_mode);
36 void DrawItems(int current_world, int current_mode);
37 void DrawSprites(int current_world, int game_state, int current_mode);
38
39 auto hovered_entity() const { return hovered_entity_; }
40
41 private:
45 std::vector<gfx::Bitmap>* sprite_previews_;
46};
47
48} // namespace editor
49} // namespace yaze
50
51#endif // YAZE_APP_EDITOR_OVERWORLD_OVERWORLD_ENTITY_RENDERER_H
52
Handles visualization of all overworld entities (entrances, exits, items, sprites)
void DrawEntrances(ImVec2 canvas_p0, ImVec2 scrolling, int current_world, int current_mode)
void DrawSprites(int current_world, int game_state, int current_mode)
void DrawItems(int current_world, int current_mode)
OverworldEntityRenderer(zelda3::Overworld *overworld, gui::Canvas *canvas, std::vector< gfx::Bitmap > *sprite_previews)
void DrawExits(ImVec2 canvas_p0, ImVec2 scrolling, int current_world, int current_mode)
Modern, robust canvas for drawing and manipulating graphics.
Definition canvas.h:54
Base class for all overworld and dungeon entities.
Definition common.h:19
Represents the full Overworld data, light and dark world.
Definition overworld.h:135
Main namespace for the application.