27 lines
716 B
C
27 lines
716 B
C
|
|
#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
|