Commit graph

487 commits

Author SHA1 Message Date
Simon Hausmann
3d859a4413 Fix cross-compilation with a Yocto SDK
Since commit 7947f233f1a744f5ce9dfdf44372727d4fefb50b in Corrosion,
cmake will default to ${CMAKE_C_COMPILER} for linking a cdylib,
which means that C must be enabled as a language in the project.

Previously, it tried C, CXX, and Fortran and picked the first one.

(cherry picked from commit 87a548a972)
2023-09-29 12:04:57 +02:00
ogoffart
ac8427a3c6 Bump version number to 1.2.2 2023-09-29 10:05:23 +02:00
Simon Hausmann
dee1025e83 Troubleshoot Slint for ESP-IDF on Windows
(cherry picked from commit 55b2ff280d)
2023-09-19 13:14:28 +02:00
Olivier Goffart
1b2945a019 esp-idf README: add information about missing stack or RAM
(cherry picked from commit 855cc025b0)

 Conflicts:
	api/cpp/esp-idf/slint/README.md

Added mention of `CONFIG_COMPILER_CXX_EXCEPTIONS=y`
2023-09-19 13:11:16 +02:00
Simon Hausmann
cf1fd11b28 Help the Skia build to find clang
..even if cmake sets CC/CXX to GCC.

(cherry picked from commit 8b478431a7)
2023-09-15 17:25:51 +02:00
Olivier Goffart
049cfee3d7 Update esp deps
(cherry picked from commit 8f61f1c2a7)
2023-09-15 17:22:41 +02:00
Olivier Goffart
1a3a4e94bc Update to corrosion 0.4.3
That include a fix for parsing espressif target so workaround can be
removed

(cherry picked from commit 5d37a4a158)
2023-09-15 17:15:21 +02:00
Simon Hausmann
33ce979cf1 Add documentation about the different renderers, their pros/const, and availability in backends and API
(cherry picked from commit c8b05c2b05)
2023-09-15 17:15:03 +02:00
tronical
368e52344d Bump version number to 1.2.1 2023-09-15 14:57:26 +02:00
Simon Hausmann
c5135ab46c Fix esp-idf component upload
Bump component revision to 1 (from default zero)
2023-09-04 13:31:35 +02:00
Simon Hausmann
c92c554da9 Prepare esp-idf component for release
- Remove the alpha suffix
- Use Slint from the release tag not the branch.
  It would be awkward if the 1.2.0 esp-idf component would end up
  using Slint 1.3.0, so let's tie them together for now.
2023-09-04 10:24:50 +02:00
Simon Hausmann
2a486edd82 Mark the linuxkms backend as experimental 2023-08-31 11:30:51 +02:00
Olivier Goffart
8f16b519a2 use #repr(uX) instead of repr(C) for fieldless enums
Otherwise the ABI may differ between the C++ and the Rust
2023-08-31 10:22:03 +02:00
Simon Hausmann
9a94c8869e Release esp-idf component once more before 1.2 release
... to catch up with API changes that the platform.cpp required changes to.
2023-08-30 16:32:32 +02:00
Olivier Goffart
73ff86cf5a C++: Move the PhysicalRegion in the SofwtareRenderer 2023-08-30 14:59:41 +02:00
Olivier Goffart
932db7ac38 C++: make Platform::duration_since_start non-const and pure
When SLINT_FEATURE_FREESTANDING is set, it must be re-implemented
otherwise the time doesn't pass
2023-08-30 14:59:41 +02:00
Olivier Goffart
c47e6cd029 C++: Api changes in the WindowAdapter
- s/physical_size/size/ (consistant with the slint::Window API)
 - remove const of virtual function  (they don't need to be const and
   make implementation potentially easier)
 - Move the WindowProperties in it
2023-08-30 14:59:41 +02:00
Simon Hausmann
465fe20478 Fix external links from the C++ docs in markdown files
Recgonize the default schemes, otherwise
myst-parser thinks they're internal.
2023-08-30 14:58:31 +02:00
Olivier Goffart
fd60d08f7b Rename SLINT_TARGET_CARGO_FLAGS to SLINT_LIBRARY_CARGO_FLAGS 2023-08-30 13:44:19 +02:00
Olivier Goffart
e46704465b C++: DEPFILE is supported on most generator in recent cmake versions 2023-08-30 09:54:03 +02:00
Olivier Goffart
de0836d1a0 C++: Fix ninja always rebuilding the .slint file
two bugs:
 - If the .slint file did not contain any import, the depfile would have
   no dependencies, and as a result, ninja would consider that it is
   always dirty.
 - In case the binary dir is a sub directory, the dependencies were
   relative to the wrong directory. Thgis is because the behavior
   changed in some version of cmake (see https://cmake.org/cmake/help/latest/policy/CMP0116.html)
   to avoid any problem, use the absolute paths

Fixes #3261
2023-08-30 09:54:03 +02:00
Simon Hausmann
040019c7b6
doc: Fix link to set_physical_size 2023-08-29 07:02:31 +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
Simon Hausmann
67423b288f Add documentation to the WindowAdapters to explain the basic message passing protocol
... and provide hints in there about implementing window close requests.

Note: The links to set_size() and set_position() are not resolved, as
these virtual functions are still missing from the WindowAdapter base
class.
2023-08-28 13:45:28 +02:00
Simon Hausmann
11128b3b7f Document show()/hide()'s behavior of the additional strong component reference 2023-08-28 13:45:28 +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
Simon Hausmann
e7a883348b Add links from Rust and C++ to the common platform backend docs
... and adjust the C++ platform backend docs a little to the current
state.

cc #3208
2023-08-25 13:22:06 +02:00
Olivier Goffart
5052aa8561 Remove clap dependency of cbindgen
we don't use it, and clap used by cbindgen is an old version resulting
in duplicate clap versions being built
2023-08-25 10:51:59 +02:00
Olivier Goffart
7904493e1c C++: dispatch close request and activation change 2023-08-24 17:27:04 +02:00
Olivier Goffart
725a259e3a
C++: move the window related stuff in its own header (#3339)
slint.h starts to be quite big, and lots of it is because of Window, so
move Window to its own header
2023-08-24 15:51:50 +02:00
Olivier Goffart
541e7137c6
Backends: don't resize the WindowItem in set_visible
We already query the size right after the call to set_visible in the
WindowInner::show()
2023-08-24 13:15:28 +02:00
Simon Hausmann
06fce57e8e First draft for new getting-started instructions for the ESP-IDF component 2023-08-24 08:59:46 +02:00
Simon Hausmann
abdf4eb169 Bump esp-idf component version
So I can test the instructions against what's public :)
2023-08-22 15:51:38 +02:00
Olivier Goffart
f611091470 C++ docs: don't use backtick for Class or method name
because otherwise doxygen don't make links

(also implements the `renderer()` funciton in the doc example)
2023-08-22 11:29:57 +02:00
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