use register-widget more, fewer arrow widget repaints
This commit is contained in:
parent
f64bfeb7fd
commit
2a86a2bfde
@ -126,12 +126,11 @@ label.readout {
|
||||
})))
|
||||
|
||||
(fn readout [name text]
|
||||
(let [w
|
||||
(register-widget
|
||||
name
|
||||
(doto (Gtk.Label {:label text : name})
|
||||
(-> (: :get_style_context)
|
||||
(: :add_class :readout)))]
|
||||
(tset state-widgets name w)
|
||||
w))
|
||||
(: :add_class :readout)))))
|
||||
|
||||
(local knot-in-m-s
|
||||
(/ 1852 ; metres in nautical mile
|
||||
@ -157,6 +156,7 @@ label.readout {
|
||||
:speed (widget:set_label
|
||||
(string.format "%.1f km/h" (* app-state.speed 3.6)))
|
||||
:osm (: (widget:get_window) :invalidate_rect nil)
|
||||
:arrow (: (widget:get_window) :invalidate_rect nil)
|
||||
:time (widget:set_label
|
||||
(hhmmss (+ utc-offset app-state.time-of-day)))
|
||||
)))
|
||||
@ -174,8 +174,10 @@ label.readout {
|
||||
(: :add (readout :speed "0"))))
|
||||
|
||||
(fn arrow []
|
||||
(let [height 40
|
||||
w (Gtk.Label {
|
||||
(let [height 40]
|
||||
(register-widget
|
||||
:arrow
|
||||
(Gtk.Label {
|
||||
:halign Gtk.Align.CENTER
|
||||
:valign Gtk.Align.CENTER
|
||||
:width height :height height
|
||||
@ -191,8 +193,7 @@ label.readout {
|
||||
(g:line_to (- height 10) height)
|
||||
(g:fill)
|
||||
true)
|
||||
})]
|
||||
w))
|
||||
}))))
|
||||
|
||||
|
||||
(local socket-path (or (. arg 1) "/var/run/gnss-share.sock"))
|
||||
|
Loading…
Reference in New Issue
Block a user