diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/wall-atlas.cpp | 1 | ||||
-rw-r--r-- | src/wall-atlas.hpp | 15 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/wall-atlas.cpp b/src/wall-atlas.cpp index 94134523..96758983 100644 --- a/src/wall-atlas.cpp +++ b/src/wall-atlas.cpp @@ -90,6 +90,7 @@ auto wall_atlas::direction(size_t dir) const -> const Direction* uint8_t wall_atlas::direction_count() const { return (uint8_t)_dir_array.size(); } auto wall_atlas::raw_frame_array() const -> ArrayView<const Frame> { return _frame_array; } +auto wall_atlas::info() const -> const Info& { return _info; } StringView wall_atlas::name() const { return _info.name; } size_t wall_atlas::enum_to_index(enum rotation r) diff --git a/src/wall-atlas.hpp b/src/wall-atlas.hpp index 8df0c1ec..3d97c0e7 100644 --- a/src/wall-atlas.hpp +++ b/src/wall-atlas.hpp @@ -117,9 +117,22 @@ public: const Direction* direction(size_t dir) const; ArrayView<const Frame> frames(const Group& a) const; ArrayView<const Frame> raw_frame_array() const; + const Info& info() const; static size_t enum_to_index(enum rotation x); -}; + struct dir_tuple + { + StringView name; + Direction_ direction; + }; + + static constexpr dir_tuple directions[] = { + { "n"_s, Direction_::N }, + { "e"_s, Direction_::E }, + { "s"_s, Direction_::S }, + { "w"_s, Direction_::W }, + }; +}; } // namespace floormat |