Olivier Goffart
42d7661ec6
C++: make the PhysicalRegion::rectangles non-overlapping
2024-07-10 10:58:27 +02:00
Simon Hausmann
4c888bf1ae
Port the Skia renderer to rwh06 and the new softbuffer
...
... by accepting an Rc<dyn Has*Handle> in the interface. This is required for softbuffer use.
2024-06-18 17:48:17 +02:00
Olivier Goffart
2a5f093efc
Janitor: C++: Fix warning about unused import
2024-06-13 17:34:57 +02:00
Simon Hausmann
88e1a366a3
Make rendering rotation a public feature of the software renderer
...
Fixes #5372
2024-06-10 05:24:48 -07:00
Aurindam Jana
3523e86359
Simplify commercial license ( #3063 )
...
Base the commercial license on the Royalty-free license adding clauses pertaining to the fees.
2024-05-31 14:06:17 +02:00
Aurindam Jana
9a3aa265d5
Update Royalty-free license ( #5257 )
...
Add clarification that Application may not expose Slint APIs.
2024-05-31 10:53:19 +02:00
Olivier Goffart
5955d19706
Expose the individual rectangle in the dirty region
2024-04-26 14:45:23 +02:00
Aurindam Jana
0cfeec1a31
Update Slint Community License ( #4994 )
...
Updated the version from 1.1 to 1.2
Renamed the header to "Slint Royalty-free Desktop, Mobile, and Web Applications License"
Added definition of "Mobile Application" and grant of right
Moved "Limitations" to 3rd section and "License Conditions - Attributions" to 2nd section
Added flexibility to choose between showing "MadeWithSlint" as a dialog/splash screen or on a public webpage
Moved the para on copyright notices to section under "Limitations"
2024-04-15 15:18:55 +02:00
Olivier Goffart
36669e8df7
esp-idf: redirect debug_log! to esp-println
2024-04-05 15:24:52 +02:00
Olivier Goffart
80b59653a2
Janitor: Fix warnings with no_std and nightly rust
2024-04-04 14:03:36 +02:00
Olivier Goffart
31219223e5
C++: Gate the line by line rendering behind experimental flag
2024-04-04 10:23:00 +02:00
Simon Hausmann
042bde7883
esp-idf: Add support for line-by-line rendering
...
Rendering by line into a line buffer that's in IRAM can be faster than accessing framebuffers in slower PSRAM, so offer this by allowing users
to omit even the initial framebuffer.
2024-04-04 10:23:00 +02:00
Ralph Minderhoud
9cb1a4a4e0
Add API for minimize/maximize on Window component ( #4581 )
...
Closes #4400
2024-02-22 10:40:36 +01:00
Olivier Goffart
7b2ff89f1c
Fix nightly warnings
...
eg:
```
warning: the item `Box` is imported redundantly
```
2024-02-21 10:52:04 +01:00
Simon Hausmann
438b9afeaa
Reduce WindowAdapter API slightly ( #4304 )
...
Move the set_fullscreen function added to the WindowAdapter trait in 779aff0b39
to be a function in WindowProperties instead.
That way it'll be easier in the future to extend this with other window states without
having to modify or break the WindowAdapter trait API.
2024-01-09 18:55:06 +01:00
Simon Hausmann
f5bf6e5dc0
Skia: Clean up pre present notify callback API
...
Move this back out of render() again and make it stateful in the renderer. Reduces the amount of book-keeping required and it's always the same callback anyway.
2024-01-04 10:35:09 +01:00
Simon Hausmann
3069e8e503
Add support for frame throttling on Wayland
...
Use winit's pre_present_notify() API to allow for the compositor to throttle rendering.
Fixes #4200
cc #1695
2024-01-04 09:21:53 +01:00
Simon Hausmann
95044c3a09
Rename WindowRotation to RenderingRotation in the software renderer ( #4181 )
...
Same term as we're going to use in the linuxkms backend.
2023-12-19 08:47:55 +01:00
Tobias Hunger
b12575a4c4
janitor: Go over our spell checking setup
...
* Extend the cspell word list
* Remove those extensions from individual source files
* white-list licenses and such as we should not meddle with those
* Fix spelling
2023-10-16 09:01:51 +02:00
Olivier Goffart
b88a3caacd
swrenderer: Put the rotation feature behind a freature gate
...
We're not ready to make the API public as we want to have the API as
part of the Window rather than part of the renderer
2023-10-09 18:07:23 +02:00
Olivier Goffart
414a9e85e7
Expose swrenderer screen rotation to C++ and esp-idf
2023-10-09 18:07:23 +02:00
Simon Hausmann
d160eb7a31
Add support for set_position(), position(), and set_physical_size() to the C++ WindowAdapter ( #3367 )
...
Closes #3349
2023-08-28 18:43:04 +02:00
Simon Hausmann
42721c1853
Fix no_std build
2023-08-28 15:20:17 +02:00
Olivier Goffart
ded66231d1
C++: polish the clipboard patch
...
- make sure the Platform::Clipboard type is properly documented
- Use the actual enum in the interface (even though it is
#[non_exhaustive] so we need to slience a warning)
CC: #3265
2023-08-28 14:34:23 +02:00
Ian McFarlane
1de7b1512c
Expose clipboard_text accessors to C++ ( #3265 )
2023-08-28 12:26:40 +02:00
Olivier Goffart
d23ba885ca
C++: add WindowAdaptor::update_window_properties
2023-08-25 13:58:55 +02:00
Olivier Goffart
7904493e1c
C++: dispatch close request and activation change
2023-08-24 17:27:04 +02:00
Olivier Goffart
fd7fc5ab9b
C++, remove the experimental flag
...
The platform namespace is now always enabled.
2023-07-28 10:36:08 +02:00
Olivier Goffart
3a807e46c1
Renderer feature refactor
2023-07-27 19:11:24 +02:00
Olivier Goffart
49485dbf7d
SoftwareRenderer: add API to construct and change the buffer type
2023-07-27 14:44:28 +02:00
Simon Hausmann
af97435463
Replace show()/hide() in the WindowAdapter with set_visible(bool)
...
This makes for a smaller interface.
2023-07-26 13:53:45 +02:00
Simon Hausmann
f15bc6147e
Simplify FemtoVG and Skia renderer APIs: remove resize()
...
We can convey the new physical window size from the run-time
through the private renderer API
when a window resize event is dispatched.
2023-07-25 19:33:26 +02:00
Simon Hausmann
7d136b6568
Remove the window parameter from the render() function of all the renderers
...
This makes for a slimmer API and instead we can create the renderer <-> window association
behind the scenes ourselves,
in set_component.
2023-07-25 17:28:08 +02:00
Simon Hausmann
507428b03e
Simplify FemtoVG and Skia renderer API ( #3153 )
...
Fold show() into the first time render() is invoked,
and hide() into the Drop implementation.
2023-07-25 17:17:40 +02:00
Olivier Goffart
2a56e25788
C++: rename PlatformEvent to Platform::Task
2023-07-25 16:15:35 +02:00
Olivier Goffart
3a420d5769
C++ platform: return the updated region from the render function
2023-07-24 09:44:36 +02:00
Simon Hausmann
cc36915241
Add RGB565 rendering function to the C++ software renderer
2023-07-21 09:16:20 +02:00
Olivier Goffart
81bb6e2c70
C++ platform: duration_until_next_timer_update and change return type of duration_since_start
2023-07-20 10:58:33 +02:00
Olivier Goffart
de532d372a
C++ experimental platform event loop
2023-07-20 10:26:09 +02:00
Olivier Goffart
3fabff9a0c
C++ Platform: allow to override the duration_since_start
2023-07-14 16:12:12 +02:00
Simon Hausmann
3565023a15
Improve error handling in C++ Skia Renderer API
...
- Don't try to create a GLX context when we only have an XCB window handle,
XLib is required for that.
- Make it possible to create a NativeWindowHandle from Xlib data types.
Fixes #2978
2023-07-14 15:33:03 +02:00
Olivier Goffart
4a505c6788
C++: Make the platform support work without the "std" feature
...
Add a experimental-platform feature that doesn't include skia
2023-07-14 10:46:21 +02:00
Aurindam Jana
5a4a7fee63
Update royalty free license to 1.1 ( #2994 )
2023-07-10 10:12:11 +02:00
Olivier Goffart
aa8ef4e302
C++: add a "std" feature to the slint-cpp crate
...
And make it no_std otherwise
This is a first step towards getting C++ on MCU (#2136 )
2023-07-05 21:48:01 +02:00
Olivier Goffart
11dea135f7
Domain: slint-ui.com -> slint.dev
2023-06-16 10:55:08 +02:00
Aurindam Jana
039e54a5de
Add royalty free license to files except examples and docs ( #2888 )
2023-06-15 11:20:50 +02:00
Olivier Goffart
4dd10f4a78
Make WindowAdaptor::request_redraw public
2023-06-13 20:29:52 +02:00
Olivier Goffart
0e31f097a4
Un-seal the WindowAdapter trait
2023-06-13 17:44:04 +02:00
Olivier Goffart
23b910725f
Rename WindowAdapterSealed to WindowAdapterInternal
2023-06-13 17:44:04 +02:00
Olivier Goffart
6341769cbd
WindowAdaptor: move a few function to the public trait
...
Note: the addition of MinimalSoftwareWindow::set_size is there because
it would be a breaking change for user who called set_size on the
MinimalSoftwareWindow while also using the WindowAdapter trait.
This was the case of a test.
The same problem theorically exist with set_position and position, but
is unlikely to be a problem because i don't think people would use the
position with a MinimalSoftwareWindow
The renderer() is now public as well. That's because I want to make sure
that the scealed trait don't have non-provided method
2023-06-13 17:44:04 +02:00