Program Listing for File slint_interpreter_internal.h#

Return to documentation for file (cppdocs/generated_include/slint_interpreter_internal.h)

#pragma once

/* Generated with cbindgen:0.26.0 */

#include <cstdarg>
#include <cstdint>
#include <cstdlib>
#include <ostream>
#include <new>
#include "slint_internal.h"
#include "slint_interpreter_generated_public.h"

            namespace slint::cbindgen_private {
                struct Value;
                using slint::interpreter::ValueType;
                using slint::interpreter::PropertyDescriptor;
                using slint::interpreter::Diagnostic;
                template <typename T> using Box = T*;
            }

namespace slint {
namespace cbindgen_private {

struct ComponentCompiler;

struct ErasedItemTreeBox;

#if defined(SLINT_TARGET_64)
struct StructOpaque {
    uintptr_t _0[6];
};
#endif

#if defined(SLINT_TARGET_32)
struct StructOpaque {
    uint64_t _0[4];
};
#endif

#if defined(SLINT_TARGET_64)
struct ModelNotifyOpaque {
    uintptr_t _0[8];
};
#endif

#if defined(SLINT_TARGET_32)
struct ModelNotifyOpaque {
    uintptr_t _0[12];
};
#endif

struct ModelAdaptorVTable {
    uintptr_t (*row_count)(VRef<ModelAdaptorVTable>);
    Value *(*row_data)(VRef<ModelAdaptorVTable>, uintptr_t row);
    void (*set_row_data)(VRef<ModelAdaptorVTable>, uintptr_t row, Box<Value> value);
    const ModelNotifyOpaque *(*get_notify)(VRef<ModelAdaptorVTable>);
    void (*drop)(VRefMut<ModelAdaptorVTable>);
};

struct StructIteratorOpaque {
    uintptr_t _0[5];
};

struct ComponentDefinitionOpaque {
    uintptr_t _0[1];
};

using DynamicComponentVRc = VRc<ItemTreeVTable, ErasedItemTreeBox>;

struct ComponentInstance {
    DynamicComponentVRc inner;
};

using ComponentCompilerOpaque = ComponentCompiler*;

extern "C" {

Box<Value> slint_interpreter_value_new();

Box<Value> slint_interpreter_value_clone(const Value *other);

void slint_interpreter_value_destructor(Box<Value> val);

bool slint_interpreter_value_eq(const Value *a, const Value *b);

Box<Value> slint_interpreter_value_new_string(const SharedString *str);

Box<Value> slint_interpreter_value_new_double(double double_);

Box<Value> slint_interpreter_value_new_bool(bool b);

Box<Value> slint_interpreter_value_new_array_model(const SharedVector<Box<Value>> *a);

Box<Value> slint_interpreter_value_new_brush(const Brush *brush);

Box<Value> slint_interpreter_value_new_struct(const StructOpaque *struc);

Box<Value> slint_interpreter_value_new_image(const Image *img);

Box<Value> slint_interpreter_value_new_model(uint8_t *model, const ModelAdaptorVTable *vtable);

ValueType slint_interpreter_value_type(const Value *val);

const SharedString *slint_interpreter_value_to_string(const Value *val);

const double *slint_interpreter_value_to_number(const Value *val);

const bool *slint_interpreter_value_to_bool(const Value *val);

bool slint_interpreter_value_to_array(const Box<Value> *val, SharedVector<Box<Value>> *out);

const Brush *slint_interpreter_value_to_brush(const Value *val);

const StructOpaque *slint_interpreter_value_to_struct(const Value *val);

const Image *slint_interpreter_value_to_image(const Value *val);

void slint_interpreter_struct_new(StructOpaque *val);

void slint_interpreter_struct_clone(const StructOpaque *other, StructOpaque *val);

void slint_interpreter_struct_destructor(StructOpaque *val);

Value *slint_interpreter_struct_get_field(const StructOpaque *stru, Slice<uint8_t> name);

void slint_interpreter_struct_set_field(StructOpaque *stru,
                                        Slice<uint8_t> name,
                                        const Value *value);

void slint_interpreter_struct_iterator_destructor(StructIteratorOpaque *val);

Value *slint_interpreter_struct_iterator_next(StructIteratorOpaque *iter, Slice<uint8_t> *k);

StructIteratorOpaque slint_interpreter_struct_make_iter(const StructOpaque *stru);

Value *slint_interpreter_component_instance_get_property(const ErasedItemTreeBox *inst,
                                                         Slice<uint8_t> name);

bool slint_interpreter_component_instance_set_property(const ErasedItemTreeBox *inst,
                                                       Slice<uint8_t> name,
                                                       const Value *val);

Value *slint_interpreter_component_instance_invoke(const ErasedItemTreeBox *inst,
                                                   Slice<uint8_t> name,
                                                   Slice<Box<Value>> args);

bool slint_interpreter_component_instance_set_callback(const ErasedItemTreeBox *inst,
                                                       Slice<uint8_t> name,
                                                       Box<Value> (*callback)(void *user_data,
                                                                              Slice<Box<Value>> arg),
                                                       void *user_data,
                                                       void (*drop_user_data)(void*));

Value *slint_interpreter_component_instance_get_global_property(const ErasedItemTreeBox *inst,
                                                                Slice<uint8_t> global,
                                                                Slice<uint8_t> property_name);

bool slint_interpreter_component_instance_set_global_property(const ErasedItemTreeBox *inst,
                                                              Slice<uint8_t> global,
                                                              Slice<uint8_t> property_name,
                                                              const Value *val);

bool slint_interpreter_component_instance_set_global_callback(const ErasedItemTreeBox *inst,
                                                              Slice<uint8_t> global,
                                                              Slice<uint8_t> name,
                                                              Box<Value> (*callback)(void *user_data,
                                                                                     Slice<Box<Value>> arg),
                                                              void *user_data,
                                                              void (*drop_user_data)(void*));

Value *slint_interpreter_component_instance_invoke_global(const ErasedItemTreeBox *inst,
                                                          Slice<uint8_t> global,
                                                          Slice<uint8_t> callable_name,
                                                          Slice<Box<Value>> args);

void slint_interpreter_component_instance_show(const ErasedItemTreeBox *inst, bool is_visible);

void slint_interpreter_component_instance_window(const ErasedItemTreeBox *inst,
                                                 const WindowAdapterRcOpaque **out);

void slint_interpreter_component_instance_create(const ComponentDefinitionOpaque *def,
                                                 ComponentInstance *out);

void slint_interpreter_component_instance_component_definition(const ErasedItemTreeBox *inst,
                                                               ComponentDefinitionOpaque *component_definition_ptr);

void slint_interpreter_model_notify_new(ModelNotifyOpaque *val);

void slint_interpreter_model_notify_destructor(ModelNotifyOpaque *val);

void slint_interpreter_model_notify_row_changed(const ModelNotifyOpaque *notify, uintptr_t row);

void slint_interpreter_model_notify_row_added(const ModelNotifyOpaque *notify,
                                              uintptr_t row,
                                              uintptr_t count);

void slint_interpreter_model_notify_reset(const ModelNotifyOpaque *notify);

void slint_interpreter_model_notify_row_removed(const ModelNotifyOpaque *notify,
                                                uintptr_t row,
                                                uintptr_t count);

void slint_interpreter_component_compiler_new(ComponentCompilerOpaque *compiler);

void slint_interpreter_component_compiler_destructor(ComponentCompilerOpaque *compiler);

void slint_interpreter_component_compiler_set_include_paths(ComponentCompilerOpaque *compiler,
                                                            const SharedVector<SharedString> *paths);

void slint_interpreter_component_compiler_set_style(ComponentCompilerOpaque *compiler,
                                                    Slice<uint8_t> style);

void slint_interpreter_component_compiler_set_translation_domain(ComponentCompilerOpaque *compiler,
                                                                 Slice<uint8_t> translation_domain);

void slint_interpreter_component_compiler_get_style(const ComponentCompilerOpaque *compiler,
                                                    SharedString *style_out);

void slint_interpreter_component_compiler_get_include_paths(const ComponentCompilerOpaque *compiler,
                                                            SharedVector<SharedString> *paths);

void slint_interpreter_component_compiler_get_diagnostics(const ComponentCompilerOpaque *compiler,
                                                          SharedVector<Diagnostic> *out_diags);

bool slint_interpreter_component_compiler_build_from_source(ComponentCompilerOpaque *compiler,
                                                            Slice<uint8_t> source_code,
                                                            Slice<uint8_t> path,
                                                            ComponentDefinitionOpaque *component_definition_ptr);

bool slint_interpreter_component_compiler_build_from_path(ComponentCompilerOpaque *compiler,
                                                          Slice<uint8_t> path,
                                                          ComponentDefinitionOpaque *component_definition_ptr);

void slint_interpreter_component_definition_clone(const ComponentDefinitionOpaque *other,
                                                  ComponentDefinitionOpaque *def);

void slint_interpreter_component_definition_destructor(ComponentDefinitionOpaque *val);

void slint_interpreter_component_definition_properties(const ComponentDefinitionOpaque *def,
                                                       SharedVector<PropertyDescriptor> *props);

void slint_interpreter_component_definition_callbacks(const ComponentDefinitionOpaque *def,
                                                      SharedVector<SharedString> *callbacks);

void slint_interpreter_component_definition_name(const ComponentDefinitionOpaque *def,
                                                 SharedString *name);

void slint_interpreter_component_definition_globals(const ComponentDefinitionOpaque *def,
                                                    SharedVector<SharedString> *names);

bool slint_interpreter_component_definition_global_properties(const ComponentDefinitionOpaque *def,
                                                              Slice<uint8_t> global_name,
                                                              SharedVector<PropertyDescriptor> *properties);

bool slint_interpreter_component_definition_global_callbacks(const ComponentDefinitionOpaque *def,
                                                             Slice<uint8_t> global_name,
                                                             SharedVector<SharedString> *names);

} // extern "C"

} // namespace cbindgen_private
} // namespace slint