/*
* $Log$
- * Revision 1.2 2004/08/11 07:32:54 bernie
- * Refactor after the new mware/gfx API.
+ * Revision 1.3 2004/08/11 19:39:12 bernie
+ * Use chart_x_t and chart_y_t for the input dataset.
*
* Revision 1.1 2004/08/04 03:16:30 bernie
* Import simple chart drawing code.
* are identified by the \a curve_y array and X-coordinates are
* are evenly spaced by one virtual unit.
*/
-void chart_drawCurve(Bitmap *bm, const vcoord_t *curve_y, int curve_cnt)
+void chart_drawCurve(Bitmap *bm, const chart_y_t *curve_y, int curve_cnt)
{
int i;
* Disegna dei dot in corrispondenza delle coppie (dotsx[i];dotsy[i])
* Se dotsx e' NULL, i punti vengono disegnati ad intervalli regolari.
*/
-void chart_drawDots(Bitmap *bm, const vcoord_t *dotsx, const vcoord_t *dotsy, int cnt)
+void chart_drawDots(Bitmap *bm, const chart_x_t *dots_x, const chart_y_t *dots_y, int cnt)
{
int i;
coord_t x, y;
for (i = 0; i < cnt; i++)
{
- if (dotsx)
- x = gfx_TransformX(bm, dotsx[i]);
+ if (dots_x)
+ x = gfx_TransformX(bm, dots_x[i]);
else
x = gfx_TransformX(bm, i);
- y = gfx_TransformY(bm, dotsy[i]);
+ y = gfx_TransformY(bm, dots_y[i]);
gfx_DrawRect(bm, x - 1, y - 1, x + 1, y + 1);
*
* \brief Simple charts on top of mware/gfx routines (interface).
*
+ * Configuration:
+ * - \c CONFIG_CHART_TYPE_X: type for the input dataset of X-coordinates
+ * - \c CONFIG_CHART_TYPE_Y: type for the input dataset of Y-coordinates
+ *
* \version $Id$
* \author Bernardo Innocenti <bernie@develer.com>
*/
/*
* $Log$
- * Revision 1.2 2004/08/11 07:32:54 bernie
- * Refactor after the new mware/gfx API.
+ * Revision 1.3 2004/08/11 19:39:12 bernie
+ * Use chart_x_t and chart_y_t for the input dataset.
*
* Revision 1.1 2004/08/04 03:16:30 bernie
* Import simple chart drawing code.
#define MWARE_CHARTS_H
#include <mware/gfx.h> /* vcoord_t */
+#include <config.h> /* CONFIG_ stuff */
/*!
* \name Width/height of the small ticks drawn over the axes
#define CHART_HEIGHT (bm->height - CHART_BORDERTOP - CHART_BORDERBOTTOM)
/*\}*/
+#ifndef CONFIG_CHART_TYPE_X
+#define CONFIG_CHART_TYPE_X vcoord_t
+#endif
+#ifndef CONFIG_CHART_TYPE_Y
+#define CONFIG_CHART_TYPE_Y vcoord_t
+#endif
+
+
+typedef CONFIG_CHART_TYPE_X chart_x_t;
+typedef CONFIG_CHART_TYPE_Y chart_y_t;
+
/* Public function protos */
extern void chart_init(Bitmap *bm, vcoord_t xmin, vcoord_t ymin, vcoord_t xmax, vcoord_t ymax);
extern void chart_drawAxis(Bitmap *bm);
-extern void chart_drawCurve(Bitmap *bm, const vcoord_t *curve_y, int curve_cnt);
-extern void chart_drawDots(Bitmap *bm, const vcoord_t *dotsx, const vcoord_t *dotsy, int cnt);
+extern void chart_drawCurve(Bitmap *bm, const chart_y_t *curve_y, int curve_cnt);
+extern void chart_drawDots(Bitmap *bm, const chart_x_t *dots_x, const chart_y_t *dots_y, int cnt);
#endif /* MWARE_CHARTS_H */