DGrid bug cleared (merging mk branch revs. 315-317).
This commit is contained in:
@@ -19,6 +19,8 @@ package wsi.ra.chart2d;
|
||||
import java.awt.Color ;
|
||||
import java.awt.Graphics ;
|
||||
|
||||
import eva2.tools.Mathematics;
|
||||
|
||||
/*==========================================================================*
|
||||
* CLASS DECLARATION
|
||||
*==========================================================================*/
|
||||
@@ -94,12 +96,14 @@ public class DGrid extends DComponent
|
||||
DPoint p1, p2;
|
||||
DLine l;
|
||||
|
||||
minX = (int)( rectangle.x / hor_dist );
|
||||
if( minX * hor_dist <= rectangle.x ) minX++;
|
||||
minX *= hor_dist;
|
||||
minY = ( rectangle.y / ver_dist );
|
||||
if( minY * ver_dist <= rectangle.y ) minY++;
|
||||
minY *= ver_dist;
|
||||
minX=Mathematics.firstMultipleAbove(rectangle.x, hor_dist);
|
||||
minY=Mathematics.firstMultipleAbove(rectangle.y, ver_dist);
|
||||
// minX = (int)( rectangle.x / hor_dist );
|
||||
// if( minX * hor_dist <= rectangle.x ) minX++;
|
||||
// minX *= hor_dist;
|
||||
// minY = (int)( rectangle.y / ver_dist );
|
||||
// if( minY * ver_dist <= rectangle.y ) minY++;
|
||||
// minY *= ver_dist;
|
||||
|
||||
p1 = new DPoint( 0, rectangle.y );
|
||||
p2 = new DPoint( 0, rectangle.y + rectangle.height );
|
||||
@@ -127,16 +131,6 @@ public class DGrid extends DComponent
|
||||
public String toString(){
|
||||
return "chart2d.DGrid[ hor: "+hor_dist+", ver: "+ver_dist+" ]";
|
||||
}
|
||||
|
||||
// public void updateDistByRect(DRectangle rect) {
|
||||
// System.out.println(rect);
|
||||
// if (!rect.isEmpty() && (hor_dist>0 && ver_dist>0)) {
|
||||
// double horRatio = Math.abs(rectangle.x)/hor_dist;
|
||||
// double verRatio = Math.abs(rectangle.y)/ver_dist;
|
||||
//// rectangle = visRect;
|
||||
// setDistances(rect.x*horRatio, rect.y*verRatio);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
@@ -3,6 +3,9 @@ package wsi.ra.chart2d;
|
||||
import java.awt.* ;
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.border.* ;
|
||||
|
||||
import eva2.tools.Mathematics;
|
||||
|
||||
import java.awt.geom.AffineTransform ;
|
||||
import java.text.NumberFormat;
|
||||
import java.text.DecimalFormat;
|
||||
@@ -291,16 +294,19 @@ public class ScaledBorder implements Border
|
||||
|
||||
FontMetrics fm = g.getFontMetrics();
|
||||
int fontAsc = fm.getAscent(), v2m = fm.stringWidth("0") / y_values2marker;
|
||||
int n = (int)( src_rect.y / src_dY );
|
||||
// if( n * src_dY < src_rect.y || ( src_rect.x == 0 && src_rect.y == 0 ) ) n++;
|
||||
if( n * src_dY < src_rect.y || ( src_rect.x == 0 && src_rect.y == 0 ) ) {
|
||||
if (n+1 > n) n++;
|
||||
else System.err.println("Overflow error A in ScaledBorder!");
|
||||
}
|
||||
|
||||
// double startVal,dn = (src_rect.y / src_dY );
|
||||
// startVal = Math.round(dn-0.5)*src_dY;
|
||||
//
|
||||
// if( startVal < src_rect.y || ( src_rect.x == 0 && src_rect.y == 0 ) ) {
|
||||
// startVal+=src_dY;
|
||||
// }
|
||||
|
||||
double startVal = Mathematics.firstMultipleAbove(src_rect.y, src_dY);
|
||||
|
||||
double v, scaledV, minx = src_rect.x;
|
||||
if( x_scale != null ) minx = x_scale.getImageOf( minx );
|
||||
v = n * src_dY;
|
||||
v = startVal;
|
||||
while (v <= src_rect.y + src_rect.height){
|
||||
if( y_scale != null ) scaledV = y_scale.getImageOf( v );
|
||||
else scaledV=v;
|
||||
@@ -321,7 +327,7 @@ public class ScaledBorder implements Border
|
||||
v += src_dY;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public double getSrcdY( FontMetrics fm, Dimension cd ){
|
||||
return getSrcdY(fm.getHeight(), cd.height);
|
||||
}
|
||||
@@ -333,6 +339,7 @@ public class ScaledBorder implements Border
|
||||
double minsrc_dY = 2 * src_rect.height / (double)max; // die 2 einfach mal so eingesetzt <--------------------------
|
||||
src_dY = aBitBigger( minsrc_dY );
|
||||
if( src_dY < minimal_increment ) src_dY = minimal_increment;
|
||||
if( under_construction ) System.out.println("Setting src_dY to " + src_dY + " for " + src_rect);
|
||||
return src_dY;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user