Bug 1157569 part 5 - Convert GetColorAndStyle, GetPaintStyleInfo, and CompareBorders in nsTableFrame to accept writing mode and logical side. r=roc

This changes behavior of border collapse on RTL tables, but it seems
that there is no test coverage on those cases, and those cases should
have been broken before, due to the mix of m{Start,End}side and
physical sides in the methods. Hence this change should be fine, as
long as we are going to fix it in later patches.
This commit is contained in:
Xidorn Quan 2015-05-04 19:09:25 +12:00
parent ab3dde94c2
commit 581e6ac1a8

View File

@ -4672,21 +4672,22 @@ static uint8_t styleToPriority[13] = { 0, // NS_STYLE_BORDER_STYLE_NONE
// and the lowest: 'inset'. none is even weaker
#define CELL_CORNER true
/** return the border style, border color and optional the width in
/** return the border style, border color and optionally the width in
* pixel for a given frame and side
* @param aFrame - query the info for this frame
* @param aTableWM - the writing-mode of the frame
* @param aSide - the side of the frame
* @param aStyle - the border style
* @param aColor - the border color
* @param aTableIsLTR - table direction is LTR
* @param aWidth - the border width in px.
* @param aWidth - the border width in px
*/
static void
GetColorAndStyle(const nsIFrame* aFrame,
mozilla::css::Side aSide,
GetColorAndStyle(const nsIFrame* aFrame,
WritingMode aTableWM,
LogicalSide aSide,
uint8_t* aStyle,
nscolor* aColor,
bool aTableIsLTR,
BCPixelSize* aWidth = nullptr)
{
NS_PRECONDITION(aFrame, "null frame");
@ -4698,44 +4699,37 @@ GetColorAndStyle(const nsIFrame* aFrame,
}
const nsStyleBorder* styleData = aFrame->StyleBorder();
if(!aTableIsLTR) { // revert the directions
if (NS_SIDE_RIGHT == aSide) {
aSide = NS_SIDE_LEFT;
}
else if (NS_SIDE_LEFT == aSide) {
aSide = NS_SIDE_RIGHT;
}
}
*aStyle = styleData->GetBorderStyle(aSide);
mozilla::Side physicalSide = aTableWM.PhysicalSide(aSide);
*aStyle = styleData->GetBorderStyle(physicalSide);
if ((NS_STYLE_BORDER_STYLE_NONE == *aStyle) ||
(NS_STYLE_BORDER_STYLE_HIDDEN == *aStyle)) {
return;
}
*aColor = aFrame->StyleContext()->GetVisitedDependentColor(
nsCSSProps::SubpropertyEntryFor(eCSSProperty_border_color)[aSide]);
nsCSSProps::SubpropertyEntryFor(eCSSProperty_border_color)[physicalSide]);
if (aWidth) {
nscoord width = styleData->GetComputedBorderWidth(aSide);
nscoord width = styleData->GetComputedBorderWidth(physicalSide);
*aWidth = nsPresContext::AppUnitsToIntCSSPixels(width);
}
}
/** coerce the paint style as required by CSS2.1
* @param aFrame - query the info for this frame
* @param aTableWM - the writing mode of the frame
* @param aSide - the side of the frame
* @param aStyle - the border style
* @param aColor - the border color
* @param aTableIsLTR - table direction is LTR
*/
static void
GetPaintStyleInfo(const nsIFrame* aFrame,
mozilla::css::Side aSide,
GetPaintStyleInfo(const nsIFrame* aFrame,
WritingMode aTableWM,
LogicalSide aSide,
uint8_t* aStyle,
nscolor* aColor,
bool aTableIsLTR)
nscolor* aColor)
{
GetColorAndStyle(aFrame, aSide, aStyle, aColor, aTableIsLTR);
GetColorAndStyle(aFrame, aTableWM, aSide, aStyle, aColor);
if (NS_STYLE_BORDER_STYLE_INSET == *aStyle) {
*aStyle = NS_STYLE_BORDER_STYLE_RIDGE;
} else if (NS_STYLE_BORDER_STYLE_OUTSET == *aStyle) {
@ -4848,14 +4842,13 @@ CompareBorders(bool aIsCorner, // Pass true for corner calculatio
* scenarios with a adjacent owner.
* @param xxxFrame - the frame for style information, might be zero if
* it should not be considered
* @param aTableWM - the writing mode of the frame
* @param aSide - side of the frames that should be considered
* @param aAja - the border comparison takes place from the point of
* a frame that is adjacent to the cellmap entry, for
* when a cell owns its lower border it will be the
* adjacent owner as in the cellmap only top and left
* borders are stored.
* @param aTwipsToPixels - conversion factor as borders need to be drawn pixel
* aligned.
*/
static BCCellBorder
CompareBorders(const nsIFrame* aTableFrame,
@ -4864,16 +4857,17 @@ CompareBorders(const nsIFrame* aTableFrame,
const nsIFrame* aRowGroupFrame,
const nsIFrame* aRowFrame,
const nsIFrame* aCellFrame,
bool aTableIsLTR,
mozilla::css::Side aSide,
WritingMode aTableWM,
LogicalSide aSide,
bool aAja)
{
BCCellBorder border, tempBorder;
bool horizontal = (NS_SIDE_TOP == aSide) || (NS_SIDE_BOTTOM == aSide);
bool inlineAxis = IsBlock(aSide);
// start with the table as dominant if present
if (aTableFrame) {
GetColorAndStyle(aTableFrame, aSide, &border.style, &border.color, aTableIsLTR, &border.width);
GetColorAndStyle(aTableFrame, aTableWM, aSide,
&border.style, &border.color, &border.width);
border.owner = eTableOwner;
if (NS_STYLE_BORDER_STYLE_HIDDEN == border.style) {
return border;
@ -4881,8 +4875,9 @@ CompareBorders(const nsIFrame* aTableFrame,
}
// see if the colgroup is dominant
if (aColGroupFrame) {
GetColorAndStyle(aColGroupFrame, aSide, &tempBorder.style, &tempBorder.color, aTableIsLTR, &tempBorder.width);
tempBorder.owner = (aAja && !horizontal) ? eAjaColGroupOwner : eColGroupOwner;
GetColorAndStyle(aColGroupFrame, aTableWM, aSide,
&tempBorder.style, &tempBorder.color, &tempBorder.width);
tempBorder.owner = aAja && !inlineAxis ? eAjaColGroupOwner : eColGroupOwner;
// pass here and below false for aSecondIsHorizontal as it is only used for corner calculations.
border = CompareBorders(!CELL_CORNER, border, tempBorder, false);
if (NS_STYLE_BORDER_STYLE_HIDDEN == border.style) {
@ -4891,8 +4886,9 @@ CompareBorders(const nsIFrame* aTableFrame,
}
// see if the col is dominant
if (aColFrame) {
GetColorAndStyle(aColFrame, aSide, &tempBorder.style, &tempBorder.color, aTableIsLTR, &tempBorder.width);
tempBorder.owner = (aAja && !horizontal) ? eAjaColOwner : eColOwner;
GetColorAndStyle(aColFrame, aTableWM, aSide,
&tempBorder.style, &tempBorder.color, &tempBorder.width);
tempBorder.owner = aAja && !inlineAxis ? eAjaColOwner : eColOwner;
border = CompareBorders(!CELL_CORNER, border, tempBorder, false);
if (NS_STYLE_BORDER_STYLE_HIDDEN == border.style) {
return border;
@ -4900,8 +4896,9 @@ CompareBorders(const nsIFrame* aTableFrame,
}
// see if the rowgroup is dominant
if (aRowGroupFrame) {
GetColorAndStyle(aRowGroupFrame, aSide, &tempBorder.style, &tempBorder.color, aTableIsLTR, &tempBorder.width);
tempBorder.owner = (aAja && horizontal) ? eAjaRowGroupOwner : eRowGroupOwner;
GetColorAndStyle(aRowGroupFrame, aTableWM, aSide,
&tempBorder.style, &tempBorder.color, &tempBorder.width);
tempBorder.owner = aAja && inlineAxis ? eAjaRowGroupOwner : eRowGroupOwner;
border = CompareBorders(!CELL_CORNER, border, tempBorder, false);
if (NS_STYLE_BORDER_STYLE_HIDDEN == border.style) {
return border;
@ -4909,8 +4906,9 @@ CompareBorders(const nsIFrame* aTableFrame,
}
// see if the row is dominant
if (aRowFrame) {
GetColorAndStyle(aRowFrame, aSide, &tempBorder.style, &tempBorder.color, aTableIsLTR, &tempBorder.width);
tempBorder.owner = (aAja && horizontal) ? eAjaRowOwner : eRowOwner;
GetColorAndStyle(aRowFrame, aTableWM, aSide,
&tempBorder.style, &tempBorder.color, &tempBorder.width);
tempBorder.owner = aAja && inlineAxis ? eAjaRowOwner : eRowOwner;
border = CompareBorders(!CELL_CORNER, border, tempBorder, false);
if (NS_STYLE_BORDER_STYLE_HIDDEN == border.style) {
return border;
@ -4918,8 +4916,9 @@ CompareBorders(const nsIFrame* aTableFrame,
}
// see if the cell is dominant
if (aCellFrame) {
GetColorAndStyle(aCellFrame, aSide, &tempBorder.style, &tempBorder.color, aTableIsLTR, &tempBorder.width);
tempBorder.owner = (aAja) ? eAjaCellOwner : eCellOwner;
GetColorAndStyle(aCellFrame, aTableWM, aSide,
&tempBorder.style, &tempBorder.color, &tempBorder.width);
tempBorder.owner = aAja ? eAjaCellOwner : eCellOwner;
border = CompareBorders(!CELL_CORNER, border, tempBorder, false);
}
return border;
@ -5288,21 +5287,21 @@ BCMapCellInfo::SetTableTopLeftContBCBorder()
//because it must include the table in the collapse
if (mTopRow) {
currentBorder = CompareBorders(mTableFrame, nullptr, nullptr, mRowGroup,
mTopRow, nullptr, mTableWM.IsBidiLTR(),
NS_SIDE_TOP, !ADJACENT);
mTopRow, nullptr, mTableWM,
eLogicalSideBStart, !ADJACENT);
mTopRow->SetContinuousBCBorderWidth(NS_SIDE_TOP, currentBorder.width);
}
if (mCgAtRight && mColGroup) {
//calculate continuous top colgroup border once per colgroup
currentBorder = CompareBorders(mTableFrame, mColGroup, nullptr, mRowGroup,
mTopRow, nullptr, mTableWM.IsBidiLTR(),
NS_SIDE_TOP, !ADJACENT);
mTopRow, nullptr, mTableWM,
eLogicalSideBStart, !ADJACENT);
mColGroup->SetContinuousBCBorderWidth(NS_SIDE_TOP, currentBorder.width);
}
if (0 == mColIndex) {
currentBorder = CompareBorders(mTableFrame, mColGroup, mLeftCol, nullptr,
nullptr, nullptr, mTableWM.IsBidiLTR(), NS_SIDE_LEFT,
!ADJACENT);
nullptr, nullptr, mTableWM,
eLogicalSideIStart, !ADJACENT);
mTableFrame->SetContinuousLeftBCBorderWidth(currentBorder.width);
}
}
@ -5314,8 +5313,8 @@ BCMapCellInfo::SetRowGroupLeftContBCBorder()
//get row group continuous borders
if (mRgAtBottom && mRowGroup) { //once per row group, so check for bottom
currentBorder = CompareBorders(mTableFrame, mColGroup, mLeftCol, mRowGroup,
nullptr, nullptr, mTableWM.IsBidiLTR(), NS_SIDE_LEFT,
!ADJACENT);
nullptr, nullptr, mTableWM,
eLogicalSideIStart, !ADJACENT);
mRowGroup->SetContinuousBCBorderWidth(mStartSide, currentBorder.width);
}
}
@ -5327,7 +5326,7 @@ BCMapCellInfo::SetRowGroupRightContBCBorder()
//get row group continuous borders
if (mRgAtBottom && mRowGroup) { //once per mRowGroup, so check for bottom
currentBorder = CompareBorders(mTableFrame, mColGroup, mRightCol, mRowGroup,
nullptr, nullptr, mTableWM.IsBidiLTR(), NS_SIDE_RIGHT,
nullptr, nullptr, mTableWM, eLogicalSideIEnd,
ADJACENT);
mRowGroup->SetContinuousBCBorderWidth(mEndSide, currentBorder.width);
}
@ -5341,18 +5340,18 @@ BCMapCellInfo::SetColumnTopRightContBCBorder()
//we only need to do this once, so we'll do it only on the first row
currentBorder = CompareBorders(mTableFrame, mCurrentColGroupFrame,
mCurrentColFrame, mRowGroup, mTopRow, nullptr,
mTableWM.IsBidiLTR(), NS_SIDE_TOP, !ADJACENT);
mTableWM, eLogicalSideBStart, !ADJACENT);
((nsTableColFrame*) mCurrentColFrame)->SetContinuousBCBorderWidth(NS_SIDE_TOP,
currentBorder.width);
if (mNumTableCols == GetCellEndColIndex() + 1) {
currentBorder = CompareBorders(mTableFrame, mCurrentColGroupFrame,
mCurrentColFrame, nullptr, nullptr, nullptr,
mTableWM.IsBidiLTR(), NS_SIDE_RIGHT, !ADJACENT);
mTableWM, eLogicalSideIEnd, !ADJACENT);
}
else {
currentBorder = CompareBorders(nullptr, mCurrentColGroupFrame,
mCurrentColFrame, nullptr,nullptr, nullptr,
mTableWM.IsBidiLTR(), NS_SIDE_RIGHT, !ADJACENT);
mTableWM, eLogicalSideIEnd, !ADJACENT);
}
mCurrentColFrame->SetContinuousBCBorderWidth(NS_SIDE_RIGHT,
currentBorder.width);
@ -5365,7 +5364,7 @@ BCMapCellInfo::SetColumnBottomContBCBorder()
//get col continuous border
currentBorder = CompareBorders(mTableFrame, mCurrentColGroupFrame,
mCurrentColFrame, mRowGroup, mBottomRow,
nullptr, mTableWM.IsBidiLTR(), NS_SIDE_BOTTOM, ADJACENT);
nullptr, mTableWM, eLogicalSideBEnd, ADJACENT);
mCurrentColFrame->SetContinuousBCBorderWidth(NS_SIDE_BOTTOM,
currentBorder.width);
}
@ -5376,8 +5375,8 @@ BCMapCellInfo::SetColGroupBottomContBCBorder()
BCCellBorder currentBorder;
if (mColGroup) {
currentBorder = CompareBorders(mTableFrame, mColGroup, nullptr, mRowGroup,
mBottomRow, nullptr, mTableWM.IsBidiLTR(),
NS_SIDE_BOTTOM, ADJACENT);
mBottomRow, nullptr, mTableWM,
eLogicalSideBEnd, ADJACENT);
mColGroup->SetContinuousBCBorderWidth(NS_SIDE_BOTTOM, currentBorder.width);
}
}
@ -5388,8 +5387,8 @@ BCMapCellInfo::SetRowGroupBottomContBCBorder()
BCCellBorder currentBorder;
if (mRowGroup) {
currentBorder = CompareBorders(mTableFrame, nullptr, nullptr, mRowGroup,
mBottomRow, nullptr, mTableWM.IsBidiLTR(),
NS_SIDE_BOTTOM, ADJACENT);
mBottomRow, nullptr, mTableWM,
eLogicalSideBEnd, ADJACENT);
mRowGroup->SetContinuousBCBorderWidth(NS_SIDE_BOTTOM, currentBorder.width);
}
}
@ -5402,10 +5401,10 @@ BCMapCellInfo::SetInnerRowGroupBottomContBCBorder(const nsIFrame* aNextRowGroup,
const nsIFrame* rowgroup = (mRgAtBottom) ? mRowGroup : nullptr;
currentBorder = CompareBorders(nullptr, nullptr, nullptr, rowgroup, mBottomRow,
nullptr, mTableWM.IsBidiLTR(), NS_SIDE_BOTTOM, ADJACENT);
nullptr, mTableWM, eLogicalSideBEnd, ADJACENT);
adjacentBorder = CompareBorders(nullptr, nullptr, nullptr, aNextRowGroup,
aNextRow, nullptr, mTableWM.IsBidiLTR(), NS_SIDE_TOP,
aNextRow, nullptr, mTableWM, eLogicalSideBStart,
!ADJACENT);
currentBorder = CompareBorders(false, currentBorder, adjacentBorder,
HORIZONTAL);
@ -5424,8 +5423,8 @@ BCMapCellInfo::SetRowLeftContBCBorder()
if (mCurrentRowFrame) {
BCCellBorder currentBorder;
currentBorder = CompareBorders(mTableFrame, mColGroup, mLeftCol, mRowGroup,
mCurrentRowFrame, nullptr, mTableWM.IsBidiLTR(),
NS_SIDE_LEFT, !ADJACENT);
mCurrentRowFrame, nullptr, mTableWM,
eLogicalSideIStart, !ADJACENT);
mCurrentRowFrame->SetContinuousBCBorderWidth(mStartSide,
currentBorder.width);
}
@ -5437,8 +5436,8 @@ BCMapCellInfo::SetRowRightContBCBorder()
if (mCurrentRowFrame) {
BCCellBorder currentBorder;
currentBorder = CompareBorders(mTableFrame, mColGroup, mRightCol, mRowGroup,
mCurrentRowFrame, nullptr, mTableWM.IsBidiLTR(),
NS_SIDE_RIGHT, ADJACENT);
mCurrentRowFrame, nullptr, mTableWM,
eLogicalSideIEnd, ADJACENT);
mCurrentRowFrame->SetContinuousBCBorderWidth(mEndSide,
currentBorder.width);
}
@ -5569,7 +5568,7 @@ BCCellBorder
BCMapCellInfo::GetTopEdgeBorder()
{
return CompareBorders(mTableFrame, mCurrentColGroupFrame, mCurrentColFrame,
mRowGroup, mTopRow, mCell, mTableWM.IsBidiLTR(), NS_SIDE_TOP,
mRowGroup, mTopRow, mCell, mTableWM, eLogicalSideBStart,
!ADJACENT);
}
@ -5577,21 +5576,21 @@ BCCellBorder
BCMapCellInfo::GetBottomEdgeBorder()
{
return CompareBorders(mTableFrame, mCurrentColGroupFrame, mCurrentColFrame,
mRowGroup, mBottomRow, mCell, mTableWM.IsBidiLTR(),
NS_SIDE_BOTTOM, ADJACENT);
mRowGroup, mBottomRow, mCell, mTableWM,
eLogicalSideBEnd, ADJACENT);
}
BCCellBorder
BCMapCellInfo::GetLeftEdgeBorder()
{
return CompareBorders(mTableFrame, mColGroup, mLeftCol, mRowGroup,
mCurrentRowFrame, mCell, mTableWM.IsBidiLTR(), NS_SIDE_LEFT,
mCurrentRowFrame, mCell, mTableWM, eLogicalSideIStart,
!ADJACENT);
}
BCCellBorder
BCMapCellInfo::GetRightEdgeBorder()
{
return CompareBorders(mTableFrame, mColGroup, mRightCol, mRowGroup,
mCurrentRowFrame, mCell, mTableWM.IsBidiLTR(), NS_SIDE_RIGHT,
mCurrentRowFrame, mCell, mTableWM, eLogicalSideIEnd,
ADJACENT);
}
BCCellBorder
@ -5599,7 +5598,7 @@ BCMapCellInfo::GetRightInternalBorder()
{
const nsIFrame* cg = (mCgAtRight) ? mColGroup : nullptr;
return CompareBorders(nullptr, cg, mRightCol, nullptr, nullptr, mCell,
mTableWM.IsBidiLTR(), NS_SIDE_RIGHT, ADJACENT);
mTableWM, eLogicalSideIEnd, ADJACENT);
}
BCCellBorder
@ -5607,7 +5606,7 @@ BCMapCellInfo::GetLeftInternalBorder()
{
const nsIFrame* cg = (mCgAtLeft) ? mColGroup : nullptr;
return CompareBorders(nullptr, cg, mLeftCol, nullptr, nullptr, mCell,
mTableWM.IsBidiLTR(), NS_SIDE_LEFT, !ADJACENT);
mTableWM, eLogicalSideIStart, !ADJACENT);
}
BCCellBorder
@ -5615,7 +5614,7 @@ BCMapCellInfo::GetBottomInternalBorder()
{
const nsIFrame* rg = (mRgAtBottom) ? mRowGroup : nullptr;
return CompareBorders(nullptr, nullptr, nullptr, rg, mBottomRow, mCell,
mTableWM.IsBidiLTR(), NS_SIDE_BOTTOM, ADJACENT);
mTableWM, eLogicalSideBEnd, ADJACENT);
}
BCCellBorder
@ -5623,7 +5622,7 @@ BCMapCellInfo::GetTopInternalBorder()
{
const nsIFrame* rg = (mRgAtTop) ? mRowGroup : nullptr;
return CompareBorders(nullptr, nullptr, nullptr, rg, mTopRow, mCell,
mTableWM.IsBidiLTR(), NS_SIDE_TOP, !ADJACENT);
mTableWM, eLogicalSideBStart, !ADJACENT);
}
/* Here is the order for storing border edges in the cell map as a cell is processed. There are
@ -6930,8 +6929,8 @@ BCVerticalSeg::Paint(BCPaintBorderIterator& aIter,
BCPixelSize aHorSegHeight)
{
// get the border style, color and paint the segment
mozilla::css::Side side = (aIter.IsDamageAreaRightMost()) ? NS_SIDE_RIGHT :
NS_SIDE_LEFT;
LogicalSide side =
aIter.IsDamageAreaRightMost() ? eLogicalSideIEnd : eLogicalSideIStart;
int32_t relColIndex = aIter.GetRelativeColIndex();
nsTableColFrame* col = mCol; if (!col) ABORT0();
nsTableCellFrame* cell = mFirstCell; // ???
@ -6948,7 +6947,7 @@ BCVerticalSeg::Paint(BCPaintBorderIterator& aIter,
owner = aIter.mTable;
break;
case eAjaColGroupOwner:
side = NS_SIDE_RIGHT;
side = eLogicalSideIEnd;
if (!aIter.IsTableRightMost() && (relColIndex > 0)) {
col = aIter.mVerInfo[relColIndex - 1].mCol;
} // and fall through
@ -6958,7 +6957,7 @@ BCVerticalSeg::Paint(BCPaintBorderIterator& aIter,
}
break;
case eAjaColOwner:
side = NS_SIDE_RIGHT;
side = eLogicalSideIEnd;
if (!aIter.IsTableRightMost() && (relColIndex > 0)) {
col = aIter.mVerInfo[relColIndex - 1].mCol;
} // and fall through
@ -6981,14 +6980,14 @@ BCVerticalSeg::Paint(BCPaintBorderIterator& aIter,
owner = mFirstRow;
break;
case eAjaCellOwner:
side = NS_SIDE_RIGHT;
side = eLogicalSideIEnd;
cell = mAjaCell; // and fall through
case eCellOwner:
owner = cell;
break;
}
if (owner) {
::GetPaintStyleInfo(owner, side, &style, &color, aIter.mTableWM.IsBidiLTR());
::GetPaintStyleInfo(owner, aIter.mTableWM, side, &style, &color);
}
BCPixelSize smallHalf, largeHalf;
DivideBCBorderSize(mWidth, smallHalf, largeHalf);
@ -7118,8 +7117,8 @@ BCHorizontalSeg::Paint(BCPaintBorderIterator& aIter,
nsRenderingContext& aRenderingContext)
{
// get the border style, color and paint the segment
mozilla::css::Side side = (aIter.IsDamageAreaBottomMost()) ? NS_SIDE_BOTTOM :
NS_SIDE_TOP;
LogicalSide side =
aIter.IsDamageAreaBottomMost() ? eLogicalSideBEnd : eLogicalSideBStart;
nsIFrame* rg = aIter.mRg; if (!rg) ABORT0();
nsIFrame* row = aIter.mRow; if (!row) ABORT0();
nsIFrame* cell = mFirstCell;
@ -7157,21 +7156,21 @@ BCHorizontalSeg::Paint(BCPaintBorderIterator& aIter,
owner = aIter.mTableFirstInFlow->GetColFrame(aIter.mColIndex - 1);
break;
case eAjaRowGroupOwner:
side = NS_SIDE_BOTTOM;
side = eLogicalSideBEnd;
rg = (aIter.IsTableBottomMost()) ? aIter.mRg : aIter.mPrevRg;
// and fall through
case eRowGroupOwner:
owner = rg;
break;
case eAjaRowOwner:
side = NS_SIDE_BOTTOM;
side = eLogicalSideBEnd;
row = (aIter.IsTableBottomMost()) ? aIter.mRow : aIter.mPrevRow;
// and fall through
case eRowOwner:
owner = row;
break;
case eAjaCellOwner:
side = NS_SIDE_BOTTOM;
side = eLogicalSideBEnd;
// if this is null due to the damage area origin-y > 0, then the border
// won't show up anyway
cell = mAjaCell;
@ -7181,7 +7180,7 @@ BCHorizontalSeg::Paint(BCPaintBorderIterator& aIter,
break;
}
if (owner) {
::GetPaintStyleInfo(owner, side, &style, &color, aIter.mTableWM.IsBidiLTR());
::GetPaintStyleInfo(owner, aIter.mTableWM, side, &style, &color);
}
BCPixelSize smallHalf, largeHalf;
DivideBCBorderSize(mWidth, smallHalf, largeHalf);