graph - different axis and grid color
This commit is contained in:
parent
e121b31a70
commit
5c6f31741a
2 changed files with 14 additions and 15 deletions
|
@ -31,7 +31,8 @@ typedef struct _Graph {
|
||||||
uint16_t grid_size;
|
uint16_t grid_size;
|
||||||
uint16_t dot_space;
|
uint16_t dot_space;
|
||||||
bool_t full_grid;
|
bool_t full_grid;
|
||||||
color_t color;
|
color_t axis_color;
|
||||||
|
color_t grid_color;
|
||||||
} Graph;
|
} Graph;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
24
src/graph.c
24
src/graph.c
|
@ -62,7 +62,7 @@ void graphDrawOneQuadrant(Graph *g) {
|
||||||
swapCoordinates(&g->y0, &g->y1);
|
swapCoordinates(&g->y0, &g->y1);
|
||||||
|
|
||||||
uint16_t i;
|
uint16_t i;
|
||||||
uint16_t length_x = (g->x1 - g->x0);
|
uint16_t length_x = (g->x1 - g->y0);
|
||||||
uint16_t length_y = (g->y1 - g->y0);
|
uint16_t length_y = (g->y1 - g->y0);
|
||||||
uint16_t middle_x = (g->x1 - g->x0) / 2;
|
uint16_t middle_x = (g->x1 - g->x0) / 2;
|
||||||
uint16_t middle_y = (g->y1 - g->y0) / 2;
|
uint16_t middle_y = (g->y1 - g->y0) / 2;
|
||||||
|
@ -71,16 +71,16 @@ void graphDrawOneQuadrant(Graph *g) {
|
||||||
origin.y = g->y1;
|
origin.y = g->y1;
|
||||||
|
|
||||||
/* X Axis */
|
/* X Axis */
|
||||||
gdispDrawLine(g->x0, g->y0, g->x1, g->y0, g->color);
|
gdispDrawLine(g->x0, g->y0, g->x1, g->y0, g->axis_color);
|
||||||
if(g->grid_size > 0)
|
if(g->grid_size > 0)
|
||||||
for(i = 0; i <= (length_y / g->grid_size); i++)
|
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);
|
_horizontalDotLine(g->x0, g->y0 + g->grid_size * i, g->x1, g->dot_space, g->grid_color);
|
||||||
|
|
||||||
/* Y Axis */
|
/* Y Axis */
|
||||||
gdispDrawLine(g->x1, g->y0, g->x1, g->y1, g->color);
|
gdispDrawLine(g->x1, g->y0, g->x1, g->y1, g->axis_color);
|
||||||
if(g->grid_size > 0);
|
if(g->grid_size > 0);
|
||||||
for(i = 0; i <= (length_x / g->grid_size); i++)
|
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);
|
_verticalDotLine(g->x0 + g->grid_size * i, g->y0, g->y1, g->dot_space, g->grid_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
void graphDrawFourQuadrants(Graph *g) {
|
void graphDrawFourQuadrants(Graph *g) {
|
||||||
|
@ -90,8 +90,6 @@ void graphDrawFourQuadrants(Graph *g) {
|
||||||
swapCoordinates(&g->y0, &g->y1);
|
swapCoordinates(&g->y0, &g->y1);
|
||||||
|
|
||||||
uint16_t i;
|
uint16_t i;
|
||||||
uint16_t length_x = (g->x1 - g->x0);
|
|
||||||
uint16_t length_y = (g->y1 - g->y0);
|
|
||||||
uint16_t middle_x = (g->x1 - g->x0) / 2;
|
uint16_t middle_x = (g->x1 - g->x0) / 2;
|
||||||
uint16_t middle_y = (g->y1 - g->y0) / 2;
|
uint16_t middle_y = (g->y1 - g->y0) / 2;
|
||||||
|
|
||||||
|
@ -99,28 +97,28 @@ void graphDrawFourQuadrants(Graph *g) {
|
||||||
origin.y = middle_y;
|
origin.y = middle_y;
|
||||||
|
|
||||||
/* X - Axis */
|
/* X - Axis */
|
||||||
gdispDrawLine(g->x0, middle_y, g->x1, middle_y, g->color);
|
gdispDrawLine(g->x0, middle_y, g->x1, middle_y, g->axis_color);
|
||||||
|
|
||||||
/* draw X - Grid ? */
|
/* draw X - Grid ? */
|
||||||
if(g->grid_size > 0) {
|
if(g->grid_size > 0) {
|
||||||
for(i = 1; i <= (middle_y / g->grid_size); i++) {
|
for(i = 1; i <= (middle_y / g->grid_size); i++) {
|
||||||
if(g->grid_size + g->grid_size * i <= middle_y)
|
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);
|
_horizontalDotLine(g->x0, middle_y - g->grid_size * i, g->x1, g->dot_space, g->grid_color);
|
||||||
if(g->grid_size * i <= middle_y)
|
if(g->grid_size * i <= middle_y)
|
||||||
_horizontalDotLine(g->x0, middle_y + g->grid_size * i, g->x1, g->dot_space, g->color);
|
_horizontalDotLine(g->x0, middle_y + g->grid_size * i, g->x1, g->dot_space, g->grid_color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Y - Axis */
|
/* Y - Axis */
|
||||||
gdispDrawLine(middle_x, g->y0, middle_x, g->y1, g->color);
|
gdispDrawLine(middle_x, g->y0, middle_x, g->y1, g->axis_color);
|
||||||
|
|
||||||
/* draw Y - Grid ? */
|
/* draw Y - Grid ? */
|
||||||
if(g->grid_size > 0) {
|
if(g->grid_size > 0) {
|
||||||
for(i = 1; i <= (middle_x / g->grid_size); i++) {
|
for(i = 1; i <= (middle_x / g->grid_size); i++) {
|
||||||
if(g->grid_size + g->grid_size * i <= middle_x)
|
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);
|
_verticalDotLine(middle_x - g->grid_size * i, g->y0, g->y1, g->dot_space, g->grid_color);
|
||||||
if(g->grid_size * i <= middle_x)
|
if(g->grid_size * i <= middle_x)
|
||||||
_verticalDotLine(middle_x + g->grid_size * i, g->y0, g->y1, g->dot_space, g->color);
|
_verticalDotLine(middle_x + g->grid_size * i, g->y0, g->y1, g->dot_space, g->grid_color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue