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

Side by Side Diff: sky/engine/core/rendering/RenderFlexibleBox.cpp

Issue 899753003: Walk render tree instead of render layers for paint. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: 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) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 } 251 }
252 252
253 void RenderFlexibleBox::appendChildFrameRects(ChildFrameRects& childFrameRects) 253 void RenderFlexibleBox::appendChildFrameRects(ChildFrameRects& childFrameRects)
254 { 254 {
255 for (RenderBox* child = m_orderIterator.first(); child; child = m_orderItera tor.next()) { 255 for (RenderBox* child = m_orderIterator.first(); child; child = m_orderItera tor.next()) {
256 if (!child->isOutOfFlowPositioned()) 256 if (!child->isOutOfFlowPositioned())
257 childFrameRects.append(child->frameRect()); 257 childFrameRects.append(child->frameRect());
258 } 258 }
259 } 259 }
260 260
261 void RenderFlexibleBox::paintChildren(PaintInfo& paintInfo, const LayoutPoint& p aintOffset) 261 void RenderFlexibleBox::paintChildren(PaintInfo& paintInfo, const LayoutPoint& p aintOffset, Vector<RenderBox*>& layers)
262 { 262 {
263 for (RenderBox* child = m_orderIterator.first(); child; child = m_orderItera tor.next()) { 263 for (RenderBox* child = m_orderIterator.first(); child; child = m_orderItera tor.next()) {
264 if (!child->hasSelfPaintingLayer()) 264 if (child->hasSelfPaintingLayer())
265 child->paint(paintInfo, paintOffset); 265 layers.append(child);
266 else
267 child->paint(paintInfo, paintOffset, layers);
266 } 268 }
267 } 269 }
268 270
269 void RenderFlexibleBox::repositionLogicalHeightDependentFlexItems(Vector<LineCon text>& lineContexts) 271 void RenderFlexibleBox::repositionLogicalHeightDependentFlexItems(Vector<LineCon text>& lineContexts)
270 { 272 {
271 LayoutUnit crossAxisStartEdge = lineContexts.isEmpty() ? LayoutUnit() : line Contexts[0].crossAxisOffset; 273 LayoutUnit crossAxisStartEdge = lineContexts.isEmpty() ? LayoutUnit() : line Contexts[0].crossAxisOffset;
272 alignFlexLines(lineContexts); 274 alignFlexLines(lineContexts);
273 275
274 alignChildren(lineContexts); 276 alignChildren(lineContexts);
275 277
(...skipping 1010 matching lines...) Expand 10 before | Expand all | Expand 10 after
1286 ASSERT(child); 1288 ASSERT(child);
1287 LayoutUnit lineCrossAxisExtent = lineContexts[lineNumber].crossAxisE xtent; 1289 LayoutUnit lineCrossAxisExtent = lineContexts[lineNumber].crossAxisE xtent;
1288 LayoutUnit originalOffset = lineContexts[lineNumber].crossAxisOffset - crossAxisStartEdge; 1290 LayoutUnit originalOffset = lineContexts[lineNumber].crossAxisOffset - crossAxisStartEdge;
1289 LayoutUnit newOffset = contentExtent - originalOffset - lineCrossAxi sExtent; 1291 LayoutUnit newOffset = contentExtent - originalOffset - lineCrossAxi sExtent;
1290 adjustAlignmentForChild(child, newOffset - originalOffset); 1292 adjustAlignmentForChild(child, newOffset - originalOffset);
1291 } 1293 }
1292 } 1294 }
1293 } 1295 }
1294 1296
1295 } 1297 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698