Commit graph

844 commits

Author SHA1 Message Date
Simon Hausmann
5d58d34e84 Document run_event_loop() and quit_event_loop()
The C++ versions were there before, but undocumented. The Rust version
for quit() was missing.
2021-06-29 16:12:00 +02:00
Olivier Goffart
ccdcb61178 Rename the sixtyfps_compiler binary to sixtyfps-compiler 2021-06-29 14:21:44 +02:00
Simon Hausmann
57a00a4487 Re-add the logo to the C++ docs
For now that means the SVG is duplicated, but once sphinx is fixed we
can share the svg from the website.
2021-06-29 14:17:00 +02:00
Simon Hausmann
be95545474 Bump corrosion
This new version includes fixes to avoid unnecessary rebuilds.
2021-06-29 10:37:02 +02:00
Simon Hausmann
3ab287223c Silence exhale error
Doxygen would still generate xml for private_api::ArrayModel and would
try to resolve a reference to iself, which is not possible because we've
excluded the namespace:

```
   stderr: (!) Critical error while generating the file for [/home/vagrant/sixtyfps/target/cppdocs/api/classsixtyfps_1_1Model.rst].Traceback (most recent call last):
      File "/home/vagrant/.local/share/virtualenvs/docs-4wjFCyEr/lib/python3.8/site-packages/exhale/graph.py", line 2591, in generateSingleNodeRST
        gen_file.write("{0}\n".format(node.baseOrDerivedListString(
      File "/home/vagrant/.local/share/virtualenvs/docs-4wjFCyEr/lib/python3.8/site-packages/exhale/graph.py", line 393, in baseOrDerivedListString
        link=nodeByRefid[refid].link_name
    KeyError: 'classsixtyfps_1_1private__api_1_1ArrayModel'
    ```

Making the entire class as \private works around it.

Oddly, this isn't needed for IntModel, perhaps because it's not a template?
2021-06-28 14:18:45 +02:00
Simon Hausmann
918fa68c28 Revert logo in C++ docs
This reverts the Pipenv pinning of
f9ef21bffd and thus disables the logo, as
subsequent changes in the pinned sphinx fork cause unrelated breakages
when building docs. Let's re-enable this when the fixes are in an
upstream release of sphinx and the rtd theme.
2021-06-28 14:03:45 +02:00
Olivier Goffart
640d178d9d Fix compilation of the C++ interpreter 2021-06-28 12:16:59 +02:00
Olivier Goffart
ae114cf79d C++: don't re-export private symbol in the public API
Use the cbindgen_private namespace dirrectly from the generated code
2021-06-28 12:03:49 +02:00
Olivier Goffart
16ba23ae47 Move StateInfo to the private namespace 2021-06-28 11:23:44 +02:00
Olivier Goffart
daff9e8e65 Move Callback and internal Models to the private_api namespace 2021-06-28 11:23:44 +02:00
Olivier Goffart
98cec35080 Increase version numbers 2021-06-28 10:39:43 +02:00
Tobias Hunger
e01bd87df8 Janitor: Fix warnings about markdown files
These might change the layout of the rendered markdown files. This will
also fix some typos along the way:-)
2021-06-28 08:32:25 +02:00
Tobias Hunger
13d7f5e7bd Janitor: Fix typos in comments and user-facing strings
Also adapt tests for error messages containing the fixed strings.

No behavior change is intended!
2021-06-28 08:32:25 +02:00
Tobias Hunger
6b48373a01 Janitor: Fix typo in local variable name
No behavior change is intended here!
2021-06-28 08:32:00 +02:00
Tobias Hunger
4b1db93912 Janitor: Fix typo in function name
No behavior change is intended here!
2021-06-28 08:32:00 +02:00
Simon Hausmann
6d06827938 Re-enable doc errors in this branch 2021-06-26 10:07:59 +02:00
Simon Hausmann
8a8ff6d2e9 Work around doxygen complaining about lack of override function 2021-06-26 09:42:56 +02:00
Simon Hausmann
325751a695 Revert "Disable clang in doxygen again for now, but make doxygen warnings errors"
This reverts commit e6727e6957.

Unfortunately in the CI the warnings as errors doesn't quite work as
well yet, producing different warnings that need fixing first.
2021-06-26 08:04:30 +02:00
Simon Hausmann
4611cfb24f
Fix doxygen warn as error
The version in the CI only supports YES
2021-06-25 23:04:14 +02:00
Simon Hausmann
e6727e6957 Disable clang in doxygen again for now, but make doxygen warnings errors
Will fix clang support with that next week.
2021-06-25 21:22:53 +02:00
Simon Hausmann
25820b57d4 C++: fix remaining doxygen warnings in image.h and string.h 2021-06-25 21:07:01 +02:00
Simon Hausmann
7e3e6faa31 C++: Fix remaining warnings in callbacks.h 2021-06-25 20:59:23 +02:00
Simon Hausmann
8e729fee95 C++: Fix remaining doxygen warnings in sixyfps_interpreter.h 2021-06-25 20:41:53 +02:00
Simon Hausmann
919cc3065f C++: Fix remaining doxygen warnings in sixtyfps.h 2021-06-25 20:33:03 +02:00
Simon Hausmann
929dd8dbf4 Fix various doxygen warnings
and hide some internal members from doxygen
2021-06-25 20:26:33 +02:00
Simon Hausmann
e042e5d5d7 C++: Fix doxygen warnings in sixtyfps_color.h
* Add missing docs
* Hide internal member from Doxygen
2021-06-25 20:19:44 +02:00
Simon Hausmann
57bbfd531a C++: Add some docs for Brush and LinearGradientBrush 2021-06-25 20:14:53 +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
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
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
85474f7670 Add support for sixtyfps::Image::size() in C++
Also added a unit test for the C++ implementation.
2021-06-20 11:18:28 +02:00
Simon Hausmann
3587d49445 Hide sixtyfps::Repeater::RepeaterInner from the C++ docs 2021-06-18 17:15:39 +02:00
Olivier Goffart
a0bea36e43 Fix preferred size of the Window with a layout
A few problem:
 - the horizontal and vertical property were swapped
 - The implementation of the "preferred_xxx" property was not materialized properly
   because the `bindings` were borrowed in the materialize_fake_properties pass
 - Since the Window has a stretch factor of 0., the preferred size of the inner layout
   was not taken into account when merging the LayoutInfo.  I believe taking the
   maximum preferred size is the right solution when merging them.
2021-06-18 13:51:25 +02:00