Tobias Hunger
87df173d17
Janitor: Fix clippy::explicit_counter_loop
2021-08-09 13:19:34 +02:00
Olivier Goffart
23e3c68357
Online editor: ability to select the style
2021-08-07 12:49:53 +02:00
Tobias Hunger
4c7ecc57d8
Janitor: Fix clippy::or_fun_call
2021-08-04 22:50:35 +02:00
Tobias Hunger
04738a900f
Janitor: Fix clippy::map_clone
2021-08-04 22:50:35 +02:00
Tobias Hunger
2606d6d9e7
Janitor: Fix clippy::clone_on_copy
2021-08-04 22:50:35 +02:00
Tobias Hunger
46edbd0410
Janitor: Fix clippy::useless_format
2021-08-04 22:50:35 +02:00
Tobias Hunger
ce976a1dbb
Janitor: Fix clippy::useless_conversion
2021-08-04 22:50:35 +02:00
Tobias Hunger
24a2021226
Janitor: Fix clippy::needless_borrow
2021-08-04 22:50:35 +02:00
Tobias Hunger
3c9451f94c
Janitor: Fix clippy::needless_question_mark
2021-08-04 22:50:35 +02:00
Olivier Goffart
603c5df47a
Building the doc no longer need nightly rust
...
Rust 1.54 has the feature that allow us to include markdown files
in the docs
2021-08-03 16:27:31 +02:00
Simon Hausmann
661f23760b
Fix build: Add missing non-const arrow/deref operators for VRc/Component
2021-08-03 10:32:04 +02:00
Simon Hausmann
e97ecea480
Fix constness in generated C++ API
...
run(), show() and hide() should not be const, as well as the window() accessor.
2021-08-03 10:32:04 +02:00
Simon Hausmann
9e4b067f38
Provide sixtyfps::Window
by reference in the C++ interpreter API
2021-08-03 10:32:04 +02:00
Simon Hausmann
341387c8d0
Provide sixtyfps::Window
by reference in the generated C++ API
2021-08-03 10:32:04 +02:00
Simon Hausmann
29f5853332
Provide sixtyfps::Window
by reference in the Rust API
...
This also removes Clone from the Window again, to avoid having to face
the question: Does cloning a window duplicate it on the screen?
2021-08-03 10:32:04 +02:00
Simon Hausmann
23da97bc75
minor cleanup
...
Rename window_ to window_rc for the private window member in the generated C++ struct.
2021-08-03 10:32:04 +02:00
Simon Hausmann
66891a299c
Start a new sixtyfps::Window API for Rust, C++, the interpreters and JS
...
The generated component now provides access to a Window type
via the window() accessor function.
This is part of #333
2021-08-03 10:32:04 +02:00
Simon Hausmann
cb76186b59
Remove stray line
2021-08-01 09:34:36 +02:00
Simon Hausmann
52aee8d366
Another minor reduction in generated code
...
Further build on b3529d1b75
and move the
strong/weak reference dance into the API crate out of the generated
code.
Saves ~21k llvm lines on the printer demo (debug).
It's also possible to move the as_pin_ref() bit, but that didn't
really give any savings overall.
2021-08-01 09:34:36 +02:00
Simon Hausmann
b3529d1b75
Rust: Speed up compilation times of generated code
...
The binding setup functions (set_binding, set_animated_binding, etc.)
are taking the binding basically as an `impl Fn() -> T`, which means
each call site creates a new copy. The bodies of these can be quite big.
Since most of our uses follow the pattern of just capturing the
samereduce the number of copies needed parameter, we can reduce the
number of copies needed by providing wrappers.
With rustc 1.54.0 on my mbp and debug, the build time of
touch ../ui/printerdemo.60
cargo rustc
goes from 1m:15s down to 42s, and total llvm lines goes from
2079842 down to 1134237.
2021-07-30 09:22:20 +02:00
Olivier Goffart
f38ce3c090
Fix the tests
2021-07-29 18:25:23 +02:00
Olivier Goffart
188806ef89
An empty sixtyfps! macro should compile
2021-07-29 17:50:57 +02:00
Olivier Goffart
c11d880424
Rerun the build scripts that compile .60 if the default style might have changed
2021-07-28 16:57:09 +02:00
Olivier Goffart
43e07320a5
Fix comments and naming found in review in #355
2021-07-28 16:57:09 +02:00
Olivier Goffart
7821926002
Rust: defaults to the native
style when Qt is available
...
This requires some gymnastics to get right as the information
need to be passed to the compiler despite having no direct dependency
between the compiler and the runtime or backends.
So use a file in the build directory to tell the default style
cc: #83
2021-07-28 16:57:09 +02:00
Olivier Goffart
9ffcd34d1b
Test for angle in the C++ interpreter API
2021-07-26 17:36:02 +02:00
Olivier Goffart
fae6e0b52d
Document that angles are represented in degrees at run-time
2021-07-26 17:36:02 +02:00
Olivier Goffart
07bf0974d7
C++: Expose conversion betwen Value
and Image
...
Closes #350
2021-07-26 14:12:32 +02:00
Tobias Hunger
27b42687fa
Janitor: Fix clippy::redundant_closure
2021-07-23 13:48:52 +02:00
Tobias Hunger
9539a53480
Janitor: Fix clippy::redundant_clone
2021-07-23 13:48:52 +02:00
Tobias Hunger
d543bc3a1d
Janitor: Fix clippy::assign_op_pattern
2021-07-23 13:48:52 +02:00
Tobias Hunger
0405beed83
Janitor: Fix clippy::redundant_static_lifetimes
2021-07-23 13:48:52 +02:00
Olivier Goffart
0a46b367e2
C++: fix creating a gradient from a const reference to a color
2021-07-22 14:38:58 +02:00
Simon Hausmann
b8f208100c
Minor doc fix: Link to the run_event_loop function mentioned in the docs
...
The formatting is not a code block, but I could not figure out how to do
that. A link is still better IMO than a difference in formatting.
2021-07-22 10:55:13 +02:00
Simon Hausmann
8658e50e27
Fix typo
2021-07-22 09:04:55 +02:00
Simon Hausmann
3146fb7764
internal cleanup: Remove the sixtyfps::testing::HasWindow trait
...
and replace it with the internal, re-exported WindowHandleAccess
one.
Strictly speaking, this is a breaking change. In practice the
returned type of this trait was in `sixtyfps::re_exports`, so any
public use is questionable :)
2021-07-21 20:33:02 +02:00
Simon Hausmann
eaddbe664e
internal cleanup: Rename ComponentWindow to WindowRc
...
That's all it is nowadays, it's a wrapper around Rc<Window>. It's not an
alias because we need to also "wrap" it to C++ via cbindgen, but that's
about it.
2021-07-21 20:33:02 +02:00
Simon Hausmann
1c285694d7
internal cleanup: Remove the use of ComponentWindow in the interpreter
2021-07-21 17:41:12 +02:00
Simon Hausmann
ef184f7f1a
internal cleanup: Remove the rest of the ComponentWindow API
...
Now it just remains a wrapper around the Rc, and it can soon be moved to
the API crate hopefully.
2021-07-21 17:41:12 +02:00
Simon Hausmann
e005058285
internal cleanup: remove free_graphics_resource from the public ComponentWindow API
...
Use the WindowHandleAccess backdoor instead.
2021-07-21 17:41:12 +02:00
Olivier Goffart
673c0ce81c
Add a as_any to the Model trait to allow getting a reference to the original model
2021-07-20 15:38:10 +02:00
Olivier Goffart
3078285114
Add sixtyfps::Weak::upgrade_in_event_loop
2021-07-19 15:57:29 +02:00
Olivier Goffart
b3e58d58fe
Add a note in the doc that recomands resolver = "2"
2021-07-16 17:32:08 +02:00
Tobias Hunger
efc0d63e8b
Janitor: iter().cloned().collect()
on a slice to create a Vec
== to_vec()
...
This is clippy::iter_cloned_collect
2021-07-15 07:55:06 +02:00
Simon Hausmann
6e12b00b3f
Re-add new
constructor functions for ComponentCompiler and CompilerConfiguration
...
Amends commit dc51d4ccda
As discussed in #310
2021-07-12 13:26:17 +02:00
Tobias Hunger
dc51d4ccda
Use impl Default
instead of new()
constructors
2021-07-12 13:22:25 +02:00
Simon Hausmann
8ef8cb90ec
Remove unused file
2021-07-10 08:23:01 +02:00
Simon Hausmann
e321bece70
Add missing license header
2021-07-10 08:13:13 +02:00
Simon Hausmann
4f8c9b4378
Add a badge for GH discussions as forum
2021-07-10 08:13:13 +02:00
Simon Hausmann
163625fcd3
C++ docs: finish re-organzing the C++ docs entry
...
Instead of repeating the table of contents, provide a proper intro
page - based on the Github README - and group the remaining content
into Getting Started, Reference and Integration sections.
2021-07-10 08:13:13 +02:00