Lagrange [work/v1.7]

Mobile: Draw optimizations; focus handling

=> Jaakko Keränen

Sun Sep 12 13:49:38 2021 +0300

Widgets can now be marked for buffering their contents, which is useful if their contents change seldom but they are drawn often.

For example, the navbar is always visible but doesn't change very often, and during animations menu contents are static but there is a moving animation so everything gets drawn 60 FPS.

Focus handling was also improved so the lookup results can be scrolled while entering text, and one can tap outside an input field to unfocus it.

 src/ui/inputwidget.c   |   5 +
 src/ui/mobile.c        |   4 +-
 src/ui/paint.c         |  18 +++-
 src/ui/paint.h         |   2 +
 src/ui/root.c          |  54 ++++++++++-
 src/ui/sidebarwidget.c |   3 +-
 src/ui/text.c          |   7 ++
 src/ui/text_simple.c   |   2 +
 src/ui/touch.c         |   2 +-
 src/ui/translation.c   |   3 +-
 src/ui/uploadwidget.c  |   8 +-
 src/ui/util.c          |   1 +
 src/ui/widget.c        | 241 ++++++++++++++++++++++++++++++++++++++++++++-----
 src/ui/widget.h        |   9 ++
 src/ui/window.c        |   7 +-
 15 files changed, 327 insertions(+), 39 deletions(-)

=> Diff (Colored) | Diff (Colored, Plain Text) | 🔨 Patch

=> Parent 1410bbde | Repository

Proxy Information
Original URL
gemini://git.skyjake.fi/lagrange/work%2Fv1.7/commits/33620846cca5678fbd662ea1a48fad302727dae7
Status Code
Success (20)
Meta
text/gemini; charset=utf-8
Capsule Response Time
78.737854 milliseconds
Gemini-to-HTML Time
0.386844 milliseconds

This content has been proxied by September (ba2dc).