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.
We observe, in issue #5699 that the call to `AndroidAppWaker::wake`
doesn't always result in a `PollEvent::Wake` event.
So to work around that, always process event from any event we recieve
so that any timeout or input event would make sure event gets processed.
Closes#5699
* 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.
Fix warning in json file:
> This activation event can be removed as VS Code generates these automatically from your package.json contribution declarations.
After the FontMgr changes in the previous Skia update we can't default
construct Font anymore. Let's use the same default font we also use for
regular text then.
Fixes#5764
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
My assumption from reading the docs was that the `StandardButton`s
delegated to the root and that the generated callbacks in the root
were to facilitate that behavior.
Combining an EGL config with EGL_ALPHA_SIZE == 8 with an Xrgb8888 surface yields a bad match on eglCreateWindowSurface.
That's fair, and we should accomodate for that by avoiding such EGL configs.
The crate uses an old version of lazy_static that doesn't seem to reliably compiler with newer versions of Rust.
This is a partial fix for #5702 as all the compiler needs is the named color table.