mirror of
https://github.com/slint-ui/slint.git
synced 2025-09-28 12:54:45 +00:00
Format
This commit is contained in:
parent
6b3765857a
commit
bf64e40476
4 changed files with 23 additions and 31 deletions
|
@ -9,8 +9,8 @@ struct ComponentVTable;
|
|||
namespace sixtyfps {
|
||||
|
||||
// Bring opaque structure in scope
|
||||
using internal::ItemTreeNode;
|
||||
using internal::ComponentVTable;
|
||||
using internal::ItemTreeNode;
|
||||
using ComponentRef = VRefMut<ComponentVTable>;
|
||||
|
||||
template<typename Component>
|
||||
|
@ -20,7 +20,7 @@ void run(Component *c)
|
|||
// component matching the vtable. In fact, i think the VTable should be a
|
||||
// static member of the Component
|
||||
internal::sixtyfps_runtime_run_component_with_gl_renderer(
|
||||
VRefMut<ComponentVTable> { &Component::component_type, c });
|
||||
VRefMut<ComponentVTable> { &Component::component_type, c });
|
||||
}
|
||||
|
||||
using internal::Image;
|
||||
|
@ -32,7 +32,6 @@ using internal::TextVTable;
|
|||
using internal::TouchArea;
|
||||
using internal::TouchAreaVTable;
|
||||
|
||||
|
||||
// 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
|
||||
|
|
|
@ -7,42 +7,35 @@ namespace sixtyfps {
|
|||
template<typename T>
|
||||
struct Property
|
||||
{
|
||||
Property() {
|
||||
internal::sixtyfps_property_init(&inner);
|
||||
}
|
||||
~Property() {
|
||||
internal::sixtyfps_property_drop(&inner);
|
||||
}
|
||||
Property(const Property&) = delete;
|
||||
Property(Property&&) = delete;
|
||||
Property &operator=(const Property&) = delete;
|
||||
Property() { internal::sixtyfps_property_init(&inner); }
|
||||
~Property() { internal::sixtyfps_property_drop(&inner); }
|
||||
Property(const Property &) = delete;
|
||||
Property(Property &&) = delete;
|
||||
Property &operator=(const Property &) = delete;
|
||||
|
||||
/* Should it be implicit?
|
||||
void operator=(const T &value) {
|
||||
set(value);
|
||||
}*/
|
||||
|
||||
void set(const T &value) const {
|
||||
this->value = value;
|
||||
}
|
||||
void set(const T &value) const { this->value = value; }
|
||||
|
||||
const T &get() const {
|
||||
const T &get() const
|
||||
{
|
||||
internal::sixtyfps_property_update(&inner, &value);
|
||||
return value;
|
||||
}
|
||||
|
||||
template <typename F>
|
||||
void set_binding(F binding) const {
|
||||
template<typename F>
|
||||
void set_binding(F binding) const
|
||||
{
|
||||
internal::sixtyfps_property_set_binding(
|
||||
&inner,
|
||||
[](const void *user_data, const void *value) {
|
||||
*reinterpret_cast<T*>(value) = (*reinterpret_cast<F*>(user_data))();
|
||||
},
|
||||
new F(binding),
|
||||
[](const void *user_data) {
|
||||
delete reinterpret_cast<F*>(user_data);
|
||||
}
|
||||
);
|
||||
&inner,
|
||||
[](const void *user_data, const void *value) {
|
||||
*reinterpret_cast<T *>(value) = (*reinterpret_cast<F *>(user_data))();
|
||||
},
|
||||
new F(binding),
|
||||
[](const void *user_data) { delete reinterpret_cast<F *>(user_data); });
|
||||
}
|
||||
|
||||
private:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue