mirror of
https://github.com/SFML/SFML.git
synced 2024-11-25 04:41:05 +08:00
Test reinterpreting an sf::Color
as a std::uint8_t*
This commit is contained in:
parent
939ec267df
commit
0e475f3f50
@ -3,6 +3,7 @@
|
|||||||
#include <doctest/doctest.h>
|
#include <doctest/doctest.h>
|
||||||
|
|
||||||
#include <GraphicsUtil.hpp>
|
#include <GraphicsUtil.hpp>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
TEST_CASE("[Graphics] sf::Color")
|
TEST_CASE("[Graphics] sf::Color")
|
||||||
{
|
{
|
||||||
@ -152,4 +153,27 @@ TEST_CASE("[Graphics] sf::Color")
|
|||||||
|
|
||||||
static_assert(sf::Color::Black == sf::Color(0, 0, 0, 255));
|
static_assert(sf::Color::Black == sf::Color(0, 0, 0, 255));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SUBCASE("Reinterpret as std::uint8_t*")
|
||||||
|
{
|
||||||
|
static_assert(sizeof(sf::Color) == 4);
|
||||||
|
static_assert(alignof(sf::Color) == 1);
|
||||||
|
|
||||||
|
const std::vector<sf::Color> pixels = {{10, 11, 12, 13}, {14, 15, 16, 17}, {18, 19, 20, 21}};
|
||||||
|
const std::uint8_t* begin = reinterpret_cast<const std::uint8_t*>(pixels.data());
|
||||||
|
CHECK(begin[0] == pixels[0].r);
|
||||||
|
CHECK(begin[1] == pixels[0].g);
|
||||||
|
CHECK(begin[2] == pixels[0].b);
|
||||||
|
CHECK(begin[3] == pixels[0].a);
|
||||||
|
|
||||||
|
CHECK(begin[4] == pixels[1].r);
|
||||||
|
CHECK(begin[5] == pixels[1].g);
|
||||||
|
CHECK(begin[6] == pixels[1].b);
|
||||||
|
CHECK(begin[7] == pixels[1].a);
|
||||||
|
|
||||||
|
CHECK(begin[8] == pixels[2].r);
|
||||||
|
CHECK(begin[9] == pixels[2].g);
|
||||||
|
CHECK(begin[10] == pixels[2].b);
|
||||||
|
CHECK(begin[11] == pixels[2].a);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user