summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/wall-atlas.cpp1
-rw-r--r--src/wall-atlas.hpp15
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