Simon Hausmann
fdd522a7e4
Link to the "website" from the Rust docs
2020-08-26 18:58:35 +02:00
Olivier Goffart
58cdaeb8dd
Update license header to mention that commertial option are available
2020-08-26 13:23:42 +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
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
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
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
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
d3a474af26
Move corelib::Component and friends back into their dedicated component module
2020-08-12 11:39:07 +02:00
Simon Hausmann
b21aa4f9e7
Rename PropertyListenerScope to PropertyTracker
2020-08-12 11:31:33 +02:00
Simon Hausmann
0df86d7eeb
Move corelib::abi::datastructures::Component to corelib
2020-08-12 10:53:03 +02:00
Olivier Goffart
f4cce26d51
Test the mouse click
2020-08-10 12:54:29 +02:00
Olivier Goffart
36243ccdf7
Traverse item front to back for input events
2020-08-10 10:45:02 +02:00
Olivier Goffart
0a56912d0f
Mouse grab in rust
2020-08-07 16:06:49 +02:00
Olivier Goffart
5aa7ee86fe
Use a newtype for VisitChildrenResult instead of just isize
...
Makes the code easier to unserstand
2020-08-07 16:06:49 +02:00
Olivier Goffart
55ec533c40
WIP input events
...
Compile and passes tests. But the mouse event are currently not working
2020-08-07 16:06:49 +02:00
Simon Hausmann
3ad7a55038
Split corelib::abi::signals into corelib::signals and corelib::signals:ffi
2020-08-04 08:24:04 +02:00
Olivier Goffart
da11b33e9b
Version check
...
Compilation error when the compiler and the runtime are not on the same version
2020-08-03 18:44:36 +02:00
Simon Hausmann
37f874a26b
Rename test_ellapse_time to mock_elapsed_time
2020-08-03 17:52:42 +02:00
Simon Hausmann
f2166d91a6
Move tests out of abi
2020-08-03 17:48:17 +02:00
Simon Hausmann
0252d2ac34
Move slice out of abi
2020-08-03 17:41:16 +02:00
Simon Hausmann
9b13b363c3
Move corelib::abi::properties to corelib::properties
...
And the bits that are only there for the C binding are now in an ffi sub-module.
2020-08-03 17:32:28 +02:00
Simon Hausmann
a662d36dc3
Move ItemTreeNode from datastructures into item_tree
2020-08-03 14:38:08 +02:00
Simon Hausmann
76adda0abd
Move ComponentWindow and friends from datastructures into eventloop
2020-08-03 14:26:47 +02:00
Simon Hausmann
45b02e9a3e
Move the item visitor bits from datastructures into item_tree
2020-08-03 14:10:32 +02:00
Simon Hausmann
97a2fb2c7b
Move datastructures::EasingCurve into animations
2020-08-03 13:49:20 +02:00
Simon Hausmann
30d7a0b36d
Move PathData and friends from datastructure to
...
graphics
2020-08-03 13:43:44 +02:00
Simon Hausmann
b05a11945e
Move datastructures::LayoutInfo into layout
2020-08-03 13:31:43 +02:00
Simon Hausmann
fa87363dc5
Move Point, Rect and Size into graphics
...
And move the expanded structures for cbindgen into an ffi sub-module.
2020-08-03 13:24:39 +02:00
Simon Hausmann
69beab5957
Rename corelib::abi::primitives to corelib::items
2020-08-03 10:32:03 +02:00
Olivier Goffart
75671c18e7
Rename weak-pin crate to pin-weak
2020-07-31 18:18:12 +02:00
Simon Hausmann
884af3c88f
Implement support for nested layouts in the Rust generator
2020-07-30 19:41:29 +02:00
Olivier Goffart
b57f3775c9
Refactor GridLayout
2020-07-28 10:31:05 +02:00
Olivier Goffart
05c5f7c53d
Test and fix animations on properties
...
The animation should not start when the property is initialized, only when the
property is set by the setter
2020-07-23 11:45:34 +02:00
Olivier Goffart
e00491811b
Get rid of the context in properties/signal
2020-07-13 18:49:06 +02:00
Olivier Goffart
ab7ae9f3e2
Some refactoring of the rust generated code
...
Always use a Pin<Rc> for the component. (This is required to support repeater
within repeater as well anyway)
Do not use the context within the binding. We can get along by simply capturing
a weak pointer to the component
2020-07-13 16:37:54 +02:00
Simon Hausmann
4b75ec0ee8
Lay out items on a path
...
This works, but it's still missing support for positioning of the layout
itself.
2020-07-09 15:32:47 +02:00
Simon Hausmann
9a73443e14
Allow for path elements to contain bindings
2020-07-07 14:14:17 +02:00
Olivier Goffart
1cbd522a03
Rust: make non-constant model and if expression work
2020-07-03 14:04:23 +02:00
Simon Hausmann
f7517f403c
Make the color a valid property type
...
This replaces Property<u32> with Property<Color>
2020-06-26 21:46:37 +02:00
Olivier Goffart
d267039fa8
Put a pointer to the parent component in the component
...
This means we must use Rc for the component so we can use Weak for the parent pointer.
The idea is to get rid later of the context
2020-06-26 19:26:55 +02:00
Olivier Goffart
caca0d0ba4
Put the component in a Pin<>
...
Removed the drop and create from the ComponentVTable:
since we are not using VBox<ComponentVTable>, this simplifies a bit
the code of the interpreter and everything else.
But there is still a lot of changes everywhere to support that the Component
is pinned.
This is just for the component. Which would be required if later we want
to access the properties as Pin<Property<_>>. But we have not yet ability
to do projections
2020-06-24 14:13:27 +02:00
Olivier Goffart
56a75a69e5
Move the repeater part that is specific to rust within the rust lib
2020-06-19 10:06:13 +02:00
Simon Hausmann
9df888578f
Expose a ComponentWindow type in Rust
...
This comes with a factory function that re-directs to the backend and a
run member function to replace
sixtyfps_runtime_run_component_with_gl_renderer. For now it's all still
hidden in the generated run() method.
2020-06-17 19:15:18 +02:00
Olivier Goffart
6122f91fba
Begin with the generation of rhe repeater (rust only for now)
2020-06-16 13:47:02 +02:00