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

Side by Side Diff: Source/core/layout/LayoutMultiColumnFlowThread.cpp

Issue 1024023002: [New Multicolumn] mapAbsoluteToLocalPoint() needs to convert to flow thread coordinates. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: code review - remove more cruft. Created 5 years, 9 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2012 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 } 195 }
196 196
197 bool LayoutMultiColumnFlowThread::needsNewWidth() const 197 bool LayoutMultiColumnFlowThread::needsNewWidth() const
198 { 198 {
199 LayoutUnit newWidth; 199 LayoutUnit newWidth;
200 unsigned dummyColumnCount; // We only care if used column-width changes. 200 unsigned dummyColumnCount; // We only care if used column-width changes.
201 calculateColumnCountAndWidth(newWidth, dummyColumnCount); 201 calculateColumnCountAndWidth(newWidth, dummyColumnCount);
202 return newWidth != logicalWidth(); 202 return newWidth != logicalWidth();
203 } 203 }
204 204
205 LayoutPoint LayoutMultiColumnFlowThread::visualPointToFlowThreadPoint(const Layo utPoint& visualPoint) const
206 {
207 LayoutUnit blockOffset = isHorizontalWritingMode() ? visualPoint.y() : visua lPoint.x();
208 const LayoutMultiColumnSet* columnSet = nullptr;
209 for (const LayoutMultiColumnSet* candidate = firstMultiColumnSet(); candidat e; candidate = candidate->nextSiblingMultiColumnSet()) {
210 columnSet = candidate;
211 if (candidate->logicalBottom() > blockOffset)
212 break;
213 }
214 return columnSet ? columnSet->visualPointToFlowThreadPoint(toLayoutPoint(vis ualPoint + location() - columnSet->location())) : visualPoint;
215 }
216
205 LayoutMultiColumnSet* LayoutMultiColumnFlowThread::columnSetAtBlockOffset(Layout Unit offset) const 217 LayoutMultiColumnSet* LayoutMultiColumnFlowThread::columnSetAtBlockOffset(Layout Unit offset) const
206 { 218 {
207 if (m_lastSetWorkedOn) { 219 if (m_lastSetWorkedOn) {
208 // Layout in progress. We are calculating the set heights as we speak, s o the column set range 220 // Layout in progress. We are calculating the set heights as we speak, s o the column set range
209 // information is not up-to-date. 221 // information is not up-to-date.
210 return m_lastSetWorkedOn; 222 return m_lastSetWorkedOn;
211 } 223 }
212 224
213 ASSERT(!m_regionsInvalidated); 225 ASSERT(!m_regionsInvalidated);
214 if (m_multiColumnSetList.isEmpty()) 226 if (m_multiColumnSetList.isEmpty())
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 } 675 }
664 676
665 bool LayoutMultiColumnFlowThread::isPageLogicalHeightKnown() const 677 bool LayoutMultiColumnFlowThread::isPageLogicalHeightKnown() const
666 { 678 {
667 if (LayoutMultiColumnSet* columnSet = lastMultiColumnSet()) 679 if (LayoutMultiColumnSet* columnSet = lastMultiColumnSet())
668 return columnSet->pageLogicalHeight(); 680 return columnSet->pageLogicalHeight();
669 return false; 681 return false;
670 } 682 }
671 683
672 } 684 }
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutMultiColumnFlowThread.h ('k') | Source/core/layout/LayoutMultiColumnSet.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698