Commit graph

3086 commits

Author SHA1 Message Date
Simon Hausmann
4142a9198d Include the intrerperter in the doxygen scan
Amends commit 63cfb9b870
2021-03-23 15:59:17 +01:00
Simon Hausmann
63cfb9b870 Revert back to a unified C++ reference docs
Unfortunately I can't separate the interpreter docs from the regular
run-time library C++ docs with exhale/breathe. One way or another it
breaks and one disappears or shows errors. This change reverts commit
0bb497c816, commit
a769b630ca and commit
0e82faf845 and merges the two into one
reference for now.
2021-03-23 15:36:53 +01:00
Simon Hausmann
9e58b39317 Minor doc fix for Value 2021-03-23 14:07:46 +01:00
Simon Hausmann
ab99d9b19e Some class intro docs for Value
and hide the internal typedef
2021-03-23 13:45:53 +01:00
Simon Hausmann
81116607c1 Some class docs for C++ Struct
This also hides the internal constructor
2021-03-23 13:23:52 +01:00
Olivier Goffart
68157724cc No need to special case length casts for Expression::is_constant
Lenght cast lower to a FunctionCall which is not constant anyway
2021-03-23 13:22:49 +01:00
Simon Hausmann
c06b0e10e1 Add/sync class summary docs for interpreter::Struct 2021-03-23 12:57:40 +01:00
Simon Hausmann
2b21e7f827 Add support for showing doxygen warnings
By using the --show-warnings option
2021-03-23 12:56:24 +01:00
Simon Hausmann
646ce85ea6 Fix doxygen error
It can't parse the std::enable_if bits in the range constructor of Struct,
so skip it.
2021-03-23 11:17:40 +01:00
Simon Hausmann
0bb497c816 Fix C++ Interpreter docs not showing up in detail
The hacked multi-project support doesn't support multiple output
directories, breathe will look only in the default project directory for
doxygen xml files. Therefore share them.
2021-03-23 11:15:13 +01:00
Olivier Goffart
a816712a79 Printer demo: give the combo box a popup 2021-03-22 18:09:14 +01:00
Olivier Goffart
34dc66b37a Propspective CI fix
```
2: Test command: /home/runner/work/sixtyfps/cppbuild/api/sixtyfps-cpp/test_interpreter
2: Test timeout computed to be: 1500
2: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
2: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
2:
2: Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
```
2021-03-22 17:46:11 +01:00
Simon Hausmann
2fed4ddaed Split the interpreter ffi module into a separate file 2021-03-22 15:15:07 +01:00
Simon Hausmann
a769b630ca Separate the C++ Interpreter API into a separate library root
Since breathe doesn't support multiple projects by default, this
uses a fork of the monkey-patch extensions to enable this.
2021-03-22 14:37:02 +01:00
Olivier Goffart
bd6cace54c Test and fix C++ invokation of callback 2021-03-22 14:30:00 +01:00
Olivier Goffart
d79131f18f Split the tests into two files for the interpreter and others 2021-03-22 11:24:11 +01:00
Simon Hausmann
0e82faf845 Exclude the interpreter C++ API from the general SixtyFPS API docs
These need to somehow go into a separate top-level item
2021-03-22 10:55:46 +01:00
Simon Hausmann
73108ff26f Print diagnostics and fix the path to the ui file in the interpreted printer demo 2021-03-19 18:41:10 +01:00
Simon Hausmann
e1f9347aaa Add a diagnostics getter to ComponentCompiler 2021-03-19 18:34:39 +01:00
Olivier Goffart
5b726cacbe Interpreted printer demo
It fails at runtime because it can't compile the .60,  but since
there is no diagnostics output for now, it is hard to know why
2021-03-19 18:33:40 +01:00
Olivier Goffart
b645860e27 Fix bad conflict resolution 2021-03-19 18:30:16 +01:00
Olivier Goffart
f2ffc0ebf6 ComponentDefinition::create in C++
Note thate there is a hack so `ComponentHandle<ComponentInstance>` (which is
binary compatible with `VRc<ComponentVTable, ErasedComponentBox>` works
2021-03-19 18:10:38 +01:00
Simon Hausmann
3ad41a551b Minor cleanup
When getting the include paths, avoid one intermediate String allocation
and go straight from str to SharedString
2021-03-19 18:08:53 +01:00
Simon Hausmann
6efc594cf9 Fix doc tests 2021-03-19 17:54:05 +01:00
Simon Hausmann
d6c109d456 Don't crash when encounting the spin_on conditionaly dependency
I need to see if this is correct, but meanwhile this should fix the CI
2021-03-19 17:30:44 +01:00
Simon Hausmann
9eecdefb35 Add ComponentCompiler::build_from_path 2021-03-19 17:26:19 +01:00
Simon Hausmann
fd9d154b27 Add getter/setter for the style 2021-03-19 17:17:57 +01:00
Simon Hausmann
59d6866b13 Remove the null state in ComponentDefinition
This isn't needed as it turns out and a cleaner API this way
2021-03-19 17:08:04 +01:00
Simon Hausmann
4705c455b9 Remove CompilerConfiguration from the interpreter API
It's not needed anymore with `ComponentCompiler` (I forgot to remove it)
2021-03-19 17:02:19 +01:00
Simon Hausmann
9dcabbe876 Cleanup
Pull in spin_on only if we use ffi
2021-03-19 17:00:51 +01:00
Simon Hausmann
2d790c202f Revert accidental publishing of internal ffi functions
Not needed as long as everything is within ffi
2021-03-19 16:53:27 +01:00
Simon Hausmann
3588d6ffbe Start exposing ComponentDefinition to C++ 2021-03-19 16:50:12 +01:00
Simon Hausmann
9a8c6bf9f7 Move the string_to_slice helper into sixtyfps_string.h for easier editing 2021-03-19 14:16:30 +01:00
Simon Hausmann
3bb4b87bc7 Use a free-standing function for the string_view to slice conversion 2021-03-19 13:13:08 +01:00
Simon Hausmann
0c21008861 Add internal convenience API to construct a C++ slice from a string view 2021-03-19 12:54:22 +01:00
Simon Hausmann
591ae8557b Add include_paths setter/getter to ComponentCompiler 2021-03-19 09:56:46 +01:00
Olivier Goffart
5f30170543 Fix white background on the old printer demo
The default Window background color was changed to be the native one some times ago
2021-03-19 09:48:19 +01:00
Olivier Goffart
32762ef5a6 Fix printerdemo_old 2021-03-19 09:48:19 +01:00
Olivier Goffart
41c6c79bc1 Better name for the femtovg feature
Just use the name of the crate, i believe this is the convension
2021-03-19 09:48:19 +01:00
Simon Hausmann
318ee46d08 Fix build
Brown paper bag for me
2021-03-19 09:42:38 +01:00
Simon Hausmann
14cda0a9b4 Use Self::foo instead of LongerTypeName::foo in the Rust API docs 2021-03-19 09:28:44 +01:00
Simon Hausmann
7af77839ad Add the skeleton for CompilerCompiler in C++ 2021-03-19 09:26:42 +01:00
Olivier Goffart
7303374927 "Prospective" fix to the Qt caching in the CI 2021-03-19 09:17:57 +01:00
Olivier Goffart
56b22950bf Fix URL to the old printer demo 2021-03-19 09:09:56 +01:00
Olivier Goffart
f1fb4c536b Generate the wasm for the old printer demo in the CI 2021-03-19 09:05:29 +01:00
Simon Hausmann
de8ad46633 Fix doc warnings 2021-03-18 18:31:42 +01:00
Simon Hausmann
4a9cd954b8 Rework the Rust entry point API for the interpreter
Switch to the stateful `ComponentCompiler` concept that we discussed for the C++ API.
2021-03-18 18:20:50 +01:00
Simon Hausmann
6de1c4e3b5 Use the new femtovg release instead of pinning to a sha1 2021-03-18 16:56:00 +01:00
Olivier Goffart
63460c1a24 ComponentInstance show/hide/run 2021-03-18 16:37:01 +01:00
Olivier Goffart
9cc69d73a1 C++ implementation of the ComponentInstance
still untested
2021-03-18 16:30:25 +01:00