Commit graph

230 commits

Author SHA1 Message Date
Olivier Goffart
8a7afbc238 Documents the elements 2020-09-02 18:57:24 +02:00
Olivier Goffart
f1ad78bc25 Qt style support for the rust backend
Need to set the SIXTYFPS_STYLE=native env variable while compiling
2020-09-01 12:25:11 +02:00
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
5dbd0b213c Add support for grid layout padding 2020-08-28 15:06:14 +02:00
Olivier Goffart
ef16733a88 Attempt to render the documentation example.
Need polishing
2020-08-27 19:34:17 +02:00
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