char* MakeEvalTitle( char * title)
{
- int score = currPvInfo[ currCurrent ].score;
- int depth = currPvInfo[ currCurrent ].depth;
+ int score, depth;
static char buf[MSG_SIZ];
+ if( currCurrent <0 ) return title; // currCurrent = -1 crashed WB on start without ini file!
+ score = currPvInfo[ currCurrent ].score;
+ depth = currPvInfo[ currCurrent ].depth;
+
if( depth <=0 ) return title;
if( currCurrent & 1 ) score = -score; /* Flip score for black */
snprintf(buf, MSG_SIZ, "%s {%s%.2f/%-2d %d}", title, score>0 ? "+" : " ", score/100., depth, (currPvInfo[currCurrent].time+50)/100);
{
if( value < -range*700 ) value = -range*700;
if( value > +range*700 ) value = +range*700;
-
- return (nHeightPB / 2) - (int)(value * (nHeightPB - 2*MarginH) / (1400.*range));
+ if(value > 100*range) value += appData.zoom * 100 - 100*range; else
+ if(value < -100*range) value -= appData.zoom * 100 - 100*range; else
+ value *= appData.zoom;
+ return (nHeightPB / 2) - (int)(value * (nHeightPB - 2*MarginH) / ((1200. + 200.*appData.zoom)*range));
}
// the brush selection is made part of the DrawLine, by passing a style argument
// the initial brush selection is useless? BkMode needed for dotted line and text
static void DrawAxis()
{
- int cy = nHeightPB / 2;
+ int cy = nHeightPB / 2, space = nHeightPB/(6 + appData.zoom);
-// SelectObject( hdcPB, GetStockObject(NULL_BRUSH) );
-
-// SetBkMode( hdcPB, TRANSPARENT );
-
DrawAxisSegmentHoriz( +5, TRUE );
- DrawAxisSegmentHoriz( +3, FALSE );
- DrawAxisSegmentHoriz( +1, FALSE );
+ DrawAxisSegmentHoriz( +3, space >= 20 );
+ DrawAxisSegmentHoriz( +1, space >= 20 && space*appData.zoom >= 40 );
DrawAxisSegmentHoriz( 0, TRUE );
- DrawAxisSegmentHoriz( -1, FALSE );
- DrawAxisSegmentHoriz( -3, FALSE );
+ DrawAxisSegmentHoriz( -1, space >= 20 && space*appData.zoom >= 40 );
+ DrawAxisSegmentHoriz( -3, space >= 20 );
DrawAxisSegmentHoriz( -5, TRUE );
DrawLine( MarginX + MarginW, cy, nWidthPB - MarginW, cy, PEN_BLACK ); // x-axis
{
int left, top, right, bottom;
- if( value > -25 && value < +25 ) return;
+ if( value > -appData.evalThreshold*range && value < +appData.evalThreshold*range ) return;
left = x;
right = left + width + 1;