[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdeedu/kmplot/kmplot
From:       David Saxton <david () bluehaze ! org>
Date:       2006-04-01 10:26:04
Message-ID: 1143887164.341849.18820.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 525214 by saxton:

Fix drawing issues at large zooms (make sure axis label position is in bounds).


 M  +10 -1     diagr.cpp  


--- trunk/KDE/kdeedu/kmplot/kmplot/diagr.cpp #525213:525214
@@ -415,6 +415,7 @@
 	QFontMetrics const test(font);
 	int swidth=0;
 
+// 	kDebug() << "tsx="<<tsx<<" xmd="<<xmd<<" ex="<<ex << " (xmd-tsx)/ex="<<(xmd-tsx)/ex<<endl;
 	for(d=tsx, n=(int)ceil(xmin/ex); d<xmd; d+=ex, ++n)
 	{
 		if(n==0 || fabs(d-xmd)<=1.5*ex)
@@ -492,7 +493,11 @@
 				else
 					draw_next=0;
 			}
-			pDC->drawText( QRectF( TransxToPixel(d), y+dy, 0, 0 ), Qt::AlignCenter|Qt::TextDontClip, s);
+// 			kDebug() << "d="<<d<<" TransxToPixel(d)="<<TransxToPixel(d)<<endl;
+			QRectF drawRect( TransxToPixel(d), y+dy, 0, 0 );
+			if ( xclipflg )
+				continue;
+			pDC->drawText( drawRect, Qt::AlignCenter|Qt::TextDontClip, s);
 		}
 	}
 
@@ -565,11 +570,15 @@
 			if (xmin>=0)
 			{
 				QRectF drawRect( x+dx, TransyToPixel(d), 0, 0 );
+				if ( yclipflg )
+					continue;
 				pDC->drawText( drawRect, Qt::AlignVCenter|Qt::AlignLeft|Qt::TextDontClip, s);
 			}
 			else
 			{
 				QRectF drawRect( x-dx, TransyToPixel(d), 0, 0 );
+				if ( yclipflg )
+					continue;
 				QRectF br = pDC->boundingRect( drawRect, Qt::AlignVCenter|Qt::AlignRight|Qt::TextDontClip, s);
 				if ( br.left() < 0 )
 				{
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic