When closing a popup, notify the platform window, so that the mcu
backend can remember that region and start the dirty region with it.
Also, free all the rendering cache items of deleted items, to avoid accidental re-use
when re-opening a popup.
This reverts commit faf07ea237 as it
breaks dependency tracking with the partial renderer. The effect is that
the mcu printer demo (in release?) doesn't react to input events
anymore. They are delivered by the redraw tracker doesn't get notified.
* vtable: Add Debug implementation to VRc
This will just print the pointer value to be able to destinguish between
different VRcs.
* Derive Debug implmentation for ItemRc
This needs vtable::VRc to have a Debug implementation!
* Update helper_crates/vtable/src/vrc.rs
Co-authored-by: Simon Hausmann <simon.hausmann@slint-ui.com>
* Fix forward tabbing through items
The implmentation never properly stepped out of repeaters, so it went
into a loop when a repeater was below a node without siblings. This in
turn led to the window aborting the focus item search. So the focus
never moved forward.
Add a test to make sure this stays fixed.
* Update internal/core/items.rs
Co-authored-by: Simon Hausmann <hausmann@gmail.com>
Co-authored-by: Simon Hausmann <hausmann@gmail.com>
cbindgen 0.21 was released which contains https://github.com/eqrion/cbindgen/pull/724
which allow to use raw identifier in enums shared with C++.
So now we can have `MouseCursor.move` in slint despite it being a rust keyword
Note that the strum macro also have trouble with the raw identifier, so we
take that in account in the conversion functions in the interpreter
Add accessors to the information necessary to stitch together the
Component-wide ItemTrees (which include DynamicNodes) into one logical
tree of Items.
cc #215
Handle Input event from the input directly instead of going through winit
for the TextInput.
Note that this doesn't handle the composition event well, so the text is
only considered written when it is accepted
* MCU: fix text being cut in the printer demo sometimes being cut off
When a text element is rendered at exactly the width it reports,
then last letter would be cut off.
* Adjust elision test
This also separates the blend-to-screen part of render_layer into a
helper function, as that will be useful in the future with public layer
elements.
Relates to #725