home *** CD-ROM | disk | FTP | other *** search
- #include "barchart.h"
-
- labelhorizontal(xyb, labels, howmany)
- struct XYBase *xyb;
- char *labels[];
- int howmany;
- {
- short i, labelwidth, segmentwidth, currentx;
- short actualy, actualx;
- FontInfo fi;
-
- GetFontInfo(&fi);
- segmentwidth = xyb->xlength/(howmany-1);
- currentx = xyb->xaxis;
- actualy = xyb->yaxis + 1 + fi.ascent + fi.descent + fi.descent;
- for (i=0;i<howmany;i++) {
- labelwidth = StringWidth(labels[i]);
- labelwidth = labelwidth / 2;
- actualx = currentx + segmentwidth * i - labelwidth;
- MoveTo(actualx, actualy);
- DrawString(labels[i]);
- }
- }
-
- labelvertical(xyb, labels, howmany)
- struct XYBase *xyb;
- char *labels[];
- int howmany;
- {
- short i, labelwidth, segmentheight, currentx, currenty;
- short actualy, actualx;
- FontInfo fi;
-
- GetFontInfo(&fi);
- segmentheight = xyb->ylength/(howmany-1);
- currentx = xyb->xaxis - 2;
- currenty = xyb->yaxis + (fi.ascent + fi.descent + fi.descent)/2;
- for (i=0;i<howmany;i++) {
- labelwidth = StringWidth(labels[i]);
- actualx = currentx - labelwidth;
- actualy = currenty - segmentheight * i;
- MoveTo(actualx, actualy);
- DrawString(labels[i]);
- }
- }
-
-