fix: wrap classic Home screen in a sized container, separate dial arc radii
Two bugs found on first hardware test: 1. page_home placed all widgets directly on the page with no sized wrapper container, unlike every other page in this codebase (which all wrap content in an explicit width/height obj before using align:). The dial and its siblings rendered tiny and pinned to the top-left instead of filling/centering on the real 1024x600 screen. Wrapped all of page_home's content in a width:100%/height:100% obj, matching the established pattern. 2. heat_arc and cool_arc were both adjustable:true at the identical 400x400 size, so their rings occupied the same physical pixels. LVGL hit-tests arcs by distance from center, so a shared radius is touch-ambiguous, and the topmost widget (cool_arc, declared last) won every touch regardless of where on the ring you tapped. Shrunk cool_arc to 360x360 so the two rings are physically distinguishable by touch position.
This commit is contained in:
parent
3d47e80de6
commit
1f750ea779
1 changed files with 209 additions and 198 deletions
|
|
@ -6,6 +6,14 @@ lvgl:
|
||||||
- touch_gt911
|
- touch_gt911
|
||||||
pages:
|
pages:
|
||||||
- id: page_home
|
- id: page_home
|
||||||
|
widgets:
|
||||||
|
- obj:
|
||||||
|
width: 100%
|
||||||
|
height: 100%
|
||||||
|
pad_all: 0
|
||||||
|
border_width: 0
|
||||||
|
outline_width: 0
|
||||||
|
scrollable: false
|
||||||
widgets:
|
widgets:
|
||||||
- label:
|
- label:
|
||||||
align: top_left
|
align: top_left
|
||||||
|
|
@ -118,8 +126,11 @@ lvgl:
|
||||||
id: cool_arc
|
id: cool_arc
|
||||||
align: center
|
align: center
|
||||||
y: -20
|
y: -20
|
||||||
width: 400px
|
width: 360px # smaller radius than heat_arc (400px) so the two rings occupy
|
||||||
height: 400px
|
height: 360px # different physical pixels — LVGL hit-tests arcs by distance
|
||||||
|
# from center, and two arcs at the same radius are touch-ambiguous;
|
||||||
|
# the topmost one (this one, declared last) always wins regardless
|
||||||
|
# of where along the ring you actually tap
|
||||||
start_angle: 315
|
start_angle: 315
|
||||||
end_angle: 225
|
end_angle: 225
|
||||||
mode: REVERSE
|
mode: REVERSE
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue