Porytiles
Loading...
Searching...
No Matches
rgba_tile.cpp
Go to the documentation of this file.
2
3// ReSharper disable once CppUnusedIncludeDirective
4#include <ranges>
5
7
8namespace porytiles {
9
10bool RgbaTile::IsTransparent(const Rgba32 &transparency) const {
11 return std::ranges::all_of(
12 pix(), [=](const auto &pixel) { return pixel == transparency || pixel.alpha() == Rgba32::kAlphaTransparent; });
13}
14
15bool RgbaTile::EqualsBgr(const RgbaTile &other) const {
16 // for (std::size_t i = 0; i < TILE_NUM_PIX; i++) {
17 // if (rgbaToBgr(this->pixels.at(i)) != rgbaToBgr(other.pixels.at(i))) {
18 // return false;
19 // }
20 // }
21 return true;
22}
23
24} // namespace porytiles
static constexpr std::uint8_t kAlphaTransparent
Definition rgba32.hpp:16
std::uint8_t alpha() const
Definition rgba32.hpp:36
bool EqualsBgr(const RgbaTile &other) const
Definition rgba_tile.cpp:15
bool IsTransparent(const Rgba32 &transparency) const override
Definition rgba_tile.cpp:10
const std::array< Rgba32, kTileSize > & pix() const
Definition tile.hpp:19