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:
losinshi 2007-01-05 04:36:09 +00:00
parent 4c211cf31e
commit c69e82f23e
14 changed files with 221 additions and 23 deletions

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -61,7 +61,11 @@ static const config_keyword keywords[] = {
{"sensor_id", read_int, &(img_cfg.sens_id), DEFAULT_SENS_ID}, {"sensor_id", read_int, &(img_cfg.sens_id), DEFAULT_SENS_ID},
{"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, ""}
}; };

View File

@ -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 */

View File

@ -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 */

View File

@ -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);
} }

6
debian/changelog vendored
View File

@ -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