New Chart Feature: Min/Max can be shown in the upper right corner
git-svn-id: file:///home/jan/tmp/wetterstation/trunk@207 dd492736-c11a-0410-ad51-8c26713eaf7f
This commit is contained in:
parent
4c211cf31e
commit
c69e82f23e
|
|
@ -42,6 +42,10 @@
|
||||||
#define DEFAULT_ZERO_MIN "no"
|
#define DEFAULT_ZERO_MIN "no"
|
||||||
#define DEFAULT_AS_BARS "no"
|
#define DEFAULT_AS_BARS "no"
|
||||||
#define DEFAULT_SHOW_AVERAGE "yes"
|
#define DEFAULT_SHOW_AVERAGE "yes"
|
||||||
|
#define DEFAULT_SHOW_MIN "no"
|
||||||
|
#define DEFAULT_SHOW_MAX "no"
|
||||||
|
#define DEFAULT_INVERT_MIN "yes"
|
||||||
|
#define DEFAULT_INVERT_MAX "yes"
|
||||||
#define DEFAULT_WIDTH "800"
|
#define DEFAULT_WIDTH "800"
|
||||||
#define DEFAULT_HEIGHT "300"
|
#define DEFAULT_HEIGHT "300"
|
||||||
#define DEFAULT_SENS_ID "1"
|
#define DEFAULT_SENS_ID "1"
|
||||||
|
|
@ -67,6 +71,8 @@
|
||||||
#define DEFAULT_LABEL_Y_COLOR "20:20:20:20"
|
#define DEFAULT_LABEL_Y_COLOR "20:20:20:20"
|
||||||
#define DEFAULT_DESCR_X_COLOR "10:50:10:20"
|
#define DEFAULT_DESCR_X_COLOR "10:50:10:20"
|
||||||
#define DEFAULT_DESCR_Y_COLOR "10:10:50:20"
|
#define DEFAULT_DESCR_Y_COLOR "10:10:50:20"
|
||||||
|
#define DEFAULT_MIN_COLOR "32:93:32:10"
|
||||||
|
#define DEFAULT_MAX_COLOR "be:4a:4a:10"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,15 @@ x_format_extra %d.%m.%y| %H:%M # Das ersre und das letzte Label
|
||||||
# Funktioniert NICHT in Verbindung mit Balkendiagrammen
|
# Funktioniert NICHT in Verbindung mit Balkendiagrammen
|
||||||
show_average yes
|
show_average yes
|
||||||
|
|
||||||
|
# Zeigt in der rechten oberen Ecke die Minimal- bzw. Maximal-Werte an
|
||||||
|
show_min yes
|
||||||
|
show_max yes
|
||||||
|
|
||||||
|
# Zeigt die Minimal- bzw. Maximalwerte in der Hintergrundfarbe auf
|
||||||
|
# einem farbigem Rechteck
|
||||||
|
invert_min yes
|
||||||
|
invert_max yes
|
||||||
|
|
||||||
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
||||||
# Sonst sollten sie imer auf no stehen!
|
# Sonst sollten sie imer auf no stehen!
|
||||||
zero_min no # Die Nullinie auf jeden Fall anzeigen
|
zero_min no # Die Nullinie auf jeden Fall anzeigen
|
||||||
|
|
@ -96,3 +105,5 @@ label_extra_x_color 10:10:40:00 # Farbe des ersten und lezten Labels an der X-Ac
|
||||||
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
||||||
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
||||||
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
||||||
|
min_color 32:93:32:10 # Farbe fuer den Minimalwert in der rechten oberen Ecke
|
||||||
|
max_color be:4a:4a:10 # Farbe fuer den Maximalwert in der rechten oberen Ecke
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,15 @@ x_format_extra %d.%m.%y| %H:%M # Das ersre und das letzte Label
|
||||||
# Funktioniert NICHT in Verbindung mit Balkendiagrammen
|
# Funktioniert NICHT in Verbindung mit Balkendiagrammen
|
||||||
show_average yes
|
show_average yes
|
||||||
|
|
||||||
|
# Zeigt in der rechten oberen Ecke die Minimal- bzw. Maximal-Werte an
|
||||||
|
show_min yes
|
||||||
|
show_max yes
|
||||||
|
|
||||||
|
# Zeigt die Minimal- bzw. Maximalwerte in der Hintergrundfarbe auf
|
||||||
|
# einem farbigem Rechteck
|
||||||
|
invert_min yes
|
||||||
|
invert_max yes
|
||||||
|
|
||||||
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
||||||
# Sonst sollten sie imer auf no stehen!
|
# Sonst sollten sie imer auf no stehen!
|
||||||
zero_min no # Die Nullinie auf jeden Fall anzeigen
|
zero_min no # Die Nullinie auf jeden Fall anzeigen
|
||||||
|
|
@ -96,3 +105,5 @@ label_extra_x_color 10:10:40:00 # Farbe des ersten und lezten Labels an der X-Ac
|
||||||
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
||||||
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
||||||
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
||||||
|
min_color 32:93:32:10 # Farbe fuer den Minimalwert in der rechten oberen Ecke
|
||||||
|
max_color be:4a:4a:10 # Farbe fuer den Maximalwert in der rechten oberen Ecke
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,15 @@ x_format_extra %d.%m.%y| %H:%M # Das ersre und das letzte Label
|
||||||
# Funktioniert NICHT in Verbindung mit Balkendiagrammen
|
# Funktioniert NICHT in Verbindung mit Balkendiagrammen
|
||||||
show_average yes
|
show_average yes
|
||||||
|
|
||||||
|
# Zeigt in der rechten oberen Ecke die Minimal- bzw. Maximal-Werte an
|
||||||
|
show_min yes
|
||||||
|
show_max yes
|
||||||
|
|
||||||
|
# Zeigt die Minimal- bzw. Maximalwerte in der Hintergrundfarbe auf
|
||||||
|
# einem farbigem Rechteck
|
||||||
|
invert_min yes
|
||||||
|
invert_max yes
|
||||||
|
|
||||||
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
||||||
# Sonst sollten sie imer auf no stehen!
|
# Sonst sollten sie imer auf no stehen!
|
||||||
zero_min no # Die Nullinie auf jeden Fall anzeigen
|
zero_min no # Die Nullinie auf jeden Fall anzeigen
|
||||||
|
|
@ -96,3 +105,5 @@ label_extra_x_color 10:10:40:00 # Farbe des ersten und lezten Labels an der X-Ac
|
||||||
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
||||||
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
||||||
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
||||||
|
min_color 32:93:32:10 # Farbe fuer den Minimalwert in der rechten oberen Ecke
|
||||||
|
max_color be:4a:4a:10 # Farbe fuer den Maximalwert in der rechten oberen Ecke
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,15 @@ x_format_extra %d.%m.%y| %H:%M # Das ersre und das letzte Label
|
||||||
# Funktioniert NICHT in Verbindung mit Balkendiagrammen
|
# Funktioniert NICHT in Verbindung mit Balkendiagrammen
|
||||||
show_average no
|
show_average no
|
||||||
|
|
||||||
|
# Zeigt in der rechten oberen Ecke die Minimal- bzw. Maximal-Werte an
|
||||||
|
show_min no
|
||||||
|
show_max no
|
||||||
|
|
||||||
|
# Zeigt die Minimal- bzw. Maximalwerte in der Hintergrundfarbe auf
|
||||||
|
# einem farbigem Rechteck
|
||||||
|
invert_min yes
|
||||||
|
invert_max yes
|
||||||
|
|
||||||
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
||||||
# Sonst sollten sie imer auf no stehen!
|
# Sonst sollten sie imer auf no stehen!
|
||||||
zero_min yes # Die Nullinie auf jeden Fall anzeigen
|
zero_min yes # Die Nullinie auf jeden Fall anzeigen
|
||||||
|
|
@ -96,3 +105,5 @@ label_extra_x_color 10:10:40:00 # Farbe des ersten und lezten Labels an der X-Ac
|
||||||
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
||||||
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
||||||
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
||||||
|
min_color 32:93:32:10 # Farbe fuer den Minimalwert in der rechten oberen Ecke
|
||||||
|
max_color be:4a:4a:10 # Farbe fuer den Maximalwert in der rechten oberen Ecke
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,15 @@ x_format_extra %d.%m.%y| %H:%M # Das ersre und das letzte Label
|
||||||
# Funktioniert NICHT in Verbindung mit Balkendiagrammen
|
# Funktioniert NICHT in Verbindung mit Balkendiagrammen
|
||||||
show_average yes
|
show_average yes
|
||||||
|
|
||||||
|
# Zeigt in der rechten oberen Ecke die Minimal- bzw. Maximal-Werte an
|
||||||
|
show_min yes
|
||||||
|
show_max yes
|
||||||
|
|
||||||
|
# Zeigt die Minimal- bzw. Maximalwerte in der Hintergrundfarbe auf
|
||||||
|
# einem farbigem Rechteck
|
||||||
|
invert_min yes
|
||||||
|
invert_max yes
|
||||||
|
|
||||||
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
||||||
# Sonst sollten sie imer auf no stehen!
|
# Sonst sollten sie imer auf no stehen!
|
||||||
zero_min no # Die Nullinie auf jeden Fall anzeigen
|
zero_min no # Die Nullinie auf jeden Fall anzeigen
|
||||||
|
|
@ -96,3 +105,5 @@ label_extra_x_color 10:10:40:00 # Farbe des ersten und lezten Labels an der X-Ac
|
||||||
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
||||||
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
||||||
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
||||||
|
min_color 32:93:32:10 # Farbe fuer den Minimalwert in der rechten oberen Ecke
|
||||||
|
max_color be:4a:4a:10 # Farbe fuer den Maximalwert in der rechten oberen Ecke
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@ manual_table_name auss2_data
|
||||||
table_field temp
|
table_field temp
|
||||||
#table_field press
|
#table_field press
|
||||||
gen_interval 1
|
gen_interval 1
|
||||||
show_interval 1y
|
show_interval 30d
|
||||||
label_interval 30d
|
label_interval 3d
|
||||||
fixed_timepoint no
|
fixed_timepoint no
|
||||||
timepoint 2006-12-17-13-00
|
timepoint 2006-12-17-13-00
|
||||||
width 800
|
width 800
|
||||||
|
|
@ -24,20 +24,43 @@ zero_min no
|
||||||
as_bars no
|
as_bars no
|
||||||
label_sum no
|
label_sum no
|
||||||
show_average yes
|
show_average yes
|
||||||
|
show_min yes
|
||||||
|
show_max yes
|
||||||
|
invert_min yes
|
||||||
|
invert_max yes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bg_color DF:DF:EF:00
|
#bg_color DF:DF:EF:00
|
||||||
dia_bg_color F0:A0:D0:D0
|
#dia_bg_color F0:A0:D0:D0
|
||||||
zero_line_color BF:80:80:40
|
#zero_line_color BF:80:80:40
|
||||||
dia_line_color 60:30:50:30
|
#dia_line_color 60:30:50:30
|
||||||
dia_av_line_color 50:60:30:D0
|
#dia_av_line_color 50:60:30:D0
|
||||||
dia_grid_x_color 60:60:60:EF
|
#dia_grid_x_color 60:60:60:EF
|
||||||
dia_grid_y_color 60:60:60:EF
|
#dia_grid_y_color 60:60:60:EF
|
||||||
dia_border_color a0:a0:a0:af
|
#dia_border_color a0:a0:a0:af
|
||||||
headline_color 80:10:10:30
|
#headline_color 80:10:10:30
|
||||||
label_x_color 60:60:60:30
|
#label_x_color 60:60:60:30
|
||||||
label_extra_x_color 60:10:10:20
|
#label_extra_x_color 60:10:10:20
|
||||||
label_y_color 20:20:20:20
|
#label_y_color 20:20:20:20
|
||||||
descr_y_color 10:50:10:20
|
#descr_y_color 10:50:10:20
|
||||||
descr_x_color 10:10:50:20
|
#descr_x_color 10:10:50:20
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
bg_color FF:FA:F5:00 # Gesamthintergrund des Diagrames
|
||||||
|
dia_bg_color F0:D0:A0:D0 # Hintergrund des Bereiches mit den Daten
|
||||||
|
zero_line_color DF:80:80:40 # Farbe der 'Nulllinie'
|
||||||
|
dia_line_color 80:30:30:30 # Farbe der Balken oder der Linie
|
||||||
|
dia_av_line_color 50:A0:50:D0 # Farbe der Durchschnittswert-Linie
|
||||||
|
dia_grid_x_color 60:60:60:EF # Farbe der Senkrechten Striche
|
||||||
|
dia_grid_y_color 60:60:60:EF # Farbe der Waagerechten Striche
|
||||||
|
dia_border_color a0:a0:a0:a0 # Farbe des Diagramrahmens (rahmen um den Datenbereich)
|
||||||
|
headline_color 10:80:10:30 # Farbe der Ueberschrift
|
||||||
|
label_x_color 20:20:20:00 # Farbe der Labels an der X-Achse
|
||||||
|
label_extra_x_color 10:10:40:00 # Farbe des ersten und lezten Labels an der X-Achse
|
||||||
|
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
||||||
|
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
||||||
|
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
||||||
|
min_color 32:93:32:10
|
||||||
|
max_color be:4a:4a:10
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,15 @@ x_format_extra %d.%m.%y| %H:%M # Das ersre und das letzte Label
|
||||||
# Funktioniert NICHT in Verbindung mit Balkendiagrammen
|
# Funktioniert NICHT in Verbindung mit Balkendiagrammen
|
||||||
show_average yes
|
show_average yes
|
||||||
|
|
||||||
|
# Zeigt in der rechten oberen Ecke die Minimal- bzw. Maximal-Werte an
|
||||||
|
show_min no
|
||||||
|
show_max yes
|
||||||
|
|
||||||
|
# Zeigt die Minimal- bzw. Maximalwerte in der Hintergrundfarbe auf
|
||||||
|
# einem farbigem Rechteck
|
||||||
|
invert_min yes
|
||||||
|
invert_max yes
|
||||||
|
|
||||||
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
||||||
# Sonst sollten sie imer auf no stehen!
|
# Sonst sollten sie imer auf no stehen!
|
||||||
zero_min no # Die Nullinie auf jeden Fall anzeigen
|
zero_min no # Die Nullinie auf jeden Fall anzeigen
|
||||||
|
|
@ -96,3 +105,5 @@ label_extra_x_color 10:10:40:00 # Farbe des ersten und lezten Labels an der X-Ac
|
||||||
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
label_y_color 10:10:10:00 # Farbe der Labels an der Y-Achse
|
||||||
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
||||||
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
||||||
|
min_color 32:93:32:10 # Farbe fuer den Minimalwert in der rechten oberen Ecke
|
||||||
|
max_color be:4a:4a:10 # Farbe fuer den Maximalwert in der rechten oberen Ecke
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,10 @@ typedef struct image_cfg {
|
||||||
int zero_min; /* Nullinie auf jeden Fall anzeigen */
|
int zero_min; /* Nullinie auf jeden Fall anzeigen */
|
||||||
int bars; /* Balken malen statt einer Linie */
|
int bars; /* Balken malen statt einer Linie */
|
||||||
int show_average; /* Durchschnittslinie zeichnen */
|
int show_average; /* Durchschnittslinie zeichnen */
|
||||||
|
int show_min;
|
||||||
|
int show_max;
|
||||||
|
int invert_min;
|
||||||
|
int invert_max;
|
||||||
int dflt_dir; /* Standart - Verzeichnis fuer die Bilder */
|
int dflt_dir; /* Standart - Verzeichnis fuer die Bilder */
|
||||||
|
|
||||||
/* Farben */
|
/* Farben */
|
||||||
|
|
@ -72,6 +76,8 @@ typedef struct image_cfg {
|
||||||
img_color_ptr label_y_color;
|
img_color_ptr label_y_color;
|
||||||
img_color_ptr desc_x_color;
|
img_color_ptr desc_x_color;
|
||||||
img_color_ptr desc_y_color;
|
img_color_ptr desc_y_color;
|
||||||
|
img_color_ptr max_color;
|
||||||
|
img_color_ptr min_color;
|
||||||
} image_cfg_t;
|
} image_cfg_t;
|
||||||
|
|
||||||
/* Entfaelt die aktuelle Bild - Config */
|
/* Entfaelt die aktuelle Bild - Config */
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,10 @@ static const config_keyword keywords[] = {
|
||||||
{"zero_min", read_yn, &(img_cfg.zero_min), DEFAULT_ZERO_MIN},
|
{"zero_min", read_yn, &(img_cfg.zero_min), DEFAULT_ZERO_MIN},
|
||||||
{"as_bars", read_yn, &(img_cfg.bars), DEFAULT_AS_BARS},
|
{"as_bars", read_yn, &(img_cfg.bars), DEFAULT_AS_BARS},
|
||||||
{"show_average", read_yn, &(img_cfg.show_average), DEFAULT_SHOW_AVERAGE},
|
{"show_average", read_yn, &(img_cfg.show_average), DEFAULT_SHOW_AVERAGE},
|
||||||
|
{"show_min", read_yn, &(img_cfg.show_min), DEFAULT_SHOW_MIN},
|
||||||
|
{"show_max", read_yn, &(img_cfg.show_max), DEFAULT_SHOW_MAX},
|
||||||
|
{"invert_min", read_yn, &(img_cfg.invert_min), DEFAULT_INVERT_MIN},
|
||||||
|
{"invert_max", read_yn, &(img_cfg.invert_max), DEFAULT_INVERT_MAX},
|
||||||
{"x_axis_desc", read_str, &(img_cfg.x_desc), DEFAULT_X_AX_DESC},
|
{"x_axis_desc", read_str, &(img_cfg.x_desc), DEFAULT_X_AX_DESC},
|
||||||
{"y_axis_desc", read_str, &(img_cfg.y_desc), DEFAULT_Y_AX_DESC},
|
{"y_axis_desc", read_str, &(img_cfg.y_desc), DEFAULT_Y_AX_DESC},
|
||||||
{"x_format", read_fmt_str, &(img_cfg.x_fmt), DEFAULT_X_FORMAT},
|
{"x_format", read_fmt_str, &(img_cfg.x_fmt), DEFAULT_X_FORMAT},
|
||||||
|
|
@ -83,6 +87,8 @@ static const config_keyword keywords[] = {
|
||||||
{"label_y_color", read_color, &(img_cfg.label_y_color), DEFAULT_LABEL_Y_COLOR},
|
{"label_y_color", read_color, &(img_cfg.label_y_color), DEFAULT_LABEL_Y_COLOR},
|
||||||
{"descr_y_color", read_color, &(img_cfg.desc_y_color), DEFAULT_DESCR_X_COLOR},
|
{"descr_y_color", read_color, &(img_cfg.desc_y_color), DEFAULT_DESCR_X_COLOR},
|
||||||
{"descr_x_color", read_color, &(img_cfg.desc_x_color), DEFAULT_DESCR_Y_COLOR},
|
{"descr_x_color", read_color, &(img_cfg.desc_x_color), DEFAULT_DESCR_Y_COLOR},
|
||||||
|
{"max_color", read_color, &(img_cfg.max_color), DEFAULT_MAX_COLOR},
|
||||||
|
{"min_color", read_color, &(img_cfg.min_color), DEFAULT_MIN_COLOR},
|
||||||
|
|
||||||
{"", NULL, NULL, ""}
|
{"", NULL, NULL, ""}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ static PGresult *pg_check_exec(PGconn *, char *);
|
||||||
static char *get_type_table_by_id(PGconn *, int );
|
static char *get_type_table_by_id(PGconn *, int );
|
||||||
|
|
||||||
|
|
||||||
/* Bibt die Liste mit den y-Labels zurueck */
|
/* Gibt die Liste mit den y-Labels zurueck */
|
||||||
label_list_ptr get_y_label_list(int c_hight, int padding){
|
label_list_ptr get_y_label_list(int c_hight, int padding){
|
||||||
int max_val = 0; /* Maximaler Wert */
|
int max_val = 0; /* Maximaler Wert */
|
||||||
int min_val = 0; /* Minimaler Wert */
|
int min_val = 0; /* Minimaler Wert */
|
||||||
|
|
@ -251,15 +251,22 @@ int scale_y_coords(pix_list_ptr ptr, int c_height){
|
||||||
|
|
||||||
|
|
||||||
/* Maximaler wert */
|
/* Maximaler wert */
|
||||||
pix_list_ptr get_max_val(){
|
pix_list_ptr get_max_elem(){
|
||||||
return min;
|
return min;
|
||||||
}
|
}
|
||||||
|
double get_max_val(){
|
||||||
|
return real_max;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Minimaler Wert */
|
/* Minimaler Wert */
|
||||||
pix_list_ptr get_min_val(){
|
pix_list_ptr get_min_elem(){
|
||||||
return max;
|
return max;
|
||||||
}
|
}
|
||||||
|
double get_min_val(){
|
||||||
|
return real_min;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Maximale Zeit */
|
/* Maximale Zeit */
|
||||||
|
|
|
||||||
|
|
@ -59,11 +59,13 @@ pix_list_ptr build_average_line(pix_list_ptr real_list, int c_width);
|
||||||
|
|
||||||
|
|
||||||
/* Max. Wert */
|
/* Max. Wert */
|
||||||
pix_list_ptr get_min_val();
|
pix_list_ptr get_min_elem();
|
||||||
|
double get_min_val();
|
||||||
|
|
||||||
|
|
||||||
/* Min. Wert */
|
/* Min. Wert */
|
||||||
pix_list_ptr get_max_val();
|
pix_list_ptr get_max_elem();
|
||||||
|
double get_max_val();
|
||||||
|
|
||||||
|
|
||||||
/* Max. Zeit */
|
/* Max. Zeit */
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,8 @@
|
||||||
#include "image_common.h"
|
#include "image_common.h"
|
||||||
|
|
||||||
#define SHORTBUFFSIZE 64
|
#define SHORTBUFFSIZE 64
|
||||||
|
#define MIN_MAX_BUFF 125
|
||||||
|
#define MIN_MAX_SIZE 7
|
||||||
|
|
||||||
/* der besseren Lesbarkeit wegen einen Farbtyp definiert */
|
/* der besseren Lesbarkeit wegen einen Farbtyp definiert */
|
||||||
typedef int color;
|
typedef int color;
|
||||||
|
|
@ -105,8 +107,11 @@ static gdImagePtr draw_image(gdImagePtr img){
|
||||||
int y_label_max_width = 0;
|
int y_label_max_width = 0;
|
||||||
int i;
|
int i;
|
||||||
int temp_x2, temp_x1, temp_y1;
|
int temp_x2, temp_x1, temp_y1;
|
||||||
|
int min_max_width = 0;
|
||||||
|
|
||||||
char *buff;
|
char *buff;
|
||||||
|
char * min_buff ;
|
||||||
|
char * max_buff ;
|
||||||
time_t ts;
|
time_t ts;
|
||||||
|
|
||||||
/* Groeßenangaben fuer die einzelnen Texte */
|
/* Groeßenangaben fuer die einzelnen Texte */
|
||||||
|
|
@ -115,6 +120,9 @@ static gdImagePtr draw_image(gdImagePtr img){
|
||||||
dimension_t x_label_d;
|
dimension_t x_label_d;
|
||||||
dimension_t x_desc_d;
|
dimension_t x_desc_d;
|
||||||
dimension_t y_desc_d;
|
dimension_t y_desc_d;
|
||||||
|
dimension_t min_val_d;
|
||||||
|
dimension_t max_val_d;
|
||||||
|
dimension_t arrow_d;
|
||||||
|
|
||||||
/* Farben */
|
/* Farben */
|
||||||
color val_line_c = alloc_alpha_color(img, img_cfg.dia_line_color);
|
color val_line_c = alloc_alpha_color(img, img_cfg.dia_line_color);
|
||||||
|
|
@ -130,6 +138,10 @@ static gdImagePtr draw_image(gdImagePtr img){
|
||||||
color label_y_c = alloc_alpha_color(img, img_cfg.label_y_color);
|
color label_y_c = alloc_alpha_color(img, img_cfg.label_y_color);
|
||||||
color desc_x_c = alloc_alpha_color(img, img_cfg.desc_x_color);
|
color desc_x_c = alloc_alpha_color(img, img_cfg.desc_x_color);
|
||||||
color desc_y_c = alloc_alpha_color(img, img_cfg.desc_y_color);
|
color desc_y_c = alloc_alpha_color(img, img_cfg.desc_y_color);
|
||||||
|
color min_c = alloc_alpha_color(img, img_cfg.min_color);
|
||||||
|
color max_c = alloc_alpha_color(img, img_cfg.max_color);
|
||||||
|
color back_c = alloc_alpha_color(img, img_cfg.bg_color);
|
||||||
|
color temp_c;
|
||||||
|
|
||||||
/* Ueberschrift */
|
/* Ueberschrift */
|
||||||
head_d = calc_text_dim(img_cfg.headline, 16, 0);
|
head_d = calc_text_dim(img_cfg.headline, 16, 0);
|
||||||
|
|
@ -240,6 +252,70 @@ static gdImagePtr draw_image(gdImagePtr img){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*Min / Max */
|
||||||
|
if (img_cfg.show_min || img_cfg.show_max){
|
||||||
|
|
||||||
|
/* Minimal-String zusammenbauen */
|
||||||
|
if(img_cfg.show_min){
|
||||||
|
min_buff = malloc(sizeof(char)*MIN_MAX_BUFF);
|
||||||
|
if(img_cfg.unit != NULL){
|
||||||
|
snprintf(min_buff, MIN_MAX_BUFF, "%-.1f%s", get_min_val(), img_cfg.unit);
|
||||||
|
} else {
|
||||||
|
snprintf(min_buff, MIN_MAX_BUFF, "%-.1f", get_min_val());
|
||||||
|
}
|
||||||
|
min_val_d = calc_text_dim(min_buff, MIN_MAX_SIZE, 0);
|
||||||
|
min_max_width = min_val_d.width;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Maximal-String zusammenbauen */
|
||||||
|
if(img_cfg.show_max){
|
||||||
|
max_buff = malloc(sizeof(char)*MIN_MAX_BUFF);
|
||||||
|
if(img_cfg.unit != NULL){
|
||||||
|
snprintf(max_buff, MIN_MAX_BUFF, "%-.1f%s", (double) get_max_val(), img_cfg.unit);
|
||||||
|
} else {
|
||||||
|
snprintf(max_buff, MIN_MAX_BUFF, "%-.1f", (double) get_max_val());
|
||||||
|
}
|
||||||
|
max_val_d = calc_text_dim(max_buff, MIN_MAX_SIZE, 0);
|
||||||
|
min_max_width = max_val_d.width;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 'laengeren' String suchen */
|
||||||
|
if(img_cfg.show_min && img_cfg.show_max){
|
||||||
|
if (min_val_d.width < max_val_d.width) {
|
||||||
|
min_max_width = max_val_d.width;
|
||||||
|
} else {
|
||||||
|
min_max_width = min_val_d.width;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Dimmensionen des Pfeis berechnen */
|
||||||
|
arrow_d = calc_text_dim(">", MIN_MAX_SIZE - 1, 1.570796327);
|
||||||
|
|
||||||
|
/* Minimalwert zeichnen */
|
||||||
|
if(img_cfg.show_min){
|
||||||
|
temp_c = min_c;
|
||||||
|
if(img_cfg.invert_min){
|
||||||
|
gdImageFilledRectangle(img, (img_cfg.width - offset_x_right - min_max_width - arrow_d.width -8), (6 + min_val_d.height + 4), (img_cfg.width - offset_x_right), ( 6 + (2*min_val_d.height) + 4), min_c);
|
||||||
|
temp_c = back_c;
|
||||||
|
}
|
||||||
|
gdImageStringFT(img, &brect[0], temp_c, IMG_FONT, MIN_MAX_SIZE-1, 1.570796327 , img_cfg.width - offset_x_right - min_max_width - arrow_d.width +1, 11 + min_val_d.height + arrow_d.height, "<");
|
||||||
|
gdImageStringFT(img, &brect[0], temp_c, IMG_FONT, MIN_MAX_SIZE, 0 , img_cfg.width - offset_x_right - min_val_d.width, 6 + (2*min_val_d.height)+3, min_buff);
|
||||||
|
free(min_buff);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Maximalwert zeichnen */
|
||||||
|
if(img_cfg.show_max){
|
||||||
|
temp_c = max_c;
|
||||||
|
if(img_cfg.invert_max){
|
||||||
|
gdImageFilledRectangle(img, (img_cfg.width - offset_x_right - min_max_width - arrow_d.width -8), (6), (img_cfg.width - offset_x_right), ( 6 + (max_val_d.height) + 1), max_c);
|
||||||
|
temp_c = back_c;
|
||||||
|
}
|
||||||
|
gdImageStringFT(img, &brect[0], temp_c, IMG_FONT, MIN_MAX_SIZE-1, 1.570796327 , img_cfg.width - offset_x_right - min_max_width - arrow_d.width +1, 7 + arrow_d.height, ">");
|
||||||
|
gdImageStringFT(img, &brect[0], temp_c, IMG_FONT, MIN_MAX_SIZE, 0 , img_cfg.width - offset_x_right - max_val_d.width, 5 + max_val_d.height, max_buff);
|
||||||
|
free(max_buff);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Rahmen */
|
/* Rahmen */
|
||||||
gdImageRectangle(img, offset_x_left, offset_y_top, img_cfg.width - offset_x_right, img_cfg.height - offset_y_bottom, dia_border_c);
|
gdImageRectangle(img, offset_x_left, offset_y_top, img_cfg.width - offset_x_right, img_cfg.height - offset_y_bottom, dia_border_c);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
weatherstation (1.0.7-1) stable; urgency=low
|
||||||
|
|
||||||
|
* New Chart Feature: Min/Max can be shown in the upper right corner
|
||||||
|
|
||||||
|
-- Jan Losinski <losinski@wh2.tu-dresden.de> Fri, 5 Jan 2007 05:33:43 +0100
|
||||||
|
|
||||||
weatherstation (1.0.6-1) stable; urgency=low
|
weatherstation (1.0.6-1) stable; urgency=low
|
||||||
|
|
||||||
* New feature added in chart-program: Now it can draw a average.line
|
* New feature added in chart-program: Now it can draw a average.line
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue