| Index: third_party/WebKit/Source/core/layout/ng/geometry/ng_logical_rect.h
|
| diff --git a/third_party/WebKit/Source/core/layout/ng/geometry/ng_logical_rect.h b/third_party/WebKit/Source/core/layout/ng/geometry/ng_logical_rect.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1256793311b7bb8fae666cd3f9744660f34acedb
|
| --- /dev/null
|
| +++ b/third_party/WebKit/Source/core/layout/ng/geometry/ng_logical_rect.h
|
| @@ -0,0 +1,55 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef NGLogicalRect_h
|
| +#define NGLogicalRect_h
|
| +
|
| +#include "core/CoreExport.h"
|
| +#include "core/layout/ng/geometry/ng_logical_offset.h"
|
| +#include "core/layout/ng/geometry/ng_logical_size.h"
|
| +#include "platform/LayoutUnit.h"
|
| +
|
| +namespace blink {
|
| +
|
| +// NGLogicalRect is the position and size of a rect (typically a fragment)
|
| +// relative to its parent rect in the logical coordinate system.
|
| +struct CORE_EXPORT NGLogicalRect {
|
| + NGLogicalRect() {}
|
| + NGLogicalRect(const NGLogicalOffset& offset, const NGLogicalSize& size)
|
| + : offset(offset), size(size) {}
|
| + NGLogicalRect(LayoutUnit inline_offset,
|
| + LayoutUnit block_offset,
|
| + LayoutUnit inline_size,
|
| + LayoutUnit block_size)
|
| + : offset(inline_offset, block_offset), size(inline_size, block_size) {}
|
| +
|
| + bool IsEmpty() const;
|
| +
|
| + // Whether this rectangle is contained by the provided rectangle.
|
| + bool IsContained(const NGLogicalRect& other) const;
|
| +
|
| + LayoutUnit InlineStartOffset() const { return offset.inline_offset; }
|
| + LayoutUnit InlineEndOffset() const {
|
| + return offset.inline_offset + size.inline_size;
|
| + }
|
| + LayoutUnit BlockStartOffset() const { return offset.block_offset; }
|
| + LayoutUnit BlockEndOffset() const {
|
| + return offset.block_offset + size.block_size;
|
| + }
|
| +
|
| + LayoutUnit BlockSize() const { return size.block_size; }
|
| + LayoutUnit InlineSize() const { return size.inline_size; }
|
| +
|
| + String ToString() const;
|
| + bool operator==(const NGLogicalRect& other) const;
|
| +
|
| + NGLogicalOffset offset;
|
| + NGLogicalSize size;
|
| +};
|
| +
|
| +CORE_EXPORT std::ostream& operator<<(std::ostream&, const NGLogicalRect&);
|
| +
|
| +} // namespace blink
|
| +
|
| +#endif // NGLogicalRect_h
|
|
|