Compare commits
2
Commits
ddfd31dddf
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6964e65002 | ||
|
|
8933c6f115 |
@@ -1,3 +1,9 @@
|
||||
Version 1.11.3:
|
||||
- Der Punkt sitzt wieder genau auf dem letzten Messwert, statt eine halbe Punktbreite davor.
|
||||
Die Linie schaut damit rechts nicht mehr unter ihm hervor. Damit trotzdem nichts
|
||||
abgeschnitten wird, lässt die Kurvenfläche rechts einen schmalen Rand frei: Der Platz
|
||||
gehört noch zum Diagramm, wird aber nicht mehr bezeichnet.
|
||||
|
||||
Version 1.11.2:
|
||||
- Der Punkt am Kurvenende sitzt jetzt vollständig innerhalb der Kurvenfläche, statt mittig
|
||||
auf dem letzten Messwert und damit halb außerhalb. Rechts wird nichts mehr abgeschnitten.
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
// -------------------------------------------------------------------------------------
|
||||
// Firmware
|
||||
// -------------------------------------------------------------------------------------
|
||||
#define DISPLAY_FW_VERSION "1.11.2" // Firmware-Stand der P4-Display-Steuerung (Info-Seite)
|
||||
#define DISPLAY_FW_VERSION "1.11.3" // Firmware-Stand der P4-Display-Steuerung (Info-Seite)
|
||||
|
||||
// -------------------------------------------------------------------------------------
|
||||
// Protokoll
|
||||
|
||||
@@ -1220,15 +1220,16 @@ static void spark_dot_place(lv_obj_t* ch, lv_chart_series_t* ser, lv_obj_t* dot,
|
||||
int32_t w = lv_obj_get_content_width(ch);
|
||||
int32_t h = lv_obj_get_content_height(ch);
|
||||
if (w <= 0 || h <= 0) return;
|
||||
// Der Punkt bleibt vollstaendig innerhalb der Kurvenflaeche. Saesse seine Mitte genau
|
||||
// auf dem letzten Messwert - also auf der rechten Kante -, laege seine rechte Haelfte
|
||||
// ausserhalb und wuerde abgeschnitten. Der Schein darf weiterhin hinausreichen.
|
||||
// Die Mitte des Punktes sitzt genau auf dem letzten Messwert, also am rechten Rand der
|
||||
// Kurvenflaeche. Damit seine rechte Haelfte trotzdem nicht abgeschnitten wird, laesst
|
||||
// das Diagramm rechts einen Rand frei (siehe tempSpark) - dort steht der Punkt, ohne
|
||||
// dass die Linie unter ihm hervorschaut.
|
||||
int32_t r = SPARK_DOT_SIZE / 2;
|
||||
int32_t y = h - (int32_t)(((int64_t)(v - mn) * h) / (mx - mn));
|
||||
if (y < r) y = r;
|
||||
if (y > h - r) y = h - r;
|
||||
if (dot == g_sparkDotW) { g_dotCxW = w - r; g_dotCyW = y; }
|
||||
else { g_dotCxD = w - r; g_dotCyD = y; }
|
||||
if (dot == g_sparkDotW) { g_dotCxW = w; g_dotCyW = y; }
|
||||
else { g_dotCxD = w; g_dotCyD = y; }
|
||||
spark_dot_apply(dot, lv_obj_get_width(dot));
|
||||
lv_obj_remove_flag(dot, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
@@ -1319,6 +1320,10 @@ static lv_obj_t* tempSpark(lv_obj_t* parent, lv_color_t col, lv_chart_series_t**
|
||||
lv_obj_set_style_bg_opa(ch, LV_OPA_TRANSP, 0);
|
||||
lv_obj_set_style_border_width(ch, 0, 0);
|
||||
lv_obj_set_style_pad_all(ch, 4, 0);
|
||||
// Rechts etwas mehr Rand: Dort steht der Punkt auf dem letzten Messwert. Der Platz
|
||||
// gehoert noch zum Diagramm, wird aber nicht mehr bezeichnet - deshalb ragt weder die
|
||||
// Linie unter dem Punkt hervor noch wird der Punkt an der Kante beschnitten.
|
||||
lv_obj_set_style_pad_right(ch, SPARK_DOT_SIZE / 2 + 3, 0);
|
||||
lv_obj_set_style_size(ch, 0, 0, LV_PART_INDICATOR); // keine Punktmarkierungen
|
||||
lv_obj_set_style_line_width(ch, 3, LV_PART_ITEMS);
|
||||
// Runde Enden und Ecken: An den Stuetzpunkten sitzt damit kein spitzer Winkel.
|
||||
|
||||
Reference in New Issue
Block a user