rute 0.0.6

UI library implemented on top of Qt
Documentation
// This file is auto-generated by rute_gen. DO NOT EDIT!
#pragma once

#include <stdbool.h>
#include <stdint.h>

#include "../rute_base.h"

#ifdef __cplusplus
extern "C" {
#endif
#include "desktop_widget_ffi.h"
#include "font_ffi.h"
#include "icon_ffi.h"
#include "palette_ffi.h"
#include "style_ffi.h"
#include "widget_ffi.h"

struct RUApplicationFuncs;
struct RUApplication;

typedef struct RUApplicationFuncs {
    void (*destroy)(struct RUBase* self);
    struct RUStyle (*style)(struct RUBase* self_c);
    void (*set_style)(struct RUBase* self_c, struct RUBase* arg0);
    struct RUStyle (*set_style_2)(struct RUBase* self_c, const char* arg0);
    int (*color_spec)(struct RUBase* self_c);
    void (*set_color_spec)(struct RUBase* self_c, int arg0);
    struct RUPalette (*palette)(struct RUBase* self_c, struct RUBase* arg0);
    struct RUFont (*font)(struct RUBase* self_c);
    struct RUFont (*font_2)(struct RUBase* self_c, struct RUBase* arg0);
    void (*set_window_icon)(struct RUBase* self_c, struct RUBase* icon);
    struct RUIcon (*window_icon)(struct RUBase* self_c);
    struct RUDesktopWidget (*desktop)(struct RUBase* self_c);
    struct RUWidget (*active_popup_widget)(struct RUBase* self_c);
    struct RUWidget (*active_modal_widget)(struct RUBase* self_c);
    struct RUWidget (*focus_widget)(struct RUBase* self_c);
    struct RUWidget (*active_window)(struct RUBase* self_c);
    void (*set_active_window)(struct RUBase* self_c, struct RUBase* act);
    struct RUWidget (*widget_at)(struct RUBase* self_c, struct RUBase* p);
    struct RUWidget (*widget_at_2)(struct RUBase* self_c, int x, int y);
    struct RUWidget (*top_level_at)(struct RUBase* self_c, struct RUBase* p);
    struct RUWidget (*top_level_at_2)(struct RUBase* self_c, int x, int y);
    void (*beep)(struct RUBase* self_c);
    void (*alert)(struct RUBase* self_c, struct RUBase* widget, int duration);
    void (*set_cursor_flash_time)(struct RUBase* self_c, int arg0);
    int (*cursor_flash_time)(struct RUBase* self_c);
    void (*set_double_click_interval)(struct RUBase* self_c, int arg0);
    int (*double_click_interval)(struct RUBase* self_c);
    void (*set_keyboard_input_interval)(struct RUBase* self_c, int arg0);
    int (*keyboard_input_interval)(struct RUBase* self_c);
    void (*set_wheel_scroll_lines)(struct RUBase* self_c, int arg0);
    int (*wheel_scroll_lines)(struct RUBase* self_c);
    void (*set_start_drag_time)(struct RUBase* self_c, int ms);
    int (*start_drag_time)(struct RUBase* self_c);
    void (*set_start_drag_distance)(struct RUBase* self_c, int l);
    int (*start_drag_distance)(struct RUBase* self_c);
    bool (*is_effect_enabled)(struct RUBase* self_c, uint32_t arg0);
    void (*set_effect_enabled)(struct RUBase* self_c, uint32_t arg0,
                               bool enable);
    int (*exec)(struct RUBase* self_c);
    const char* (*style_sheet)(struct RUBase* self_c);
    void (*set_style_sheet)(struct RUBase* self_c, const char* sheet);
    void (*set_auto_sip_enabled)(struct RUBase* self_c, bool enabled);
    bool (*auto_sip_enabled)(struct RUBase* self_c);
    void (*close_all_windows)(struct RUBase* self_c);
    void (*about_qt)(struct RUBase* self_c);
    void (*set_about_to_quit_event)(void* object, void* user_data,
                                    void* wrapped_func,
                                    void (*event)(void*, void* self_c));
} RUApplicationFuncs;

typedef struct RUApplicationAllFuncs {
    struct RUObjectFuncs* object_funcs;
    struct RUCoreApplicationFuncs* core_application_funcs;
    struct RUGuiApplicationFuncs* gui_application_funcs;
    struct RUApplicationFuncs* application_funcs;
} RUApplicationAllFuncs;

typedef struct RUApplication {
    RUBase* qt_data;
    RUBase* host_data;
    struct RUApplicationAllFuncs* all_funcs;
} RUApplication;

extern RUApplicationFuncs s_application_funcs;
extern RUApplicationAllFuncs s_application_all_funcs;

#ifdef __cplusplus
}
#endif