Commit graph

5155 commits

Author SHA1 Message Date
Simon Hausmann
57bbfd531a C++: Add some docs for Brush and LinearGradientBrush 2021-06-25 20:14:53 +02:00
Simon Hausmann
b69ec1f9be Cache the python virtual environment for C++ doc builds
Since we currently pin sphinx and the theme from git, it requires some
recompilation instead of just a dependency in pypi.
2021-06-25 18:50:19 +02:00
Simon Hausmann
67ba7d434b Add xkbcommon-dev to the vscode extension build
Forgot to git add in the previous commit :)
2021-06-25 18:45:53 +02:00
Simon Hausmann
0d89bb9bd9 Sync linux dependencies
Based on f8297df104 fixing the build issue
of libxkbcommon.so not being found at link time, possibly because the underlying
on GitHub changed, this change synchronizes all the apt-get install cases
I've found.
2021-06-25 18:17:33 +02:00
Simon Hausmann
783578f724 Prospective linux ci build fix, part 2
Oops, add xkbcommon also in the other apt-get install case.

Amends commit f8297df104
2021-06-25 18:11:28 +02:00
Simon Hausmann
f8297df104 Prospective fix for linux build in the CI
Some crate appears to pull in xkbcommon as a dynamic dependency.
2021-06-25 18:10:00 +02:00
Simon Hausmann
162725018e Run tests on macOS
With the testing backend this should not be a problem anymore
2021-06-25 17:33:59 +02:00
Simon Hausmann
1c6ff356a4 Minor tweak to the logo in the C++ docs
Remove the sharp edges
2021-06-25 12:46:35 +02:00
Simon Hausmann
f9ef21bffd Add a logo to the C++ docs
This requires working around a bug in sphinx and the rtd theme, hence
the git pinning.
2021-06-25 11:48:36 +02:00
Simon Hausmann
40d8c7633f Enable clang support in Doxygen 2021-06-25 08:48:28 +02:00
Simon Hausmann
2879102a29 C++: Document brighter and darker for Color 2021-06-24 17:10:43 +02:00
Simon Hausmann
f7c7d2e67a C++: Add documentation for SharedVector 2021-06-24 17:04:58 +02:00
Simon Hausmann
d9857a3308 docs: add missing \a commands for arguments 2021-06-24 16:43:36 +02:00
Simon Hausmann
376ed43544 Remove the "View Page Source" links from the sphinx docs
The rst source is not really all that interesting :-)
2021-06-24 12:23:58 +02:00
Simon Hausmann
eef43bdf48 Fix typo 2021-06-24 11:10:55 +02:00
Simon Hausmann
4d2fac3f87 Minor markdown tweak
Annotate shell code blocks with the sh tag.
2021-06-23 20:22:29 +02:00
Simon Hausmann
9b5b0f7965 Document the setup for cross-compiling with CMake 2021-06-23 20:22:29 +02:00
Simon Hausmann
5fa7b31f01 Fix cross-compiling with CMake
Select that the compiler and xtask should be compiled as host binaries,
not target.

This also pulls in new corrosion with better cross-compilation support.
2021-06-23 20:22:29 +02:00
Olivier Goffart
9b4bcab926 Better error message when overriding a layout property
As suggested by Simon
2021-06-23 17:15:49 +02:00
Olivier Goffart
e721a4cf1e Report error when the 'x' or 'y' property is set for elements in layout 2021-06-23 16:53:45 +02:00
Olivier Goffart
6ed58fb041 Testing backend: don't panic on popup close 2021-06-23 15:25:29 +02:00
Olivier Goffart
be8c890bec Close the popup when reloading the component
Fix panic when reloading the interpreter when a popup is shown

Fixes #210
2021-06-23 13:32:46 +02:00
Olivier Goffart
40a6e1ecb8 Fix warning 2021-06-23 13:10:24 +02:00
Olivier Goffart
9d2bd11098 Error when having an animation in a transition on a property which is not part of the state
Fixes #255
2021-06-23 13:05:25 +02:00
Olivier Goffart
7cc4272d89 Fix debug build
check_invariant will borrow the named_references so we cannot keep it borrowed
2021-06-23 11:05:43 +02:00
Olivier Goffart
5889ad5741 Optimize NamedReference::new 2021-06-23 10:24:32 +02:00
Simon Hausmann
55d4a4f79e Bump femtovg to a released version 2021-06-22 18:06:43 +02:00
Olivier Goffart
725543108f Fix tests regarding to constant propagation 2021-06-22 14:59:07 +02:00
Simon Hausmann
e0212d92ca Sync C++ iot-dashboard: Apply spacing to grid layout
As per commit fbc6925dc0
2021-06-22 14:31:41 +02:00
Olivier Goffart
32e59cf040 Fix division by 0 when layouting empty images 2021-06-22 14:27:01 +02:00
Olivier Goffart
fbc6925dc0 iot-dashboard: layout adjustment
Add spacing to layout which now default to 0,
Since the default height for image depends on the width, reset to what
we expect
2021-06-22 14:26:54 +02:00
Olivier Goffart
cb75d44acc Fix setting model properties to aliased properties 2021-06-22 13:31:27 +02:00
Olivier Goffart
7a1ba1a1d5 Forgot to add the test for previous commit 2021-06-22 13:28:15 +02:00
Olivier Goffart
4d79bb61f8 Test invalid Path command
Closes #262
Closes #266
2021-06-22 11:31:09 +02:00
Olivier Goffart
dcbbd0cd7d Update dependencies 2021-06-22 11:15:20 +02:00
Simon Hausmann
59425b3f02 C++: Docs for sixtyfps::interpreter::Diagnostic and DiagnosticLevel 2021-06-22 08:34:33 +02:00
Simon Hausmann
2e4abc61e0 C++: Hide internal macros from documentation
That's SIXTYFPS_GET_ITEM_VTABLE, SIXTYFPS_DLL_IMPORT and
SIXTYFPS_QT_INTEGRATION
2021-06-22 08:27:08 +02:00
Simon Hausmann
4c33a8f70b C++: Make it possible to build just the library/tool
... and allow skipping over the examples. Together with -DBUILD_TESTING=OFF
this provides a minimal build.
2021-06-21 17:56:56 +02:00
Simon Hausmann
df25fc0582 Clean up inclusion of private types into cbindgen_private namespace
Instead of importing all of private_api, import only what we need: Property and PathData.

Amends 11d46bcc23 and cdde8b30a2
2021-06-21 15:50:58 +02:00
Simon Hausmann
66299437f0 Fix C++ build
The path types are now all in the private_api namespace
2021-06-21 15:50:58 +02:00
Simon Hausmann
fe59fb3ec3 C++: Hide sixtyfps::PathData from the public API 2021-06-21 15:50:58 +02:00
Simon Hausmann
51bc21c9a5 C++: Hide AbstractRepeaterView, Repeater and ModelPeer
These are not public API.
2021-06-21 15:50:58 +02:00
Simon Hausmann
f377b5db6c C++: Document sixtyfps::interpreter::Value::Type 2021-06-21 15:50:58 +02:00
Simon Hausmann
f7ff3ba0db C++: Document PropertyDescriptor 2021-06-21 15:50:58 +02:00
Simon Hausmann
07dd3ec82f C++: Hide global comparison operators for private Slice API 2021-06-21 15:50:58 +02:00
Simon Hausmann
7f8f1b3105 Hide Property<T> and PropertyTracker<T> from the public C++ API
Move those two classes into the private_api namespace, which is excluded
from the API reference documentation.

For generate code the explicit qualification of Property<T> is changed,
for the cbindgen generated item types the private_api namespace is
pulled into the cbindgen_private namespace.
2021-06-21 15:50:58 +02:00
Simon Hausmann
596912a521 Fix panic in preview.html when loading images
Binding expressions may end up calling sixtyfps::Image:size(), which
requires a graphics backend to be set.

The wasm interpreter code path circumvents the
sixtyfps_corelib::backend::instance_or_init call and went straight to
the GL backend, so we need an extra call to ensure its creation.
2021-06-21 15:09:01 +02:00
Olivier Goffart
8f4a1c9221 Apply suggestions from code review
Co-authored-by: Simon Hausmann <simon.hausmann@sixtyfps.io>
2021-06-21 14:29:53 +02:00
Olivier Goffart
962dc0075c Layout: Make the default padding and spacing 0
and add Box widgets that have proper defaults

Closes #200
2021-06-21 14:29:53 +02:00
Olivier Goffart
fb7050e3e6 Properly detect layout loop involving images 2021-06-21 12:33:15 +02:00