rute 0.0.4

UI library implemented on top of Qt
// 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 "size_f_ffi.h"
#include "size_ffi.h"

struct RUSizeFFuncs;
struct RUSizeF;

typedef struct RUSizeFFuncs {
    void (*destroy)(struct RUBase* self);
    bool (*is_null)(struct RUBase* self_c);
    bool (*is_empty)(struct RUBase* self_c);
    bool (*is_valid)(struct RUBase* self_c);
    float (*width)(struct RUBase* self_c);
    float (*height)(struct RUBase* self_c);
    void (*set_width)(struct RUBase* self_c, float w);
    void (*set_height)(struct RUBase* self_c, float h);
    void (*scale)(struct RUBase* self_c, float w, float h, int mode);
    void (*scale_2)(struct RUBase* self_c, struct RUBase* s, int mode);
    struct RUSizeF (*scaled)(struct RUBase* self_c, float w, float h, int mode);
    struct RUSizeF (*scaled_2)(struct RUBase* self_c, struct RUBase* s,
                               int mode);
    struct RUSizeF (*expanded_to)(struct RUBase* self_c, struct RUBase* arg0);
    struct RUSizeF (*bounded_to)(struct RUBase* self_c, struct RUBase* arg0);
    float (*rwidth)(struct RUBase* self_c);
    float (*rheight)(struct RUBase* self_c);
    struct RUSize (*to_size)(struct RUBase* self_c);
} RUSizeFFuncs;

typedef struct RUSizeFAllFuncs {
    struct RUSizeFFuncs* size_f_funcs;
} RUSizeFAllFuncs;

typedef struct RUSizeF {
    RUBase* qt_data;
    RUBase* host_data;
    struct RUSizeFAllFuncs* all_funcs;
} RUSizeF;

extern RUSizeFFuncs s_size_f_funcs;
extern RUSizeFAllFuncs s_size_f_all_funcs;

#ifdef __cplusplus
}
#endif