X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=mware%2Fcharts.h;h=ca55259cef83a703aa3ad646d0efca9a2dd602d0;hb=71f4355523bfcd350befa5d01826f990a90a83df;hp=8dec2c60e48fd11bbc11a383687688a792bab975;hpb=d2781083b8f0cffe71696623a4a78f2bf252d295;p=bertos.git diff --git a/mware/charts.h b/mware/charts.h index 8dec2c60..ca55259c 100755 --- a/mware/charts.h +++ b/mware/charts.h @@ -8,35 +8,38 @@ * * \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 */ -/* - * $Log$ - * Revision 1.1 2004/08/04 03:16:30 bernie - * Import simple chart drawing code. - * - */ +/*#* + *#* $Log$ + *#* Revision 1.5 2004/09/14 20:56:39 bernie + *#* Make more generic and adapt to new gfx functions. + *#* + *#* 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. + *#* + *#*/ #ifndef MWARE_CHARTS_H #define MWARE_CHARTS_H -#include /* vcoord_t */ - -/*! - * \name Width/height of the chart bitmap in pixels - * \{ - */ -#define BM_WIDTH PRT_HRES -#define BM_HEIGHT 120 -/*\}*/ +#include /* vcoord_t */ +#include /* CONFIG_ stuff */ /*! * \name Width/height of the small ticks drawn over the axes * \{ */ #define TICKS_HEIGHT 2 -#define TICKS_WIDTH 3 +#define TICKS_WIDTH 2 /*\}*/ /*! @@ -44,24 +47,28 @@ * \{ */ #define CHART_BORDERTOP 0 -#define CHART_BORDERBOTTOM TICKS_HEIGHT -#define CHART_BORDERLEFT TICKS_WIDTH +#define CHART_BORDERBOTTOM 0 +#define CHART_BORDERLEFT 0 #define CHART_BORDERRIGHT 0 /*\}*/ -/*! - * \name Chart size in pixels - * \{ - */ -#define CHART_WIDTH (BM_WIDTH - CHART_BORDERLEFT - CHART_BORDERRIGHT) -#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 BitMap *chart_init(vcoord_t xmin, vcoord_t ymin, float xmax, float 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 float *dotsy, int cnt); +void chart_init(Bitmap *bm, coord_t xmin, coord_t ymin, coord_t xmax, coord_t ymax); +void chart_setScale(Bitmap *bm, chart_x_t xmin, chart_y_t ymin, chart_x_t xmax, chart_y_t ymax); +void chart_drawAxis(Bitmap *bm); +void chart_drawCurve(Bitmap *bm, const chart_y_t *curve_y, int curve_cnt); +void chart_drawDots(Bitmap *bm, const chart_x_t *dots_x, const chart_y_t *dots_y, int cnt); #endif /* MWARE_CHARTS_H */