Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(863)

Unified Diff: third_party/WebKit/Source/core/layout/ng/geometry/ng_logical_rect.h

Issue 2721613003: [LayoutNG] Move remaining ng_units structs to their own files (Closed)
Patch Set: Don't export NGBoxStrut for now Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698