Skip to content

Windowing support & Widgets refactoring#6

Open
ilsalvopss wants to merge 84 commits into
fedetft:masterfrom
ilsalvopss:salvo_playground
Open

Windowing support & Widgets refactoring#6
ilsalvopss wants to merge 84 commits into
fedetft:masterfrom
ilsalvopss:salvo_playground

Conversation

@ilsalvopss
Copy link
Copy Markdown

This PR adds support for real windowing capabilities for level2.

It features a (thread safe!) WindowManager, an underlying ClippedDrawingContext and lots of accompaing code. Also, all widgets (with the exclusion of ScrollingList, which wasn't compiling anyway before) have been ported to the new API.

Correctness has been preferred to microoptimization, however some optimization has been done so that all provided functionality runs smooth on the STM32F405 discovery kit.

Existing examples are also ported to the new API and a new windowing example is added.

ilsalvopss added 30 commits May 13, 2026 17:19
…low is deprecated (or even not supported anymore); [this seems to not break anything]. also swap cmake_minimum_required() to be above project(). Also use Qt6

# Conflicts:
#	_tools/qtsimulator/CMakeLists.txt
… skipped writing text if its anchor point was outside the clipping area. this is (now) clearly wrong.
WindowManager: introduce WMMessage and a first sketch of a message loop
ilsalvopss added 30 commits May 13, 2026 17:23
…id of -1 for the Desktop as the Window constructor already takes care of it
…> to DrawableOwner& so gcc compiles

elsewhere: add comments
widgets/image.h: fix config path
drovers: st25dvdiscovery: implement specialized version of verticalScanLine
drivers: display_qt: implement specialized version of verticalScanLine
…lback to handle keyboard events. it is immutable so no synchronization is needed
…ying drawables of an opaque drawable that covers the entirety of the requested region
…e the verticalScanLine primitive rather that (slow) diagonal lines. now ìt's smooooth!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant