slint/sixtyfps_runtime/corelib/lib.rs
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

52 lines
1.1 KiB
Rust

/*!
# SixtyFPS runtime library
**NOTE:** This library is an internal crate for the SixtyFPS project.
This crate should not be used directly by application using SixtyFPS.
You should use the `sixtyfps` crate instead
*/
#![deny(unsafe_code)]
/// The animation system
pub mod animations;
pub mod graphics;
pub mod input;
pub mod item_tree;
pub mod layout;
#[cfg(feature = "rtti")]
pub mod rtti;
/// Things that are exposed to the C ABI
pub mod abi {
#![warn(missing_docs)]
// We need to allow unsafe functions because of FFI
#![allow(unsafe_code)]
pub mod datastructures;
pub mod model;
pub mod primitives;
pub mod properties;
pub mod signals;
pub mod slice;
pub mod string;
}
#[doc(inline)]
pub use abi::string::SharedString;
#[doc(inline)]
pub use abi::datastructures::Resource;
#[doc(inline)]
pub use abi::properties::{EvaluationContext, Property};
#[doc(inline)]
pub use abi::signals::Signal;
/// Type alias to the commonly use `Pin<VRef<ComponentVTable>>>`
pub type ComponentRefPin<'a> = core::pin::Pin<abi::datastructures::ComponentRef<'a>>;
pub mod eventloop;
mod item_rendering;