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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutBox.h

Issue 2808613002: Apply container offset and scroll between transform and container perspective. (Closed)
Patch Set: none Created 3 years, 8 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 unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/layout/LayoutBox.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved. 4 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 1239 matching lines...) Expand 10 before | Expand all | Expand 10 after
1250 // bounds actually intersects the clipping region. If edgeInclusive is true, 1250 // bounds actually intersects the clipping region. If edgeInclusive is true,
1251 // then this method may return true even if the resulting rect has zero area. 1251 // then this method may return true even if the resulting rect has zero area.
1252 // 1252 //
1253 // When applying offsets and not clips, the TransformAccumulation is 1253 // When applying offsets and not clips, the TransformAccumulation is
1254 // respected. If there is a clip, the TransformState is flattened first. 1254 // respected. If there is a clip, the TransformState is flattened first.
1255 bool MapScrollingContentsRectToBoxSpace( 1255 bool MapScrollingContentsRectToBoxSpace(
1256 TransformState&, 1256 TransformState&,
1257 TransformState::TransformAccumulation, 1257 TransformState::TransformAccumulation,
1258 VisualRectFlags = kDefaultVisualRectFlags) const; 1258 VisualRectFlags = kDefaultVisualRectFlags) const;
1259 1259
1260 // Applies the box clip. This is like mapScrollingContentsRectToBoxSpace,
1261 // except it does not apply scroll.
1262 bool ApplyBoxClips(TransformState&,
1263 TransformState::TransformAccumulation,
1264 VisualRectFlags) const;
1265
1266 // Maps the visual rect state |transformState| from this box into its
1267 // container, applying adjustments for the given container offset,
1268 // scrolling, container clipping, and transform (including container
1269 // perspective).
1270 bool MapVisualRectToContainer(const LayoutObject* container_bject,
1271 const LayoutPoint& container_offset,
1272 const LayoutObject* ancestor,
1273 VisualRectFlags,
1274 TransformState&) const;
1275
1260 virtual bool HasRelativeLogicalWidth() const; 1276 virtual bool HasRelativeLogicalWidth() const;
1261 virtual bool HasRelativeLogicalHeight() const; 1277 virtual bool HasRelativeLogicalHeight() const;
1262 1278
1263 bool HasHorizontalLayoutOverflow() const { 1279 bool HasHorizontalLayoutOverflow() const {
1264 if (!overflow_) 1280 if (!overflow_)
1265 return false; 1281 return false;
1266 1282
1267 LayoutRect layout_overflow_rect = overflow_->LayoutOverflowRect(); 1283 LayoutRect layout_overflow_rect = overflow_->LayoutOverflowRect();
1268 LayoutRect no_overflow_rect = this->NoOverflowRect(); 1284 LayoutRect no_overflow_rect = this->NoOverflowRect();
1269 return layout_overflow_rect.X() < no_overflow_rect.X() || 1285 return layout_overflow_rect.X() < no_overflow_rect.X() ||
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after
1722 break_value == EBreakBetween::kLeft || 1738 break_value == EBreakBetween::kLeft ||
1723 break_value == EBreakBetween::kPage || 1739 break_value == EBreakBetween::kPage ||
1724 break_value == EBreakBetween::kRecto || 1740 break_value == EBreakBetween::kRecto ||
1725 break_value == EBreakBetween::kRight || 1741 break_value == EBreakBetween::kRight ||
1726 break_value == EBreakBetween::kVerso; 1742 break_value == EBreakBetween::kVerso;
1727 } 1743 }
1728 1744
1729 } // namespace blink 1745 } // namespace blink
1730 1746
1731 #endif // LayoutBox_h 1747 #endif // LayoutBox_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/layout/LayoutBox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698