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
This commit is contained in:
Olivier Goffart 2020-06-24 14:13:27 +02:00
parent de74ae4534
commit caca0d0ba4
31 changed files with 356 additions and 241 deletions

View file

@ -51,11 +51,6 @@ using internal::Rectangle;
using internal::Text;
using internal::TouchArea;
// the component has static lifetime so it does not need to be destroyed
// FIXME: we probably need some kind of way to dinstinguish static component and
// these on the heap
inline void dummy_destory(ComponentRef) { }
constexpr inline ItemTreeNode<uint8_t> make_item_node(std::uintptr_t offset,
const internal::ItemVTable *vtable,
uint32_t child_count, uint32_t child_index)