39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
/* sparkline.h -- ASCII Sparklines header file
|
|
*
|
|
* ---------------------------------------------------------------------------
|
|
*
|
|
* Copyright (c) 2011-Present, Redis Ltd.
|
|
* All rights reserved.
|
|
*
|
|
* Licensed under your choice of the Redis Source Available License 2.0
|
|
* (RSALv2) or the Server Side Public License v1 (SSPLv1).
|
|
*/
|
|
|
|
#ifndef __SPARKLINE_H
|
|
#define __SPARKLINE_H
|
|
|
|
/* A sequence is represented of many "samples" */
|
|
struct sample {
|
|
double value;
|
|
char *label;
|
|
};
|
|
|
|
struct sequence {
|
|
int length;
|
|
int labels;
|
|
struct sample *samples;
|
|
double min, max;
|
|
};
|
|
|
|
#define SPARKLINE_NO_FLAGS 0
|
|
#define SPARKLINE_FILL 1 /* Fill the area under the curve. */
|
|
#define SPARKLINE_LOG_SCALE 2 /* Use logarithmic scale. */
|
|
|
|
struct sequence *createSparklineSequence(void);
|
|
void sparklineSequenceAddSample(struct sequence *seq, double value, char *label);
|
|
void freeSparklineSequence(struct sequence *seq);
|
|
sds sparklineRenderRange(sds output, struct sequence *seq, int rows, int offset, int len, int flags);
|
|
sds sparklineRender(sds output, struct sequence *seq, int columns, int rows, int flags);
|
|
|
|
#endif /* __SPARKLINE_H */
|