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

Side by Side Diff: Source/core/layout/line/LineLayoutState.h

Issue 1132103007: Remove obsolete float-management code from line layout (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Updated Created 5 years, 5 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) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ight reserved. 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ight reserved.
4 * Copyright (C) 2010 Google Inc. All rights reserved. 4 * Copyright (C) 2010 Google Inc. All rights reserved.
5 * Copyright (C) 2014 Adobe Systems Incorporated. All rights reserved. 5 * Copyright (C) 2014 Adobe Systems Incorporated. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 21 matching lines...) Expand all
32 // Like LayoutState for layout(), LineLayoutState keeps track of global informat ion 32 // Like LayoutState for layout(), LineLayoutState keeps track of global informat ion
33 // during an entire linebox tree layout pass (aka layoutInlineChildren). 33 // during an entire linebox tree layout pass (aka layoutInlineChildren).
34 class LineLayoutState { 34 class LineLayoutState {
35 public: 35 public:
36 LineLayoutState(bool fullLayout, LayoutUnit& paintInvalidationLogicalTop, La youtUnit& paintInvalidationLogicalBottom, LayoutFlowThread* flowThread) 36 LineLayoutState(bool fullLayout, LayoutUnit& paintInvalidationLogicalTop, La youtUnit& paintInvalidationLogicalBottom, LayoutFlowThread* flowThread)
37 : m_lastFloat(nullptr) 37 : m_lastFloat(nullptr)
38 , m_endLine(nullptr) 38 , m_endLine(nullptr)
39 , m_floatIndex(0) 39 , m_floatIndex(0)
40 , m_endLineLogicalTop(0) 40 , m_endLineLogicalTop(0)
41 , m_endLineMatched(false) 41 , m_endLineMatched(false)
42 , m_checkForFloatsFromLastLine(false)
43 , m_hasInlineChild(false) 42 , m_hasInlineChild(false)
44 , m_isFullLayout(fullLayout) 43 , m_isFullLayout(fullLayout)
45 , m_paintInvalidationLogicalTop(paintInvalidationLogicalTop) 44 , m_paintInvalidationLogicalTop(paintInvalidationLogicalTop)
46 , m_paintInvalidationLogicalBottom(paintInvalidationLogicalBottom) 45 , m_paintInvalidationLogicalBottom(paintInvalidationLogicalBottom)
47 , m_adjustedLogicalLineTop(0) 46 , m_adjustedLogicalLineTop(0)
48 , m_usesPaintInvalidationBounds(false) 47 , m_usesPaintInvalidationBounds(false)
49 , m_flowThread(flowThread) 48 , m_flowThread(flowThread)
50 { } 49 { }
51 50
52 void markForFullLayout() { m_isFullLayout = true; } 51 void markForFullLayout() { m_isFullLayout = true; }
(...skipping 10 matching lines...) Expand all
63 void updatePaintInvalidationRangeFromBox(RootInlineBox* box, LayoutUnit pagi nationDelta = 0) 62 void updatePaintInvalidationRangeFromBox(RootInlineBox* box, LayoutUnit pagi nationDelta = 0)
64 { 63 {
65 m_usesPaintInvalidationBounds = true; 64 m_usesPaintInvalidationBounds = true;
66 m_paintInvalidationLogicalTop = std::min(m_paintInvalidationLogicalTop, box->logicalTopVisualOverflow() + std::min<LayoutUnit>(paginationDelta, 0)); 65 m_paintInvalidationLogicalTop = std::min(m_paintInvalidationLogicalTop, box->logicalTopVisualOverflow() + std::min<LayoutUnit>(paginationDelta, 0));
67 m_paintInvalidationLogicalBottom = std::max(m_paintInvalidationLogicalBo ttom, box->logicalBottomVisualOverflow() + std::max<LayoutUnit>(paginationDelta, 0)); 66 m_paintInvalidationLogicalBottom = std::max(m_paintInvalidationLogicalBo ttom, box->logicalBottomVisualOverflow() + std::max<LayoutUnit>(paginationDelta, 0));
68 } 67 }
69 68
70 bool endLineMatched() const { return m_endLineMatched; } 69 bool endLineMatched() const { return m_endLineMatched; }
71 void setEndLineMatched(bool endLineMatched) { m_endLineMatched = endLineMatc hed; } 70 void setEndLineMatched(bool endLineMatched) { m_endLineMatched = endLineMatc hed; }
72 71
73 bool checkForFloatsFromLastLine() const { return m_checkForFloatsFromLastLin e; }
74 void setCheckForFloatsFromLastLine(bool check) { m_checkForFloatsFromLastLin e = check; }
75
76 bool hasInlineChild() const { return m_hasInlineChild; } 72 bool hasInlineChild() const { return m_hasInlineChild; }
77 void setHasInlineChild(bool hasInlineChild) { m_hasInlineChild = hasInlineCh ild; } 73 void setHasInlineChild(bool hasInlineChild) { m_hasInlineChild = hasInlineCh ild; }
78 74
79 75
80 LineInfo& lineInfo() { return m_lineInfo; } 76 LineInfo& lineInfo() { return m_lineInfo; }
81 const LineInfo& lineInfo() const { return m_lineInfo; } 77 const LineInfo& lineInfo() const { return m_lineInfo; }
82 78
83 LayoutUnit endLineLogicalTop() const { return m_endLineLogicalTop; } 79 LayoutUnit endLineLogicalTop() const { return m_endLineLogicalTop; }
84 void setEndLineLogicalTop(LayoutUnit logicalTop) { m_endLineLogicalTop = log icalTop; } 80 void setEndLineLogicalTop(LayoutUnit logicalTop) { m_endLineLogicalTop = log icalTop; }
85 81
(...skipping 14 matching lines...) Expand all
100 LayoutFlowThread* flowThread() const { return m_flowThread; } 96 LayoutFlowThread* flowThread() const { return m_flowThread; }
101 97
102 private: 98 private:
103 Vector<LayoutBlockFlow::FloatWithRect> m_floats; 99 Vector<LayoutBlockFlow::FloatWithRect> m_floats;
104 FloatingObject* m_lastFloat; 100 FloatingObject* m_lastFloat;
105 RootInlineBox* m_endLine; 101 RootInlineBox* m_endLine;
106 LineInfo m_lineInfo; 102 LineInfo m_lineInfo;
107 unsigned m_floatIndex; 103 unsigned m_floatIndex;
108 LayoutUnit m_endLineLogicalTop; 104 LayoutUnit m_endLineLogicalTop;
109 bool m_endLineMatched; 105 bool m_endLineMatched;
110 bool m_checkForFloatsFromLastLine;
111 // Used as a performance optimization to avoid doing a full paint invalidati on when our floats 106 // Used as a performance optimization to avoid doing a full paint invalidati on when our floats
112 // change but we don't have any inline children. 107 // change but we don't have any inline children.
113 bool m_hasInlineChild; 108 bool m_hasInlineChild;
114 109
115 bool m_isFullLayout; 110 bool m_isFullLayout;
116 111
117 // FIXME: Should this be a range object instead of two ints? 112 // FIXME: Should this be a range object instead of two ints?
118 LayoutUnit& m_paintInvalidationLogicalTop; 113 LayoutUnit& m_paintInvalidationLogicalTop;
119 LayoutUnit& m_paintInvalidationLogicalBottom; 114 LayoutUnit& m_paintInvalidationLogicalBottom;
120 115
121 LayoutUnit m_adjustedLogicalLineTop; 116 LayoutUnit m_adjustedLogicalLineTop;
122 117
123 bool m_usesPaintInvalidationBounds; 118 bool m_usesPaintInvalidationBounds;
124 119
125 LayoutFlowThread* m_flowThread; 120 LayoutFlowThread* m_flowThread;
126 }; 121 };
127 122
128 } 123 }
129 124
130 #endif // LineLayoutState_h 125 #endif // LineLayoutState_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698