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

Side by Side Diff: sky/engine/core/rendering/RenderLineBoxList.h

Issue 899753003: Walk render tree instead of render layers for paint. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: address review comments Created 5 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2009 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 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 void deleteLineBoxTree(); 56 void deleteLineBoxTree();
57 void deleteLineBoxes(); 57 void deleteLineBoxes();
58 58
59 void extractLineBox(InlineFlowBox*); 59 void extractLineBox(InlineFlowBox*);
60 void attachLineBox(InlineFlowBox*); 60 void attachLineBox(InlineFlowBox*);
61 void removeLineBox(InlineFlowBox*); 61 void removeLineBox(InlineFlowBox*);
62 62
63 void dirtyLineBoxes(); 63 void dirtyLineBoxes();
64 void dirtyLinesFromChangedChild(RenderObject* parent, RenderObject* child); 64 void dirtyLinesFromChangedChild(RenderObject* parent, RenderObject* child);
65 65
66 void paint(RenderBoxModelObject*, PaintInfo&, const LayoutPoint&) const; 66 void paint(RenderBoxModelObject*, PaintInfo&, const LayoutPoint&, Vector<Ren derBox*>& layers) const;
67 bool hitTest(RenderBoxModelObject*, const HitTestRequest&, HitTestResult&, c onst HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) const; 67 bool hitTest(RenderBoxModelObject*, const HitTestRequest&, HitTestResult&, c onst HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) const;
68 68
69 private: 69 private:
70 bool anyLineIntersectsRect(RenderBoxModelObject*, const LayoutRect&, const L ayoutPoint&) const; 70 bool anyLineIntersectsRect(RenderBoxModelObject*, const LayoutRect&, const L ayoutPoint&) const;
71 bool lineIntersectsDirtyRect(RenderBoxModelObject*, InlineFlowBox*, const Pa intInfo&, const LayoutPoint&) const; 71 bool lineIntersectsDirtyRect(RenderBoxModelObject*, InlineFlowBox*, const Pa intInfo&, const LayoutPoint&) const;
72 bool rangeIntersectsRect(RenderBoxModelObject*, LayoutUnit logicalTop, Layou tUnit logicalBottom, const LayoutRect&, const LayoutPoint&) const; 72 bool rangeIntersectsRect(RenderBoxModelObject*, LayoutUnit logicalTop, Layou tUnit logicalBottom, const LayoutRect&, const LayoutPoint&) const;
73 73
74 // For block flows, each box represents the root inline box for a line in th e 74 // For block flows, each box represents the root inline box for a line in th e
75 // paragraph. 75 // paragraph.
76 // For inline flows, each box represents a portion of that inline. 76 // For inline flows, each box represents a portion of that inline.
77 InlineFlowBox* m_firstLineBox; 77 InlineFlowBox* m_firstLineBox;
78 InlineFlowBox* m_lastLineBox; 78 InlineFlowBox* m_lastLineBox;
79 }; 79 };
80 80
81 81
82 #if !ENABLE(ASSERT) 82 #if !ENABLE(ASSERT)
83 inline void RenderLineBoxList::checkConsistency() const 83 inline void RenderLineBoxList::checkConsistency() const
84 { 84 {
85 } 85 }
86 #endif 86 #endif
87 87
88 } // namespace blink 88 } // namespace blink
89 89
90 #endif // SKY_ENGINE_CORE_RENDERING_RENDERLINEBOXLIST_H_ 90 #endif // SKY_ENGINE_CORE_RENDERING_RENDERLINEBOXLIST_H_
OLDNEW
« no previous file with comments | « sky/engine/core/rendering/RenderLayer.cpp ('k') | sky/engine/core/rendering/RenderLineBoxList.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698