#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_GEOMETRY_LOGICAL_SIZE_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_GEOMETRY_LOGICAL_SIZE_H_
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/layout/geometry/box_strut.h"
#include "third_party/blink/renderer/core/layout/geometry/logical_offset.h"
#include "third_party/blink/renderer/platform/geometry/layout_unit.h"
#include "third_party/blink/renderer/platform/text/writing_mode.h"
namespace blink {
struct LogicalOffset;
struct CORE_EXPORT LogicalSize { … };
constexpr LogicalSize kIndefiniteLogicalSize(kIndefiniteSize, kIndefiniteSize);
inline LogicalSize operator-(const LogicalSize& a, const BoxStrut& b) { … }
inline LogicalSize& operator-=(LogicalSize& a, const BoxStrut& b) { … }
inline LogicalSize operator+(const LogicalSize& a, const BoxStrut& b) { … }
inline LogicalOffset operator+(const LogicalOffset& offset,
const LogicalSize& size) { … }
inline LogicalOffset& operator+=(LogicalOffset& offset,
const LogicalSize& size) { … }
CORE_EXPORT std::ostream& operator<<(std::ostream&, const LogicalSize&);
struct CORE_EXPORT LogicalDelta : public LogicalSize { … };
inline LogicalDelta operator-(const LogicalOffset& a, const LogicalOffset& b) { … }
}
#endif