Olivier Goffart
6d41b1981d
Move the Qt style to a new backend: the Qt backend
...
Currently the Qt backend still redirect everything to the GL backend,
but the goal is to use QPainter and QWindow
This also adds a "default" backend, whose goal is to select the proper
backend at compile time
2020-08-31 17:26:04 +02:00
Simon Hausmann
26502e4082
Add a paragraph about the C++ build process
2020-08-31 17:13:47 +02:00
Simon Hausmann
5dbd0b213c
Add support for grid layout padding
2020-08-28 15:06:14 +02:00
Simon Hausmann
7976a4057f
Improve handling of nested layouts
...
We support directly nested layouts, but we did not support indirect
nesting:
GridLayout {
Rectangle {
l2 := GridLayout { ... }
}
}
This patch fixes that by detecting this scenario and merging the layout
info of the element (Rectangle) and the layout inside (l2). This makes
it much easier to create re-usable components that use layouts
themselves and allows placing them in layouts.
2020-08-28 15:06:14 +02:00
Simon Hausmann
c1aa4b28c6
Add support for children insertion points for components
...
Sometimes re-usable components need to act as containers that allow the
user to place other items inside. The component needs to be able to
control the placement of these user-provided elements. That is what the
new
$children
expression inside elements does.
2020-08-28 15:05:21 +02:00
Olivier Goffart
ef16733a88
Attempt to render the documentation example.
...
Need polishing
2020-08-27 19:34:17 +02:00
Olivier Goffart
e169747b79
Fix non-wasm build
...
It seems that the workspace.exclude in the root Cargo.toml does not do what i think it does
2020-08-27 16:46:25 +02:00
Olivier Goffart
5a687cb6cb
Wasm interpreter
2020-08-27 16:32:12 +02:00
Simon Hausmann
1fec49fc10
Small typo fixes
2020-08-26 20:56:25 +02:00
Simon Hausmann
fdd522a7e4
Link to the "website" from the Rust docs
2020-08-26 18:58:35 +02:00
Simon Hausmann
48879f057a
Link to the self-hosted rust online docs
2020-08-26 18:57:02 +02:00
Simon Hausmann
1b7d25efab
Provide a convenient way to get to the "website" via the docs
...
These markdown files are also included in other locations (Rust or C++), so
a way to get back to a future website is helpful.
2020-08-26 14:46:06 +02:00
Olivier Goffart
58cdaeb8dd
Update license header to mention that commertial option are available
2020-08-26 13:23:42 +02:00
Simon Hausmann
72f0d09e61
Link to the online C++ docs
2020-08-26 11:28:26 +02:00
Simon Hausmann
9785919f6e
Hide a few APIs from the C++ documentation
...
Since Doxygen can't seem to just exclude them via command, they are moved
into a private_api namespace and then excluded via Doxygen config:
* *VTable
* make_dyn_node, ItemTreeNode, etc.
* VersionCheck
2020-08-25 17:45:12 +02:00
Simon Hausmann
91621aa87a
Hide sixtyfps::cbindgen_private from the C++ docs
2020-08-25 16:43:43 +02:00
Simon Hausmann
88089970e9
Re-ran clang-format on sixtyfps.h
...
Before further edits, this makes the subsequent diffs easier to read:-)
2020-08-25 16:24:58 +02:00
Simon Hausmann
9dd6101494
Avoid using cbindgen_private in generated C++ code
...
Instead, pull in the types manually.
2020-08-25 15:36:29 +02:00
Simon Hausmann
14fe897086
Move all cbindgen generated code into
...
sixtyfps::cbindgen_private
Having private in the name makes it clear that this is ... private,
and cbindgen helps remember that it's generated.
2020-08-25 15:29:48 +02:00
Olivier Goffart
304b0e7b0e
Make sure the langref doc can be opened if the package is on crates.io
...
One need to make a symlink because the files need to be in the package
2020-08-25 14:42:18 +02:00
Simon Hausmann
c433b762ef
Fix version in nodejs API package.json
...
Co-authored-by: Olivier Goffart <ogoffart@woboq.com>
2020-08-25 12:00:43 +02:00
Simon Hausmann
3f64defaac
Include the C++ API README in the C++ reference docs
2020-08-24 17:40:12 +02:00
Simon Hausmann
e9685c5851
Improve C++ documentation shell
...
Doxygen's markdown support can't quite deal with the Github flavor,
the language reference looks terrible.
So instead, this change switches to using Sphinx,
with two extensions that call Doxygen for us and allow including markdown.
The result is a read-the-docs themed sphinx site that includes search even
in the language reference.
2020-08-24 17:07:04 +02:00
Olivier Goffart
ea1f215367
Some polishinbg of the .toml files
...
- Give all the sixtyfps-* create a 0.0.1 version
- Make sure that the internal dependences are using the exact same version
(so "=0.0.1")
- Add the description/homepage/repository fields in the .toml files
- Set publish=false to crates that are not meant to be published on crates.io
2020-08-24 16:28:11 +02:00
Olivier Goffart
9a555a170f
README changes
2020-08-24 14:44:00 +02:00
Simon Hausmann
a669b8625b
Add missing license header
2020-08-24 13:46:09 +02:00
Olivier Goffart
cbeb982684
Use the FieldOffset struct from the upstream create
2020-08-24 11:20:38 +02:00
Simon Hausmann
2b7649d2d4
Fix typo
2020-08-21 19:15:41 +02:00
Simon Hausmann
3e6f262ca0
Fix typo
2020-08-21 19:15:02 +02:00
Simon Hausmann
2bde730de9
Don't bother trying to generate LaTeX
2020-08-21 16:54:23 +02:00
Simon Hausmann
6ea46aa7e4
Include the language reference in the C++ docs
...
It's still a bit buggy but better than nothing
2020-08-21 16:46:23 +02:00
Simon Hausmann
f610957de0
Include README.md in the C++ Docs
2020-08-21 16:36:58 +02:00
Simon Hausmann
baf0e151a5
Include more header files in the doxygen pass
2020-08-21 16:26:21 +02:00
Simon Hausmann
462d73ccdc
Switch to Doxygen
...
clang-doc is nice and good, but there are features missing such as the ability to manually create a reference (link)...
2020-08-21 16:22:59 +02:00
Simon Hausmann
0e10008c47
Use ".60" design markup consistently
...
It's a mark up language that targets the design, not say the business logic.
2020-08-21 13:59:30 +02:00
Simon Hausmann
8df8db8733
Don't try to reference docs from other crates using relative links
...
This won't work on docs.rs, so instead re-export the types the same way that
text of the link was already suggesting.
2020-08-21 13:42:38 +02:00
Simon Hausmann
490cb299a8
Ignore doc test build for pseudo-code
2020-08-20 16:32:16 +02:00
Simon Hausmann
e397c83d1f
Fix parameters to clang-doc to generate HTML
...
... for now that's more readable.
2020-08-20 16:29:19 +02:00
Simon Hausmann
0e7c39dce4
Added cmake boilerplate for running clang-doc
...
It's an experiment :-)
2020-08-20 16:24:51 +02:00
Simon Hausmann
25156d9aa3
Table'ify the types in the language reference
2020-08-20 15:51:38 +02:00
Simon Hausmann
6ebe008768
Add a table to the Rust docs for the mapping from .60 property types
2020-08-20 15:25:28 +02:00
Simon Hausmann
5d9d283ec8
Include some documentation about the generated APIs
2020-08-20 15:06:10 +02:00
Simon Hausmann
e3fb0c09dd
Some improvements to the Rust API crate documentation
...
Some general cleanups and include the language reference right there using the technique described at https://blog.wnut.pw/2020/03/24/documentation-and-unstable-rustdoc-features/
2020-08-20 10:05:52 +02:00
Simon Hausmann
f05a8c3d32
Link back to the central README from the C++ README
2020-08-18 15:08:44 +02:00
Simon Hausmann
5959b08e54
Added a boilerplate for the Rust API
2020-08-18 15:07:35 +02:00
Simon Hausmann
6f04bbbebf
Minor edit to the C++ README
2020-08-18 14:57:06 +02:00
Simon Hausmann
7f1d9f5252
Commit correct license tags to Cargo.toml
...
For now that's GPL-3.0 only, but this can be changed :-)
2020-08-18 10:12:59 +02:00
Simon Hausmann
2823f32692
Apply license headers to all non-binary/non-json sources
2020-08-17 17:55:20 +02:00
Simon Hausmann
4a74f6d0a3
Implement releasing graphics resources in Rust via Drop
...
Further enhances #12
2020-08-14 13:44:53 +02:00
Simon Hausmann
55888afb1c
Implement releasing of graphics resources in C++ via the component destructor
2020-08-13 16:35:04 +02:00