#pragma once namespace extra2d { // --------------------------------------------------------------------------- // 2D 尺寸 // --------------------------------------------------------------------------- struct Size { float width = 0.0f; float height = 0.0f; constexpr Size() = default; constexpr Size(float w, float h) : width(w), height(h) {} bool operator==(const Size &s) const { return width == s.width && height == s.height; } bool operator!=(const Size &s) const { return !(*this == s); } float area() const { return width * height; } bool empty() const { return width <= 0.0f || height <= 0.0f; } static constexpr Size Zero() { return {0.0f, 0.0f}; } }; } // namespace extra2d