SFML/test/TestUtilities/GraphicsUtil.hpp

41 lines
1.2 KiB
C++
Raw Normal View History

// Header for SFML unit tests.
//
// For a new graphics module test case, include this header.
2023-01-18 12:51:08 +08:00
// This ensures that string conversions are visible and can be used by Catch2 for debug output.
#pragma once
2024-02-08 21:28:57 +08:00
#include <SystemUtil.hpp>
#include <iosfwd>
2021-12-24 21:31:27 +08:00
namespace sf
{
2022-07-05 00:20:58 +08:00
struct BlendMode;
2024-09-24 03:55:33 +08:00
enum class StencilComparison;
enum class StencilUpdateOperation;
struct StencilMode;
2022-07-05 00:20:58 +08:00
class Color;
class Transform;
template <typename>
class Rect;
2022-07-05 00:20:58 +08:00
std::ostream& operator<<(std::ostream& os, const BlendMode& blendMode);
2024-09-24 03:55:33 +08:00
std::ostream& operator<<(std::ostream& os, const StencilComparison& comparison);
std::ostream& operator<<(std::ostream& os, const StencilUpdateOperation& updateOperation);
std::ostream& operator<<(std::ostream& os, const StencilMode& stencilMode);
2024-06-30 00:48:52 +08:00
std::ostream& operator<<(std::ostream& os, Color color);
2022-07-05 00:20:58 +08:00
std::ostream& operator<<(std::ostream& os, const Transform& transform);
template <typename T>
std::ostream& operator<<(std::ostream& os, const Rect<T>& rect);
2022-07-05 00:20:58 +08:00
} // namespace sf
bool operator==(const sf::Transform& lhs, const Approx<sf::Transform>& rhs);
2023-09-28 12:27:20 +08:00
template <typename T>
bool operator==(const sf::Rect<T>& lhs, const Approx<sf::Rect<T>>& rhs)
{
return lhs.position == Approx(rhs.value.position) && lhs.size == Approx(rhs.value.size);
2023-09-28 12:27:20 +08:00
}