Commit 3cb636169506262d96ec2bc53a617714d5ab068d in femtovg switched to
using WeblGL to (needed for tiling). This means the GraphicsAPI::WebGL
context type needs to be updated, too. Also, the canvas_id was always
empty, but needs to be initialized from the id of the element we're
using.
The origin of this proposal is the name of the `swipe-left`, etc.
directional, boolean properties. They're missing another verb in their
name. In principle the right choice would be "recognize". That is what
the type name suggests, that's the term the documentation uses, so the
code should read `recognize-swipe-left: true;`. However that is a long
word. "Handle" is a verb that's simpler. It's also more generic (that's
a downside), but it's otherwise short enough to make things look
"right":
```
SwipeGestureHandler {
handle-swipe-left: true;
swiped => { something.naviate-left(); }
}
```
Therefore this patch proposes to rename the type to SwipeGestureHandler
and prefixes the boolean directional properties with "handle".
There is only one directory alled "ui", so there isn't really need to have
this level of directory.
This aligns with other demo that don't have any source files
Also rename appwindow.slint to dial.slint
Run the nightly esp-idf test against the esp-idf slint nightly
binaries, after creating them. The snapshot is run earlier as well
then, so that the tests don't "leak" into the morning working hours.
Tidy up the main examples/README.md.
All the main examples now live in a table with a thumbnail and description.
Then each project has it's own README.md with more details.
Items are auto centered these days so no need for extra bindings.
The buttons also look after themselves and don't need logic in the loop to resize them.
There's an issue that the live-preview doesn't respect the preferred size when actively choosing to preview a new component, but regardless it makes sense to avoid shrinking the printer demo.
Amends ccc795beb8
The reason why we need to have a `_lib` prefix in the printerdemo and
the too example is because the binary name must be different from the
library name. But in the case of the weather-demo, since there is a
dash, it doesn't need the _lib suffix to be different.
Having a different name than the package name doesn't work with the
`xbuild` tool: fixes#5731
(we use cargo apk for our own build which doesn't have this limitation
anyway)
Set the native simulator display size to 1280x720 to match the
hardware.
On the hardware we rotate the screen using the display driver pixel
processing pipeline API. We can tell slint the rotated size via the
window adapter and everything is rendered as expected.
Input still needs rotating, so the software renderer RotationInfo struct and
`transformed` functions are "copied" here. However, we must specify the
opposite orientation in order to get the expected input coordinates.
The display driver (display_mcux_elcdif) for the test hardware can use
a Pixel Processing Pipeline (PXP) which utilises DMA instead of copying
the framebuffer using `memcpy`. Enabling PXP is the first step to using
it to rotate the display output.
* The general page change animation is more subtle. It's now a combo of fade in and move. As opposed to a full page slide.
* The SVG also has been tweaked to make it symmetrical and remove the lopsided bulge it had.
* The sidebar buttons touch area covers the whole space they represent, as opposed to just being the same size as the icon.
* The code has been simplified a bit. Layout values are moved to DemoPalette and animation values are based on reusable variables to make changing the timings easier.
This reverts commit 2c06ed697b.
This doesn't work for me, the application crashes at start.
Also the espflash tool edits the file to add the device in it which
causes dirty files in git.
Instead, document to use CARGO_PROFILE_RELEASE_OPT_LEVEL=s in the readme
The Zephyr POSIX architecture used by the native simulator is unable
to interrupt a busy thread [1]. Therefore we must sleep even when
there are active animations to allow other threads to progress,
otherwise we end up in an infinite loop. This limitation does not
apply to real hardware, where we can simply continue the event loop.
[1] https://docs.zephyrproject.org/3.7.0/boards/native/doc/arch_soc.html#important-limitations