| OLD | NEW |
| 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 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 458 // Now get the overflow rect that corresponds to the column. | 458 // Now get the overflow rect that corresponds to the column. |
| 459 LayoutRect flowThreadOverflowPortion = flowThreadPortionOverflowRect(flo
wThreadPortion, i, colCount, colGap); | 459 LayoutRect flowThreadOverflowPortion = flowThreadPortionOverflowRect(flo
wThreadPortion, i, colCount, colGap); |
| 460 | 460 |
| 461 // Do a paint invalidation for this specific column. | 461 // Do a paint invalidation for this specific column. |
| 462 paintInvalidationOfFlowThreadContentRectangle(paintInvalidationRect, flo
wThreadPortion, flowThreadOverflowPortion, colRect.location()); | 462 paintInvalidationOfFlowThreadContentRectangle(paintInvalidationRect, flo
wThreadPortion, flowThreadOverflowPortion, colRect.location()); |
| 463 } | 463 } |
| 464 } | 464 } |
| 465 | 465 |
| 466 void RenderMultiColumnSet::collectLayerFragments(LayerFragments& fragments, cons
t LayoutRect& layerBoundingBox, const LayoutRect& dirtyRect) | 466 void RenderMultiColumnSet::collectLayerFragments(LayerFragments& fragments, cons
t LayoutRect& layerBoundingBox, const LayoutRect& dirtyRect) |
| 467 { | 467 { |
| 468 // The two rectangles passed to this method are physical, except that we pre
tend that there's | 468 // |layerBoundingBox| is in the flow thread coordinate space, relative to th
e top/left edge of |
| 469 // only one long column (that's how a flow thread works). | 469 // the flow thread, but note that it has been converted with respect to writ
ing mode (so that |
| 470 // it's visual/physical in that sense). |
| 471 // |
| 472 // |dirtyRect| is visual, relative to the multicol container. |
| 470 // | 473 // |
| 471 // Then there's the output from this method - the stuff we put into the list
of fragments. The | 474 // Then there's the output from this method - the stuff we put into the list
of fragments. The |
| 472 // fragment.paginationOffset point is the actual physical translation requir
ed to get from a | 475 // fragment.paginationOffset point is the actual visual translation required
to get from a |
| 473 // location in the flow thread to a location in a given column. The fragment
.paginationClip | 476 // location in the flow thread to a location in a given column. The fragment
.paginationClip |
| 474 // rectangle, on the other hand, is in the same coordinate system as the two
rectangles passed | 477 // rectangle, on the other hand, is in flow thread coordinates. |
| 475 // to this method (flow thread coordinates). | |
| 476 // | 478 // |
| 477 // All other rectangles in this method are sized physically, and the inline
direction coordinate | 479 // All other rectangles in this method are sized physically, and the inline
direction coordinate |
| 478 // is physical too, but the block direction coordinate is "logical top". Thi
s is the same as | 480 // is physical too, but the block direction coordinate is "logical top". Thi
s is the same as |
| 479 // e.g. RenderBox::frameRect(). These rectangles also pretend that there's o
nly one long column, | 481 // e.g. RenderBox::frameRect(). These rectangles also pretend that there's o
nly one long column, |
| 480 // i.e. they are for the flow thread. | 482 // i.e. they are for the flow thread. |
| 481 | 483 |
| 482 // Put the layer bounds into flow thread-local coordinates by flipping it fi
rst. Since we're in | 484 // Put the layer bounds into flow thread-local coordinates by flipping it fi
rst. Since we're in |
| 483 // a renderer, most rectangles are represented this way. | 485 // a renderer, most rectangles are represented this way. |
| 484 LayoutRect layerBoundsInFlowThread(layerBoundingBox); | 486 LayoutRect layerBoundsInFlowThread(layerBoundingBox); |
| 485 flowThread()->flipForWritingMode(layerBoundsInFlowThread); | 487 flowThread()->flipForWritingMode(layerBoundsInFlowThread); |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 620 | 622 |
| 621 void RenderMultiColumnSet::detachRegion() | 623 void RenderMultiColumnSet::detachRegion() |
| 622 { | 624 { |
| 623 if (m_flowThread) { | 625 if (m_flowThread) { |
| 624 m_flowThread->removeRegionFromThread(this); | 626 m_flowThread->removeRegionFromThread(this); |
| 625 m_flowThread = 0; | 627 m_flowThread = 0; |
| 626 } | 628 } |
| 627 } | 629 } |
| 628 | 630 |
| 629 } | 631 } |
| OLD | NEW |