summaryrefslogtreecommitdiffhomepage
path: root/src/tile-image.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tile-image.cpp')
-rw-r--r--src/tile-image.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/tile-image.cpp b/src/tile-image.cpp
index c9dc24f4..5d9d9f11 100644
--- a/src/tile-image.cpp
+++ b/src/tile-image.cpp
@@ -2,18 +2,16 @@
namespace floormat {
-bool operator==(const tile_image_proto& a, const tile_image_proto& b) noexcept = default;
-
-tile_image_ref::tile_image_ref(std::shared_ptr<tile_atlas>& atlas, std::uint16_t& variant) noexcept :
- atlas{atlas}, variant{variant}
+bool operator==(const tile_image_proto& a, const tile_image_proto& b) noexcept
{
+ return a.atlas == b.atlas && a.variant == b.variant;
}
-tile_image_ref& tile_image_ref::operator=(tile_image_ref&& ref) noexcept
+tile_image_proto::operator bool() const noexcept { return atlas != nullptr; }
+
+tile_image_ref::tile_image_ref(std::shared_ptr<tile_atlas>& atlas, std::uint16_t& variant) noexcept :
+ atlas{atlas}, variant{variant}
{
- atlas = ref.atlas;
- variant = ref.variant;
- return *this;
}
tile_image_ref& tile_image_ref::operator=(const tile_image_proto& proto) noexcept
@@ -24,11 +22,12 @@ tile_image_ref& tile_image_ref::operator=(const tile_image_proto& proto) noexcep
}
tile_image_ref::tile_image_ref(const tile_image_ref&) noexcept = default;
-tile_image_ref::tile_image_ref(tile_image_ref&&) noexcept = default;
tile_image_ref::operator tile_image_proto() const noexcept
{
return { atlas, variant };
}
+tile_image_ref::operator bool() const noexcept { return atlas != nullptr; }
+
} // namespace floormat