Olivier Goffart
9eac131ae5
Add the logo in the docs
2021-02-12 08:24:42 +01:00
Simon Hausmann
7982325da4
Change Rectangle::background's type to be a brush
...
This also introduces the brush type in the compiler and generators. At the
moment only conversion from Color is implemented.
2021-02-03 12:49:44 +01:00
Olivier Goffart
c5ab214f55
Generate linear gradients in rust.rs
2021-02-03 09:52:38 +01:00
Olivier Goffart
fea2478859
Update version number everywhere
2021-01-28 16:34:13 +01:00
Simon Hausmann
6a4f2aa572
Added the two missing path sub-elements for quadratic and cubic curves
2021-01-28 14:14:24 +01:00
Simon Hausmann
a6fbc4c05d
Add missing MoveTo
sub-element for Path
2021-01-28 13:16:25 +01:00
Olivier Goffart
1fda2e1c99
Remove unused item_parent_offset
2021-01-26 10:36:37 +01:00
Olivier Goffart
5a21f1bd81
Rename emit_ to call_ for callback
...
Signal was renamed to Callback, but one does not emit a callback, one calls it
2021-01-25 15:59:10 +01:00
Olivier Goffart
962a31d8f5
Layouting documentation
2021-01-23 10:25:43 +01:00
Simon Hausmann
ae1178dd55
Make the modifiers simple booleans in the key event
...
This will give a nicer API to expose to .60. If the struct weren't
repr(C) then the booleans would be nicely packed, but alas that's not
happening. On the other hand we're not keeping many instances of them
around.
2021-01-22 13:47:52 +01:00
Simon Hausmann
9ca87ab312
Simplify KeyEvent
...
Fold CharacterInput into KeyPressed/KeyReleased and store the "key" as a string.
Also, instead of exposing the KeyCode we're encoding special characters
into the string.
2021-01-22 10:15:05 +01:00
Simon Hausmann
5f265ffc09
Split up ComponentWindow::run() into show(), hide() and sixtyfps::run_event_loop()
...
This allows creating multiple windows for example, and it will allow for
showing windows in those tests that require a mapped window.
As a bonus, the run() function on generated components is not consuming
anymore.
2021-01-19 09:50:22 +01:00
Olivier Goffart
dcb347fb7b
Move more functions from the GenericWindow to the Window
2021-01-15 15:02:55 +01:00
Olivier Goffart
547b2a7f6e
Introduce Backend trait
...
Such that the font are properly registered when the GL backend is chosen at runtime
2021-01-15 12:20:32 +01:00
Simon Hausmann
edb17f996f
Move the entire custom application font handling into the backend
...
Some backends may not require a copy of the data, for example.
2021-01-14 08:53:13 +01:00
Simon Hausmann
727c9a19f7
Add basic text item support
...
This needs more work, but gets something onto the screen at least.
2021-01-14 08:53:13 +01:00
Olivier Goffart
9050c29305
Don't use the window through the eventloop module
2021-01-14 08:53:13 +01:00
Olivier Goffart
16f5a03c14
Run cargo fmt
2020-12-18 10:29:15 +01:00
Olivier Goffart
dfa25b96f7
Rename SharedArray to SharedVector
2020-12-18 10:26:07 +01:00
Olivier Goffart
0d2d48be4f
Rename "signal" to "callback"
2020-12-18 09:51:01 +01:00
Olivier Goffart
63a0d9308b
Bump version
2020-12-14 08:49:54 +01:00
Simon Hausmann
c72c2a58ff
Fix Rust docs about generated API
2020-12-09 16:48:02 +01:00
Olivier Goffart
77dc3a2ca9
Update the version in the README and doc as we prepare the release
2020-12-09 15:34:41 +01:00
Olivier Goffart
125ec13f24
Bump version numbers
...
Note: this does not update the documentation yet
2020-12-07 15:41:29 +01:00
Simon Hausmann
26cb05724e
Implement Clone for sixtyfps::Weak
2020-12-03 14:41:25 +01:00
Simon Hausmann
23d54b1b89
Improve similarity of testing APIs between C++ and Rust
...
Let send_mouse_click also take a component reference, like in C++.
2020-12-03 13:35:10 +01:00
Simon Hausmann
4670854500
Remove as_ref from the public API of the generated Rust component
...
This was only needed in our tests.
2020-12-03 13:31:58 +01:00
Simon Hausmann
47152eee89
Remove the sixtyfps::Component trait
...
It is not needed anymore
2020-12-03 09:16:20 +01:00
Simon Hausmann
83191c82cc
Remove ComponentHandle and ComponentWeakHandle
2020-12-03 08:13:40 +01:00
Simon Hausmann
4f412dcde4
Fix up the docs of the sample component for the new wrapping API
2020-12-03 08:13:40 +01:00
Simon Hausmann
7047856d4e
Replace FooRc with Foo and without ComponentHandle in examples and tests
2020-12-03 08:13:24 +01:00
Simon Hausmann
dd64226dc1
Implement sixtyfps::Weak
...
This is the counter-part to the strongly referencing type the compiler
generates for components.
2020-12-03 08:13:15 +01:00
Simon Hausmann
ff1d752bc6
First step towards a wrapping public component API without ComponentHandle
...
For now the compiler also generates FooRc next to Foo, which wraps a
strong reference (VRc) to Foo.
This is an intermediate step and at the end of the series FooRc should
replace Foo and sixtyfps::ComponentHandle.
2020-12-03 08:13:15 +01:00
Simon Hausmann
2472eb51f0
Add the plaster font to plaster theme of the slide puzzle
...
For regular builds this is done by adding Rust API that allows
registering a font, and for the web the font is installed into the
browser using JavaScript API.
This is an initial approach to just add this ability. It might make
sense to introduce a syntax in the `.60` file to allow for the
registration of fonts and letting the compiler generate code that
performs this embedding and registration automatically.
2020-11-27 14:29:56 +01:00
Olivier Goffart
8a64f10e84
Remove ComponentVtable::input_event
...
And the custom handling of the mouse grabber
2020-11-24 16:23:37 +01:00
Olivier Goffart
2e60afec39
Run cargo fmt
2020-11-23 12:08:23 +01:00
Olivier Goffart
596b740b62
Rename ARGBColor to RgbaColor
2020-11-23 11:47:47 +01:00
Olivier Goffart
20b4d8826b
Make the extra documentation page a bit more visible
2020-11-23 10:55:05 +01:00
Olivier Goffart
32f23f4c3e
Add semi colon on the docs.
...
The run statement returns `()` so it is easier to copy/paste it if it has the semicolon
2020-11-23 10:31:34 +01:00
Simon Hausmann
89e0b57627
Rework and simplify the focus handling
...
Instead of determining the focus item through item tree traversal and
pointer comparison and storing the intermediate indices in the
components in the tree, remember the focus item by a pair of
VWeak<ComponentVTable, Dyn> and item_index: usize.
This speeds up determining the focus item as well as delivering events,
which can now be done directly after retrieving an ItemRef with
get_item_ref.
This also fixes the duplicate line edit focus in the 7gui cells
test case.
2020-11-20 15:33:15 +01:00
Olivier Goffart
cfa9413861
More work on the state binding for transition:
...
When there is a transition, turn the state property into a property of StateInfo
Not yet implemented for C++
2020-11-19 12:43:28 +01:00
Olivier Goffart
0672f4b3cd
Expose Timer API to rust API
...
And use it in the puzzle demo to implement the auto play mode
2020-11-16 12:17:02 +01:00
Simon Hausmann
a2dadf8fe8
Remove the component parameter from GenericWindow::process_key_input
2020-11-11 19:16:26 +01:00
Olivier Goffart
503567d84c
Update the documentation after the changes to ComponentHandle
2020-11-09 15:08:08 +01:00
Olivier Goffart
a1f1fcb3a6
Use VRc<ComponentVTable> in the rust generated code
2020-11-09 14:58:37 +01:00
Olivier Goffart
2ece3817cc
Make ModelHandle a struct
...
Last commit broke for structures containing models, because models are not PartialEq.
So we need to implement PartialEq for ModelHandle. Which means a struct needs to
be created
2020-10-31 13:32:19 +01:00
Olivier Goffart
263df7dc63
Remove the www from all sixtyfps.io URL
2020-10-29 11:06:06 +01:00
Olivier Goffart
d3801e26d3
Change the syntax of structures to require the struct keyword
2020-10-27 16:09:05 +01:00
Olivier Goffart
aeade826fe
New runtime implementation for the box layout
...
Currently only horizontal layout is supported
2020-10-26 14:19:12 +01:00
Olivier Goffart
20cfb65e53
Bump version
2020-10-22 08:41:45 +02:00