* add _update_state
* nonlya
* visible already does this for us!
* do hud renderer and exp button
* temp
* this really needs some type of timer like QT
* this really needs some type of timer like QT
* todo
* use in model renderer
* Revert "use in model renderer"
This reverts commit d35f774155.
* no passing rect
* cl
* unused now
* update_layout_rects
* check prev
* about it
* need this since touch can change :(
* looks nicer
* Revert "looks nicer"
This reverts commit 8f36c92675.
* something like this
* need these
* rest
* another pr
* what is this merge conflict
f
* fix mouse down
* rm that!
* fix that
* rearrange
* fix bug where mouse held down on widget, dragged off, then let go
* temp
* fix that
* missing init
* add new main UI entry point
* cleanup
* mv to selfdrive/ui
* fix imports
* handle_mouse_click
* use ui_state
* remove ui_state from gui_app
* setup callbacks
* handle clicks
* put layouts in a dict
* update state in render
* rebase master
* implement settings sidebar
* rename files