aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/graph.h2
-rw-r--r--src/graph.c21
2 files changed, 23 insertions, 0 deletions
diff --git a/include/graph.h b/include/graph.h
index 74b85ed4..980ed996 100644
--- a/include/graph.h
+++ b/include/graph.h
@@ -50,6 +50,8 @@ extern "C" {
void graphDrawSystem(Graph *g);
void graphDrawDot(Graph *g, coord_t x, coord_t y, uint16_t radius, color_t color);
+void graphDrawDots(Graph *g, int coord[][2], uint16_t entries, uint16_t radius, uint16_t color);
+void graphDrawNet(Graph *g, int coord[][2], uint16_t entries, uint16_t radius, uint16_t lineColor, uint16_t dotColor);
#ifdef __cplusplus
}
diff --git a/src/graph.c b/src/graph.c
index 272fa65d..c01b66e7 100644
--- a/src/graph.c
+++ b/src/graph.c
@@ -92,5 +92,26 @@ void graphDrawDot(Graph *g, coord_t x, coord_t y, uint16_t radius, color_t color
gdispFillCircle(g->origin_x + x, g->origin_y + y, radius, color);
}
+void graphDrawDots(Graph *g, int coord[][2], uint16_t entries, uint16_t radius, uint16_t color) {
+ uint16_t i;
+
+ for(i = 0; i < entries; i++) {
+ if(radius == 0)
+ gdispDrawPixel(coord[i][0] + g->origin_x, g->origin_y - coord[i][1], color);
+ else
+ gdispFillCircle(coord[i][0] + g->origin_x, g->origin_y - coord[i][1], radius, color);
+ }
+}
+
+void graphDrawNet(Graph *g, int coord[][2], uint16_t entries, uint16_t radius, uint16_t lineColor, uint16_t dotColor) {
+ uint16_t i;
+
+ for(i = 0; i < entries; ++i)
+ gdispDrawLine(coord[i-1][0] + g->origin_x, g->origin_y - coord[i-1][1], coord[i][0] + g->origin_x, g->origin_y - coord[i][1], lineColor);
+ for(i = 0; i < entries; ++i)
+ if(radius != 0)
+ lcdFillCircle(coord[i][0] + g->origin_x, g->origin_y - coord[i][1], radius, dotColor);
+}
+
#endif /* GFX_USE_GRAPH */