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