1 #pragma once 2 3 #include <cstdint> 4 #include <array> 5 6 namespace mbgl { 7 8 class Size { 9 public: 10 constexpr Size() = default; 11 Size(const uint32_t width_,const uint32_t height_)12 constexpr Size(const uint32_t width_, const uint32_t height_) : width(width_), height(height_) { 13 } 14 area() const15 constexpr uint32_t area() const { 16 return width * height; 17 } 18 aspectRatio() const19 constexpr float aspectRatio() const { 20 return static_cast<float>(width) / static_cast<float>(height); 21 } 22 isEmpty() const23 constexpr bool isEmpty() const { 24 return width == 0 || height == 0; 25 } 26 27 uint32_t width = 0; 28 uint32_t height = 0; 29 }; 30 operator ==(const Size & a,const Size & b)31constexpr inline bool operator==(const Size& a, const Size& b) { 32 return a.width == b.width && a.height == b.height; 33 } 34 operator !=(const Size & a,const Size & b)35constexpr inline bool operator!=(const Size& a, const Size& b) { 36 return !(a == b); 37 } 38 39 } // namespace mbgl 40