#pragma once #include "config/primitives.hpp" #include #include #include "util/enum_bitfield_operators.hpp" namespace assets::texture_components { using red = z3d::u8; using green = z3d::u8; using blue = z3d::u8; using alpha = z3d::u8; using luminance = z3d::u8; enum class flags : std::uint8_t { none = 0, luminance = 1 << 1, red = 1 << 2, green = 1 << 3, blue = 1 << 4, alpha = 1 << 5 }; using all = z3d::structure< red, green, blue, luminance >; constexpr inline auto count = std::tuple_size_v; } // namespace texture_components DEFINE_ENUM_BITFIELD_OPERATORS(assets::texture_components::flags)