aboutsummaryrefslogtreecommitdiffstats
path: root/src/graph.c
diff options
context:
space:
mode:
authorJoel Bodenmann <joel.bodenmann@hevs.ch>2012-10-24 16:38:43 +0200
committerJoel Bodenmann <joel.bodenmann@hevs.ch>2012-10-24 16:38:43 +0200
commite0c8011553db0129039d7c8101e4906fa9677fcf (patch)
tree3241b154105416193048762f585863ed1e0be2cd /src/graph.c
parent6005051ac7a795cc48f6bf48ff9097dd7275ced3 (diff)
downloaduGFX-e0c8011553db0129039d7c8101e4906fa9677fcf.tar.gz
uGFX-e0c8011553db0129039d7c8101e4906fa9677fcf.tar.bz2
uGFX-e0c8011553db0129039d7c8101e4906fa9677fcf.zip
graph grid drawing fix
Diffstat (limited to 'src/graph.c')
-rw-r--r--src/graph.c32
1 files changed, 23 insertions, 9 deletions
diff --git a/src/graph.c b/src/graph.c
index bd9c39c2..871e1e18 100644
--- a/src/graph.c
+++ b/src/graph.c
@@ -98,17 +98,31 @@ void graphDrawFourQuadrants(Graph *g) {
origin.x = middle_x;
origin.y = middle_y;
- /* X Axis */
+ /* X - Axis */
gdispDrawLine(g->x0, middle_y, g->x1, middle_y, g->color);
- if(g->grid_size > 0)
- for(i = 0; i <= (length_y / g->grid_size); i++)
- _horizontalDotLine(g->x0, g->y0 + g->grid_size * i, g->x1, g->dot_space, g->color);
-
- /* Y Axis */
+
+ /* draw X - Grid ? */
+ if(g->grid_size > 0) {
+ for(i = 1; i <= (middle_y / g->grid_size); i++) {
+ if(g->grid_size + g->grid_size * i <= middle_y)
+ _horizontalDotLine(g->x0, middle_y - g->grid_size * i, g->x1, g->dot_space, g->color);
+ if(g->grid_size * i <= middle_y)
+ _horizontalDotLine(g->x0, middle_y + g->grid_size * i, g->x1, g->dot_space, g->color);
+ }
+ }
+
+ /* Y - Axis */
gdispDrawLine(middle_x, g->y0, middle_x, g->y1, g->color);
- if(g->grid_size > 0)
- for(i = 0; i <= (length_x / g->grid_size); i++)
- _verticalDotLine(g->x0 + g->grid_size * i, g->y0, g->y1, g->dot_space, g->color);
+
+ /* draw Y - Grid ? */
+ if(g->grid_size > 0) {
+ for(i = 1; i <= (middle_x / g->grid_size); i++) {
+ if(g->grid_size + g->grid_size * i <= middle_x)
+ _verticalDotLine(middle_x - g->grid_size * i, g->y0, g->y1, g->dot_space, g->color);
+ if(g->grid_size * i <= middle_x)
+ _verticalDotLine(middle_x + g->grid_size * i, g->y0, g->y1, g->dot_space, g->color);
+ }
+ }
}
void graphDrawDot(coord_t x, coord_t y, uint16_t radius, color_t color) {