namespace {
void tabline(PainterInfo const & pi, int x1, int y1, int x2, int y2,
- bool drawline, int thickness = 1)
+ bool drawline, bool heavy = false)
{
ColorCode const col = drawline ? Color_tabularline : Color_tabularonoffline;
pi.pain.line(x1, y1, x2, y2, pi.textColor(col),
drawline ? Painter::line_solid : Painter::line_onoffdash,
- thickness * Painter::thin_line);
+ (heavy ? 2 : 1) * Painter::thin_line);
}
}
// Top
bool drawline = tabular.topLine(cell)
|| (row > 0 && tabular.bottomLine(tabular.cellAbove(cell)));
- int thickness = 1;
- if (drawline && tabular.use_booktabs && tabular.rowTopLine(row))
- thickness = (row == 0) ? 3 : 2;
- tabline(pi, x, y, x + w, y, drawline, thickness);
+ bool heavy = tabular.use_booktabs && row == 0 && tabular.rowTopLine(row);
+ tabline(pi, x, y, x + w, y, drawline, heavy);
// Bottom
drawline = tabular.bottomLine(cell);
- thickness = 1;
- if (drawline && tabular.use_booktabs && tabular.rowBottomLine(row))
- thickness = (row == tabular.nrows() - 1) ? 3 : 2;
- tabline(pi, x, y + h, x + w, y + h, drawline, thickness);
+ heavy = tabular.use_booktabs && row == tabular.nrows() - 1
+ && tabular.rowBottomLine(row);
+ tabline(pi, x, y + h, x + w, y + h, drawline, heavy);
// Left
col_type const col = tabular.cellColumn(cell);