From: Florian G. <re...@us...> - 2007-06-12 23:39:09
|
Update of /cvsroot/perfparse/_perfparse/cgi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4165/cgi Modified Files: perfgant.c Log Message: perfgant renovation Index: perfgant.c =================================================================== RCS file: /cvsroot/perfparse/_perfparse/cgi/perfgant.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** perfgant.c 12 Jun 2007 15:11:09 -0000 1.6 --- perfgant.c 12 Jun 2007 23:39:09 -0000 1.7 *************** *** 65,70 **** const int iBorder = 30; const int iSideBorder = 50; ! const int iRowHeight = 20; ! const int iRowGap = 10; int black, white, blue, lblue, red, grey0, grey1, grey2, yellow; --- 65,72 ---- const int iBorder = 30; const int iSideBorder = 50; ! double dRowHeight = 20.0; ! double dRowGap = 10.0; ! int iRowHeight = 20; ! int iRowGap = 10; int black, white, blue, lblue, red, grey0, grey1, grey2, yellow; *************** *** 162,165 **** --- 164,168 ---- time_t t; + // draw vertical lines and scale every 2 hours at top and button for (i = 0; i < 25; i++) { d = (double)i * 3600; *************** *** 178,197 **** } for (i = 0; i < iDays; i++) { ! t = i * DAY1 + tFromMidnight; ! r = localtime(&t); // sprintf(s, "%04d-%02d-%02d", r->tm_year + 1900, r->tm_mon + 1, r->tm_mday); ! sprintf(s, "%02d-%02d", r->tm_mon + 1, r->tm_mday); ! gdImageString(gant, gdFontSmall, 8, i * (iRowHeight + iRowGap) + iBorder + 12,(unsigned char*) s, black); ! switch (r->tm_wday) { ! case 0: strncpy(s, _("Sun"),4); break; ! case 1: strncpy(s, _("Mon"),4); break; ! case 2: strncpy(s, _("Tue"),4); break; ! case 3: strncpy(s, _("Wed"),4); break; ! case 4: strncpy(s, _("Thu"),4); break; ! case 5: strncpy(s, _("Fri"),4); break; ! case 6: strncpy(s, _("Sat"),4); break; ! } ! gdImageString(gant, gdFontSmall, iWidth - iSideBorder + 15, i * (iRowHeight + iRowGap) + iBorder + 12,(unsigned char*) s, black); } --- 181,205 ---- } + // draw scales left and right + int last_scale=-30; for (i = 0; i < iDays; i++) { ! if((int) round(i*(dRowHeight + dRowGap)) - last_scale >20) { ! last_scale=(int) round(i*(dRowHeight + dRowGap)); ! t = i * DAY1 + tFromMidnight; ! r = localtime(&t); // sprintf(s, "%04d-%02d-%02d", r->tm_year + 1900, r->tm_mon + 1, r->tm_mday); ! sprintf(s, "%02d-%02d", r->tm_mon + 1, r->tm_mday); ! gdImageString(gant, gdFontSmall, 8, (int) round(i*(dRowHeight + dRowGap)) + iBorder + 12,(unsigned char*) s, black); ! switch (r->tm_wday) { ! case 0: strncpy(s, _("Sun"),4); break; ! case 1: strncpy(s, _("Mon"),4); break; ! case 2: strncpy(s, _("Tue"),4); break; ! case 3: strncpy(s, _("Wed"),4); break; ! case 4: strncpy(s, _("Thu"),4); break; ! case 5: strncpy(s, _("Fri"),4); break; ! case 6: strncpy(s, _("Sat"),4); break; ! } ! gdImageString(gant, gdFontSmall, iWidth - iSideBorder + 15, (int) round(i*(dRowHeight + dRowGap)) + iBorder + 12,(unsigned char*) s, black); ! } } *************** *** 326,331 **** gdImageFilledRectangle(gant, x0, y0, x1, y1, iStateColour[iState]); ! gdImageLine(gant, x0, y0, x1, y0, black); ! gdImageLine(gant, x0, y1, x1, y1, black); --- 334,341 ---- gdImageFilledRectangle(gant, x0, y0, x1, y1, iStateColour[iState]); ! if(iRowHeight > 1) { ! gdImageLine(gant, x0, y0, x1, y0, black); ! gdImageLine(gant, x0, y1, x1, y1, black); ! } *************** *** 334,337 **** --- 344,348 ---- int getX(time_t t) { + /* static double d; *************** *** 345,348 **** --- 356,364 ---- return (int)d + iSideBorder; + */ + + struct tm* ptT; + ptT=localtime(&t); + return iSideBorder+(int) (ptT->tm_hour*3600+ptT->tm_min*60+ptT->tm_sec)*(iWidth - iSideBorder * 2)/DAY1; } *************** *** 350,354 **** int getY(time_t t) { ! return getDay(t) * (iRowHeight + iRowGap) + iBorder + iRowGap; } --- 366,370 ---- int getY(time_t t) { ! return (int) round(getDay(t)*(dRowHeight + dRowGap)) + iBorder + iRowGap; } *************** *** 435,439 **** iDays = (int)(tToMidnight - tFromMidnight) / DAY1; ! iHeight = iBorder * 2 + iRowHeight * iDays + iRowGap * (iDays + 1); #ifdef DEBUG --- 451,462 ---- iDays = (int)(tToMidnight - tFromMidnight) / DAY1; ! iHeight = iBorder * 2 + iRowHeight * iDays + (int) round(dRowGap) * (iDays + 1); ! if(iHeight > 600) { ! iHeight=600; ! dRowHeight=2*((double)iHeight - 2* (double)iBorder)/(3* (double)iDays+1); ! dRowGap=dRowHeight/2; ! } ! iRowHeight=(int) round(dRowHeight); ! iRowGap=(int) round(dRowGap); #ifdef DEBUG |