dependabot[bot]
cc285a5de6
build(deps-dev): bump typedoc from 0.28.4 to 0.28.5 ( #8587 )
...
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc ) from 0.28.4 to 0.28.5.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases )
- [Changelog](https://github.com/TypeStrong/typedoc/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.28.4...v0.28.5 )
---
updated-dependencies:
- dependency-name: typedoc
dependency-version: 0.28.5
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-02 10:34:51 +03:00
Olivier Goffart
5030431caa
C++: make sure we do not crash if a Model::row_data
returns nullopt
...
Rust had a test for it, but C++ not yet
Reported on https://chat.slint.dev/public/pl/pcqefc3fbff3xfuio3uhp58ate
2025-05-30 15:47:13 +02:00
Olivier Goffart
dc915b1af3
C++: add asserts that we are in the main thread
...
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, beta) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / python_test (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.82) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / ffi_32bit_build (push) Blocked by required conditions
CI / docs (push) Blocked by required conditions
CI / wasm (push) Blocked by required conditions
CI / wasm_demo (push) Blocked by required conditions
CI / tree-sitter (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
- In the timer functions
- in the generated getter/setters and callback invocation
2025-05-28 11:29:48 +02:00
Avery Townsend
c41d4a4df3
Add FocusEventReason to FocusEvent and add a select all on keyboard focus for TextInput ( #8523 )
...
Closes #5992
Adds the enum FocusEventReason and makes it an argument for FocusEvent. This reason could eventually be exposed in Slint to solve #8387 .
Using the focus reason tracking, I also added a select all on keyboard focus for TextInputs (except on macOS), which should close #5992 .
ChangeLog: TextInput selects its content when focused with the keyboard on Windows and Linux
2025-05-27 07:56:13 +02:00
Olivier Goffart
2f2116686f
C++: forward declare explicitly to make the code more robust
...
We currently forward declare classes as we use them in functions.
But this breaks if classes with the same name were declared in the
parent namespace. As shown with this example
```C++
// Uncomment that line to make the code break
//struct SharedGlobals;
namespace ns {
// Is that a forward declaration in `ns`?
// Depends if it was declared before in the parent namespace
void foo(struct SharedGlobals *x) {}
// Actualy define ns::SharedGlobal
struct SharedGlobals { int x; };
int xyz() {
SharedGlobals globals;
foo(&globals);
}
}
```
So make sure we forward-declare the classes properly to be more robust
and be able to include generated file with namespace after a file
without namespace
CC #2909
2025-05-26 18:32:09 +02:00
Olivier Goffart
23962b3e25
Upgrade cbindgen and use unsafe(no_mangle)
attributes ( #8539 )
...
To be compatible with the 2024 edition, we need to wrap the
`no_mangle` attribute in `unsafe()`.
The parsing for that in cbindgen was only added in the version 0.28,
but we couldn't upgrade cbindgen before because of a regression in
cbindgen 0.27 that prevented us from upgrading.
Now that cbindgen 0.29 is released with a fix, we can prepare for the
2024 edition
2025-05-26 11:21:33 +02:00
Olivier Goffart
08aa021166
C++: expose the DrawRectangleArgs and DrawTextureArgs
...
This is still experimental API, but just have a copy of all arguments in
a plain struct that the C++ code can operate on.
(Because previous refactor of the interface had made it hidden from C++)
2025-05-23 17:10:26 +02:00
MusicalNinjaDad
7afd5dfc4a
Make CompilerConfiguration
Clone
( #8492 )
CI / mcu-embassy (push) Blocked by required conditions
CI / wasm_demo (push) Blocked by required conditions
CI / tree-sitter (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / python_test (ubuntu-22.04) (push) Blocked by required conditions
CI / python_test (windows-2022) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.82) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / ffi_32bit_build (push) Blocked by required conditions
CI / docs (push) Blocked by required conditions
CI / wasm (push) Blocked by required conditions
2025-05-21 18:05:29 +02:00
Tobias Hunger
63f7533dc9
compiler: Fix identifier normalization function
...
`__1` is a valid identifier, which we normalized to
`--1`, which is invalid.
This changes the nromalization function to leave a `_` in the first position.
2025-05-21 12:21:20 +02:00
Simon Hausmann
6e4e98af4e
Python: Fix device architecture
2025-05-21 10:57:33 +02:00
MusicalNinjaDad
2a81357c03
slint-build: Add option to create CompilerConfiguration with_debug_info ( #8489 )
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / python_test (ubuntu-22.04) (push) Blocked by required conditions
CI / python_test (windows-2022) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.82) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / ffi_32bit_build (push) Blocked by required conditions
CI / docs (push) Blocked by required conditions
CI / wasm (push) Blocked by required conditions
CI / wasm_demo (push) Blocked by required conditions
CI / tree-sitter (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
2025-05-21 08:17:09 +02:00
Simon Hausmann
5046d02ae8
Python: Remove unnecessary maturin run-time dependency
2025-05-20 19:59:04 +02:00
Simon Hausmann
97a8ff66c1
Python: Fix ios wheel tags to match what warehouse accepts
2025-05-20 17:39:32 +02:00
Olivier Goffart
6d8ea50f40
Janitor: fix missing period in docs
...
As reported in #8448
2025-05-19 15:53:53 +02:00
Giona Imperatori
14483a6e32
feat: raise compiler error if musl is used ( #8450 )
2025-05-19 13:10:34 +02:00
Simon Hausmann
1d533641b4
Python: Fix name of helper method
2025-05-16 17:15:57 +02:00
Simon Hausmann
b1f0e5fe81
Python: Remove unused PyValueRef type
2025-05-16 17:15:57 +02:00
Simon Hausmann
d4439231eb
Python: Upgrade to Pyo3 0.25
2025-05-16 17:15:57 +02:00
omahs
74232eae8d
Fix typos ( #8421 )
2025-05-12 13:03:59 +02:00
Tobias Hunger
d0b58760d3
chore: A few clippy fixes
...
Nothing systeamatic, just a bunch of fixes I stumbled over
during unrelated work.
No behavior change is intended in here...
2025-05-09 13:25:38 +02:00
Olivier Goffart
3a9ae8af0e
Remove CompositionMode enum
...
It was used in the previous TargetPixelBuffer interface, but this is no
longer the case
2025-05-07 15:49:58 +02:00
Olivier Goffart
e42c4b18c2
swrenderer: interface for hw rendering of rectangle with border or gradients ( #8384 )
2025-05-06 15:53:53 +02:00
Simon Hausmann
f983cf0b19
Add Platform.os as well as a rudimentary test
2025-05-06 13:06:27 +02:00
Olivier Goffart
6e316a9929
docs: Fix missing paragraphs in the slint crate docs
...
Regression in e1a6cbf8b4
2025-05-05 12:56:32 +02:00
dependabot[bot]
558aaedd89
build(deps-dev): bump ava from 6.2.0 to 6.3.0 ( #8352 )
...
Bumps [ava](https://github.com/avajs/ava ) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/avajs/ava/releases )
- [Commits](https://github.com/avajs/ava/compare/v6.2.0...v6.3.0 )
---
updated-dependencies:
- dependency-name: ava
dependency-version: 6.3.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 11:53:26 +03:00
dependabot[bot]
9ed60ed543
build(deps-dev): bump typedoc from 0.28.3 to 0.28.4 ( #8348 )
...
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc ) from 0.28.3 to 0.28.4.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases )
- [Changelog](https://github.com/TypeStrong/typedoc/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.28.3...v0.28.4 )
---
updated-dependencies:
- dependency-name: typedoc
dependency-version: 0.28.4
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 11:53:03 +03:00
Simon Hausmann
0002df2520
slint crate: Expose parts of the winit backend's previously private API ( #8315 )
...
Similar to the wgpu access, the `unstable-winit-030` feature exposes a
`slint::winit_030` module, which in turn re-exports `winit` but also
provides access to the `WinitWindowAccessor` trait. The
`BackendSelector` is extended to provide a way to hook into window
attribute creation as well as providing a custom event loop builder,
similar to what `i_slint_backend_winit::BackendBuilder` provides.
2025-05-02 09:21:13 +02:00
Simon Hausmann
0151ac4902
slint crate: Replace early return with no_run
tag on code fence
2025-04-30 18:20:16 +02:00
Simon Hausmann
2f2478d1ea
WGPU: Clean up public API
...
- Create a `slint::wgpu_24` module
- Re-export `wgpu` in it
- Place the WGPU config types used by the `BackendSelector::require_wgpu_24` function in it, and remove the 24 infix.
As an upside, this also adds the feature guard to the docs at least for the `wgpu_24` module.
2025-04-30 15:54:06 +02:00
ogoffart
e0099ea500
Bump version number to 1.12.0
2025-04-30 13:27:50 +00:00
Olivier Goffart
c8138ff1db
swrenderer: rewrite TargetPixelBuffer::draw_texture interface
...
Instead of using datastructure that are tailored to our line by line
renderer and draw functions, use more generic and future proof data that
are easier to handle by hardware accelerator, and may be easier to
stabilize.
The screenshots from the screenshots test have to be re-done
because the rounding is different
Note: the C++ API DrawTextureArgs is not exposed yet
2025-04-29 23:26:02 +02:00
Simon Hausmann
302926edfa
Skia: Improve multi-window rendering resource consumption ( #8304 )
...
Share Vulkan instance as well as Metal device and command queue across windows.
2025-04-29 18:58:09 +02:00
Simon Hausmann
da5e7d5b22
WGPU: Add support for using WGPU textures in Slint
...
This adds a `unstable-wgpu-24` feature that exposes WGPU types in the
GraphicsAPI enum, adds `require_wgpu_24()` to the backend selector,
and adds a conversion from `wgpu::Texture` to `slint::Image`.
The `require_wgpu_24()` function in the selector will be extended in the
future (before the next release) to permit specifying additional aspects
of the WGPU configuration.
Co-Authored-By: Olivier Goffart <olivier.goffart@slint.dev>
2025-04-29 17:46:57 +02:00
Simon Hausmann
dbe4a684c6
biome: Enable lint to check for missing await statements ( #8305 )
2025-04-29 14:57:52 +02:00
Simon Hausmann
a50b8f8793
FemtoVG: Add support for WGPU based rendering ( #8268 )
...
Enable via the `renderer-femtovg-wgpu` feature flag.
cc #171
2025-04-25 14:37:32 +02:00
Simon Hausmann
98dc4a8657
FemtoVG: Abstract the rest of the FemtoVGRenderer type to be independent from OpenGL
...
The main visible external change is that FemtoVGRenderer is now a generic type, but in the public Slint API the type alias that uses the OpenGL backend is re-exported under the old name. This looks a little different in rustdoc
but appears to be source compatible.
2025-04-25 10:08:38 +02:00
Olivier Goffart
7d3cf6a451
Janitor: Bump corrosion version
2025-04-25 08:47:45 +02:00
Simon Hausmann
6595aee73c
Replace use of Rc<winit: 🪟 :Window> with Arc ( #8257 )
...
In preparation for wgpu usage, where the wgpu API requires the window
handle to be send, i.e. Arc<dyn HasWindowHandle>.
2025-04-24 13:28:51 +02:00
dependabot[bot]
aadd9e9e78
build(deps-dev): bump typedoc from 0.28.2 to 0.28.3 ( #8214 )
...
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc ) from 0.28.2 to 0.28.3.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases )
- [Changelog](https://github.com/TypeStrong/typedoc/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.28.2...v0.28.3 )
---
updated-dependencies:
- dependency-name: typedoc
dependency-version: 0.28.3
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-24 11:35:09 +03:00
Simon Hausmann
eb825f2e95
Support default-font-* properties in Live-Preview
...
... by changing the resolution for the `WindowItem` to traverse the
item tree from the current item, instead of going to the window.
This doesn't quite fix #4298 because `rem` resolution is still missing.
That requires the built-in default font size function to be fixed as
well, which is non-trivial.
cc #4298
2025-04-24 09:18:45 +02:00
Simon Hausmann
7c02bbd833
Python: Fix doc link
2025-04-23 21:40:48 +02:00
autofix-ci[bot]
8fcc320bdd
[autofix.ci] apply automated fixes
2025-04-22 22:30:32 +02:00
Kavindra Palaraja
41366cf272
Python: Minor improvements to API descriptions
2025-04-22 22:30:32 +02:00
autofix-ci[bot]
c0bdfa7169
[autofix.ci] apply automated fixes
2025-04-22 22:30:32 +02:00
Kavindra Palaraja
cafa43ff22
Minor updates to the documentation for readability and polish
2025-04-22 22:30:32 +02:00
Simon Hausmann
f94e5a73b0
Node.js: Fix support for loadFile() with an URL on Windows
...
We recommend the use of `loadFile(new URL("...", import.metal.url))`,
but this never worked on Windows, because we're not using the API
the Node.js docs even recommend to correctly covert to a local path on Windows.
(Apply the same logic to initTranslations)
Fixes #8209
2025-04-22 18:01:48 +02:00
Simon Hausmann
5dc8410f0a
Python: Fix mis-rendering
2025-04-22 16:24:21 +02:00
Simon Hausmann
9ce290b706
Python: Remove empty building from source section as well as trying out section
...
The latter is not very useful on our website, and we typically don't do this with the intros for other languages.
2025-04-22 16:17:27 +02:00
Simon Hausmann
ae50fcde8a
Take the Python API out of alpha to beta
2025-04-22 14:02:45 +02:00
Olivier Goffart
cd8ab8ce53
Fix array index access at negative index
...
Conversion from negative float to unsigned is saturating to 0 in rust
and undefined behavior in C++, we should therefore handle the case
properly
Fixes #8222
2025-04-22 11:28:09 +02:00