[Kst] extragear/graphics/kst/src/libkstapp
Andrew Walker
arwalker at sumusltd.com
Tue Jun 13 23:20:33 CEST 2006
SVN commit 551183 by arwalker:
BUG:129109 Correctly handle minor tick marks for log-mode and reversed axis (both x and y)
M +20 -12 kst2dplot.cpp
--- trunk/extragear/graphics/kst/src/libkstapp/kst2dplot.cpp #551182:551183
@@ -5590,22 +5590,26 @@
// draw x-ticks
if (_xLog) {
+ double XPos;
+
i = (int)floor((double)_xMajorTicks*(xleft_bdr_px - 1.0 - x_orig_px)/xtick_px);
for (;xtick_px * i + x_orig_px < x_px - xright_bdr_px + 1; i++) {
// draw major ticks
X1 = (x_orig_px + double(i) * xtick_px);
if (_xReversed) {
- X1 = x_px - xright_bdr_px - (X1 - xleft_bdr_px);
+ XPos = x_px - xright_bdr_px - (X1 - xleft_bdr_px);
+ } else {
+ XPos = X1;
}
- if (X1 > xleft_bdr_px && X1 < x_px - xright_bdr_px) {
- p.drawLine(d2i(X1),
+ if (XPos > xleft_bdr_px && XPos < x_px - xright_bdr_px) {
+ p.drawLine(d2i(XPos),
xMajorTopTickTop,
- d2i(X1),
+ d2i(XPos),
xMajorTopTickBottom);
- p.drawLine(d2i(X1),
+ p.drawLine(d2i(XPos),
xMajorBottomTickBottom,
- d2i(X1),
+ d2i(XPos),
xMajorBottomTickTop);
}
@@ -5659,22 +5663,26 @@
// draw y ticks
if (_yLog) {
+ double YPos;
+
i = (int)floor( (double)_yMajorTicks * ( ytop_bdr_px - 1.0 - y_orig_px ) / ytick_px );
for (; ytick_px * i + y_orig_px < y_px - ybot_bdr_px + 1; i++) {
// draw major ticks
Y1 = y_orig_px + (double)i * ytick_px;
if (_yReversed) {
- Y1 = y_px - ybot_bdr_px - (Y1 - ytop_bdr_px);
+ YPos = y_px - ybot_bdr_px - (Y1 - ytop_bdr_px);
+ } else {
+ YPos = Y1;
}
- if (Y1 > ytop_bdr_px) {
+ if (YPos > ytop_bdr_px && YPos < y_px - ybot_bdr_px) {
p.drawLine(yMajorLeftTickLeft,
- d2i(Y1),
+ d2i(YPos),
yMajorLeftTickRight,
- d2i(Y1));
+ d2i(YPos));
p.drawLine(yMajorRightTickRight,
- d2i(Y1),
+ d2i(YPos),
yMajorRightTickLeft,
- d2i(Y1));
+ d2i(YPos));
}
// draw minor ticks
More information about the Kst
mailing list