Bug #4080 » 0001-Improve-WCartesianChart-vertical-Y-axis-titles.patch
| src/Wt/Chart/WCartesianChart.C | ||
|---|---|---|
|
chartArea_.top() - 8),
|
||
|
labelHFlag | AlignBottom, 0, 10);
|
||
|
} else {
|
||
|
if(axis.id() == YAxis) {
|
||
|
renderLabel(painter, axis.title(),
|
||
|
WPointF(u + (labelHFlag == AlignRight ? -40 : +40),
|
||
|
chartArea_.center().y() + axis.title().toUTF8().size() * titleFont.size()),
|
||
|
(labelHFlag == AlignRight ? AlignLeft : AlignRight) |
|
||
|
AlignMiddle, 90, 20);
|
||
|
}else {
|
||
|
renderLabel(painter, axis.title(),
|
||
|
WPointF(u + (labelHFlag == AlignRight ? -40 : +40),
|
||
|
chartArea_.center().y() + axis.title().toUTF8().size() * titleFont.size()),
|
||
|
(labelHFlag == AlignRight ? AlignRight : AlignLeft) |
|
||
|
AlignMiddle, 90, 20);
|
||
|
double textLengthEstimate = axis.title().toUTF8().size() * axis.titleFont().sizeLength().toPixels() / 2.0;
|
||
|
if (isAutoLayoutEnabled()) {
|
||
|
WTextItem t = painter.device()->measureText(axis.title());
|
||
|
textLengthEstimate = t.width();
|
||
|
}
|
||
|
double labelWidthEstimate = std::max(axis.label(axis.maximum()).toUTF8().size(),
|
||
|
axis.label(axis.minimum()).toUTF8().size()) * axis.labelFont().sizeLength().toPixels() / 1.5;
|
||
|
renderLabel(painter, axis.title(),
|
||
|
WPointF(u + (labelHFlag == AlignRight ? -1 * labelWidthEstimate - 20 : labelWidthEstimate + 20),
|
||
|
chartArea_.center().y() + textLengthEstimate / 2.0),
|
||
|
((labelHFlag == AlignRight) == (axis.id() == YAxis) ? AlignLeft : AlignRight) |
|
||
|
AlignMiddle, 90, 0);
|
||
|
}
|
||
|
} else {
|
||
|
renderLabel(painter, axis.title(),
|
||
- « Previous
- 1
- 2
- Next »