Commit graph

750 commits

Author SHA1 Message Date
Olivier Goffart
3e46680c16
C++: improve slint::platform docs (#3319) 2023-08-22 11:24:30 +02:00
Olivier Goffart
8a124cdcdd esp-idf: improve docs 2023-08-21 17:59:19 +02:00
Olivier Goffart
146ed520e8
C++: rename SLINT_FEATURE_STD in SLINT_FEATURE_FREESTANDING with the opposite meaning 2023-08-21 16:52:30 +02:00
Olivier Goffart
354208c123 esp-idf: Don't expose the platform: just a single function instead 2023-08-21 13:30:37 +02:00
Simon Hausmann
d918bc217b Fix C++ docs build
Pin sphinx to the previous release due to

    https://github.com/sphinx-doc/sphinx/issues/11605
2023-08-17 09:22:52 +02:00
Simon Hausmann
96d7bb132c reuse: remove glob for markdown files
Instead, place the copyright and license right into the source.

To satisfy reuse, this also removes the unnecessary MIT.txt
symlinks.
2023-08-17 08:55:28 +02:00
Olivier Goffart
fc64542221 C++: Use new name for cmake features 2023-08-16 21:19:48 +02:00
Olivier Goffart
b8fec12508 C++: re-order cmake feature
Prospective fix for compat features not having the right effect since
the std feature was not set
2023-08-16 21:19:35 +02:00
Tobias Hunger
09d3eaf00a Update license symlinks
run `cargo xtask check_reuse_compliance --fix-symlinks`
2023-08-16 11:46:15 +02:00
Simon Hausmann
12e064b07d
Improve the Slint esp-idf component README (#3278)
Provide a brief introduction into what the component provides and how to use it. This is very brief, but
hopefully a good starting point.

We should link to C++ platform docs once we have them, for example.

When the component includes an example, its README will be automatically rendered below this one.

Also make the esp_lcd_touch component a public dependency,
since it's included from `esp_slint.h`.
2023-08-16 08:52:45 +02:00
Simon Hausmann
3356cf508d Add the Slint version to the title of the C++ reference and Slint reference
The Rust docs already have it in their default, and this adds it to the other two.
2023-08-15 16:10:52 +02:00
Olivier Goffart
1288bb6848 C++ Rgb565Pixel: Invert red and blue 2023-08-15 14:45:33 +02:00
Simon Hausmann
bf7e7e7323 Move debugging techniques under advanced topics in the Slint reference 2023-08-15 10:43:49 +02:00
Simon Hausmann
904a840292 Bump esp-idf version 2023-08-15 09:26:28 +02:00
Simon Hausmann
951bad5e4c Add missing license symlinks
These are resolved at upload time to the actual files. The markdown source isn't quite perfect, but it's something. The component registry doesn't detect the
license correctly yet either.
2023-08-14 10:23:47 +02:00
Simon Hausmann
992ab706f6 Add some fields for the idf component registry 2023-08-14 09:45:27 +02:00
Simon Hausmann
036b1b044d esp-idf: upgrade to the latest esp-idf release
This allows removing compiler flags to silence the compiler about bogus
warnings.
2023-08-11 15:53:51 +02:00
Simon Hausmann
f9f16391d5 Make embedding for software renderer the default for the esp-idf component 2023-08-11 15:53:51 +02:00
Simon Hausmann
9bb402b1ad esp-idf: Fix esp_lcd_touch dependency on non-s3
esp_lcd_touch is an implicit dependency on the s3, but it needs to be explicit for the slint component.
2023-08-11 15:53:51 +02:00
Simon Hausmann
1060d453b3 Fix headline of C++ docs
Remove exclamation mark and "welcome", as advised by Kavindra.
2023-08-08 17:20:39 +02:00
Olivier Goffart
c9f716d898
Make a esp-idf component for slint 2023-08-07 16:33:02 +02:00
darknight
37488f015d Refactoring: define macro rules to group builtin structs
apply new macro for struct declaration, type register,
doc generation, cpp header generation, struct-value conversion.
2023-08-03 11:01:18 +02:00
Simon Hausmann
0c9199b17f
Add support for flipping borrowed OpenGL textures vertically (#3205)
Closes #2986

Co-authored-by: Olivier Goffart <olivier.goffart@slint-ui.com>
2023-08-02 13:11:13 +02:00
Olivier Goffart
ad389aa4eb linuxkms: Implement keyboard input and clamp mouse
Unfortunately, this is currently not mapped to the right keyboard layout

Also keep the mouse clamped in the visible area.
And make it start in the middle of the screen.
2023-07-31 17:27:53 +02:00
Olivier Goffart
0a8f9c585a
C++: expose special key codes constants 2023-07-31 15:11:57 +02:00
Olivier Goffart
a34074db11 Move the C++ specific example to the examples/cpp directory
The platform ones are not experimental so move out of tests
2023-07-31 12:58:38 +02:00
Simon Hausmann
d681864a3b c++: Fix missing platform API Docs
- Fix pre-processor include search path setup so that pre-processing
  slint.h finds slint_internal.h and (most importantly)
  slint_generated_public.h for the feature defines.
- Add missing documentation that caused doxygen errors.
2023-07-31 11:45:01 +02:00
Simon Hausmann
8c289fe3cc Fix doxygen formatting for slint::interpreter::Value::operator== 2023-07-31 11:45:01 +02:00
Simon Hausmann
5c9eed62f1 Add a new backend that supports rendering fullscreen with Vulkan
This doesn't require a windowing system, just Linux and Vulkan drivers
that supports the display extensions.

It's called linuxkms as soon this will go beyond Vulkan and also support
EGL and perhaps dumb buffers for software rendering.
2023-07-28 13:40:37 +02:00
Olivier Goffart
f3b2b5d457
Improve documentation of AbstractRenderer 2023-07-28 12:18:34 +02:00
Olivier Goffart
ecf3937518
C++: use a macro to define the EnabledFeatures struct
So that there shouldn't be more copy-paste mistakes
2023-07-28 12:18:12 +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
c3bec089fe C++: Rename slint_platform.h -> slint-platform.h 2023-07-27 15:42:11 +02:00
Olivier Goffart
643512f60a C++: rename slint_intepreter.h to slint-interpreter.h 2023-07-27 15:42:11 +02:00
Olivier Goffart
49485dbf7d SoftwareRenderer: add API to construct and change the buffer type 2023-07-27 14:44:28 +02:00
Olivier Goffart
116648ffcf C++ Platform: remove the experimental namespace 2023-07-27 13:22:22 +02:00
Tobias Hunger
d47d52bf52 ItemVTable::init(...): Take an ItemRc so that the itan can know where in the Item Tree it is located 2023-07-27 12:04:16 +02:00
Olivier Goffart
136130781c Update corrosion 2023-07-27 10:39:51 +02:00
Olivier Goffart
3054ecfb71
C++ platform API: move the dispatch_* function on the Window like in rust 2023-07-26 16:03:05 +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
835510c7f6 C++ platform API: Remove const qualified from request_redraw() 2023-07-26 13:25:36 +02:00
Olivier Goffart
51d8a15164 C++ platform: make the max_buffer_age an enum
Copying the Rust enum instead of using cbindgen because we would need to
create a new header just for it for bublic types generated in the
platform namespace. I've also put it in the SoftwareRenderer class since
the equivalent enum is in the software_renderer module in Rust.
2023-07-26 11:28: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
68a255b1d2 C++: Make the SkiaRenderer constructor explicit
As discussed in API review
2023-07-25 19:16:44 +02:00
Olivier Goffart
69a11f7dbc C++: Platform::register_platform -> platform::set_platform 2023-07-25 17:38:20 +02:00
Olivier Goffart
42bb2bf705 C++: some changes to the Platform API 2023-07-25 17:38:20 +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