3b407ff0a25a13da52b596cad007904f6c2af4f6
[bertos.git] / mware / charts.h
1 /*!
2  * \file
3  * <!--
4  * Copyright 2004 Develer S.r.l. (http://www.develer.com/)
5  * Copyright 1999, 2000, 2001, 2003 Bernardo Innocenti <bernie@develer.com>
6  * This file is part of DevLib - See devlib/README for information.
7  * -->
8  *
9  * \brief Simple charts on top of mware/gfx routines (interface).
10  *
11  * \version $Id$
12  * \author Bernardo Innocenti <bernie@develer.com>
13  */
14
15 /*
16  * $Log$
17  * Revision 1.2  2004/08/11 07:32:54  bernie
18  * Refactor after the new mware/gfx API.
19  *
20  * Revision 1.1  2004/08/04 03:16:30  bernie
21  * Import simple chart drawing code.
22  *
23  */
24 #ifndef MWARE_CHARTS_H
25 #define MWARE_CHARTS_H
26
27 #include <mware/gfx.h> /* vcoord_t */
28
29 /*!
30  * \name Width/height of the small ticks drawn over the axes
31  * \{
32  */
33 #define TICKS_HEIGHT     2
34 #define TICKS_WIDTH      3
35 /*\}*/
36
37 /*!
38  * \name Chart frame dimensions
39  * \{
40  */
41 #define CHART_BORDERTOP       0
42 #define CHART_BORDERBOTTOM    TICKS_HEIGHT
43 #define CHART_BORDERLEFT      TICKS_WIDTH
44 #define CHART_BORDERRIGHT     0
45 /*\}*/
46
47 /*!
48  * \name Chart size in pixels
49  * \{
50  */
51 #define CHART_WIDTH     (bm->width - CHART_BORDERLEFT - CHART_BORDERRIGHT)
52 #define CHART_HEIGHT    (bm->height  - CHART_BORDERTOP - CHART_BORDERBOTTOM)
53 /*\}*/
54
55
56 /* Public function protos */
57 extern void chart_init(Bitmap *bm, vcoord_t xmin, vcoord_t ymin, vcoord_t xmax, vcoord_t ymax);
58 extern void chart_drawAxis(Bitmap *bm);
59 extern void chart_drawCurve(Bitmap *bm, const vcoord_t *curve_y, int curve_cnt);
60 extern void chart_drawDots(Bitmap *bm, const vcoord_t *dotsx, const vcoord_t *dotsy, int cnt);
61
62 #endif /* MWARE_CHARTS_H */