X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctgraphics%2Fezplot.cpp;h=684e39b0a9338b1c8188d0630dad22e1c38b0131;hp=4f32d63769a84413c23b69c9d45dc2e283691fc6;hb=ad33b48a7dda3726daf74a910a97d1f5006b68c4;hpb=e8462f7431582627e44906239077f1c696eefba1 diff --git a/libctgraphics/ezplot.cpp b/libctgraphics/ezplot.cpp index 4f32d63..684e39b 100644 --- a/libctgraphics/ezplot.cpp +++ b/libctgraphics/ezplot.cpp @@ -997,42 +997,43 @@ EZPlot::drawAxes() m_pSGP->setColor (clr_axis); m_pSGP->moveAbs (x, xaxispos); m_pSGP->lineAbs (x, xaxispos + xticklen); - if (i != x_nint) + if (i != x_nint) { for (j = 1; j <= o_xminortick; j++) { x2 = x + minorinc * j; m_pSGP->moveAbs (x2, xaxispos); m_pSGP->lineAbs (x2, xaxispos + TICKRATIO * xticklen); } - axis_near = FALSE; - if (xaxispos + xtl_ofs > ya_min && o_yaxis != NOAXIS) { - double xw = xgw_min + i * xw_tickinc; - double x = convertWorldToNDC_X (xw); - double d = x - yaxispos; - if (o_yticks == RIGHT && d >= 0 && d < 0.9 * xn_tickinc) - axis_near = TRUE; - if (o_yticks == LEFT && d <= 0 && d > -0.9 * xn_tickinc) - axis_near = TRUE; - } + } + axis_near = FALSE; + if (xaxispos + xtl_ofs > ya_min && o_yaxis != NOAXIS) { + double xw = xgw_min + i * xw_tickinc; + double x = convertWorldToNDC_X (xw); + double d = x - yaxispos; + if (o_yticks == RIGHT && d >= 0 && d < 0.9 * xn_tickinc) + axis_near = TRUE; + if (o_yticks == LEFT && d <= 0 && d > -0.9 * xn_tickinc) + axis_near = TRUE; + } - if (o_xtlabel == TRUE && axis_near == FALSE) { - snprintf (str, sizeof(str), x_numfmt, xgw_min + xw_tickinc * i); - numstr = str_skip_head (str, " "); - double xExtent, yExtent; - m_pSGP->getTextExtent (numstr, &xExtent, &yExtent); - m_pSGP->moveAbs (x - xExtent/2, xaxispos + xtl_ofs); - m_pSGP->setTextColor (clr_number, -1); - m_pSGP->drawText (numstr); - } + if (o_xtlabel == TRUE && axis_near == FALSE) { + snprintf (str, sizeof(str), x_numfmt, xgw_min + xw_tickinc * i); + numstr = str_skip_head (str, " "); + double xExtent, yExtent; + m_pSGP->getTextExtent (numstr, &xExtent, &yExtent); + m_pSGP->moveAbs (x - xExtent/2, xaxispos + xtl_ofs); + m_pSGP->setTextColor (clr_number, -1); + m_pSGP->drawText (numstr); + } } } // X - Axis - - + + /*--------*/ /* y-axis */ /*--------*/ - + if (o_yaxis == LINEAR) { - + m_pSGP->setColor (clr_axis); if (o_tag && !o_grid && !o_box && s_ycross) { m_pSGP->moveAbs (yaxispos - charwidth, ya_min); @@ -1073,33 +1074,34 @@ EZPlot::drawAxes() m_pSGP->setColor (clr_axis); m_pSGP->moveAbs (yaxispos, y); m_pSGP->lineAbs (yaxispos + yticklen, y); - if (i != y_nint) + if (i != y_nint) { for (j = 1; j <= o_yminortick; j++) { y2 = y + minorinc * j; m_pSGP->moveAbs (yaxispos, y2); m_pSGP->lineAbs (yaxispos + TICKRATIO * yticklen, y2); } - axis_near = FALSE; - if (yaxispos + ytl_ofs > xa_min && o_xaxis != NOAXIS) { - double yw = ygw_min + i * yw_tickinc; - double y = convertWorldToNDC_Y (yw); - double d = y - xaxispos; - if (o_xticks == ABOVE && d >= 0 && d < 0.9 * yn_tickinc) - axis_near = TRUE; - if (o_xticks == BELOW && d <= 0 && d > -0.9 * yn_tickinc) - axis_near = TRUE; - } - if (o_ytlabel == TRUE && axis_near == FALSE) { - snprintf (str, sizeof(str), y_numfmt, ygw_min + yw_tickinc * i); - double xExtent, yExtent; - m_pSGP->getTextExtent (str, &xExtent, &yExtent); - if (o_yticks == LEFT) - m_pSGP->moveAbs (yaxispos - 1.5 * charwidth - xExtent, y + 0.5 * yExtent); - else - m_pSGP->moveAbs (yaxispos + 1.5 * charwidth, y + 0.5 * yExtent); - m_pSGP->setTextColor (clr_number, -1); - m_pSGP->drawText (str); - } + } + axis_near = FALSE; + if (yaxispos + ytl_ofs > xa_min && o_xaxis != NOAXIS) { + double yw = ygw_min + i * yw_tickinc; + double y = convertWorldToNDC_Y (yw); + double d = y - xaxispos; + if (o_xticks == ABOVE && d >= 0 && d < 0.9 * yn_tickinc) + axis_near = TRUE; + if (o_xticks == BELOW && d <= 0 && d > -0.9 * yn_tickinc) + axis_near = TRUE; + } + if (o_ytlabel == TRUE && axis_near == FALSE) { + snprintf (str, sizeof(str), y_numfmt, ygw_min + yw_tickinc * i); + double xExtent, yExtent; + m_pSGP->getTextExtent (str, &xExtent, &yExtent); + if (o_yticks == LEFT) + m_pSGP->moveAbs (yaxispos - 1.5 * charwidth - xExtent, y + 0.5 * yExtent); + else + m_pSGP->moveAbs (yaxispos + 1.5 * charwidth, y + 0.5 * yExtent); + m_pSGP->setTextColor (clr_number, -1); + m_pSGP->drawText (str); + } } } // Y - Axis }