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 "point_f_ffi.h"
#include "rect_f_ffi.h"
#include "rect_ffi.h"
#include "size_f_ffi.h"

struct RURectFFuncs;
struct RURectF;

typedef struct RURectFFuncs {
    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);
    struct RURectF (*normalized)(struct RUBase* self_c);
    float (*left)(struct RUBase* self_c);
    float (*top)(struct RUBase* self_c);
    float (*right)(struct RUBase* self_c);
    float (*bottom)(struct RUBase* self_c);
    float (*x)(struct RUBase* self_c);
    float (*y)(struct RUBase* self_c);
    void (*set_left)(struct RUBase* self_c, float pos);
    void (*set_top)(struct RUBase* self_c, float pos);
    void (*set_right)(struct RUBase* self_c, float pos);
    void (*set_bottom)(struct RUBase* self_c, float pos);
    void (*set_x)(struct RUBase* self_c, float pos);
    void (*set_y)(struct RUBase* self_c, float pos);
    struct RUPointF (*top_left)(struct RUBase* self_c);
    struct RUPointF (*bottom_right)(struct RUBase* self_c);
    struct RUPointF (*top_right)(struct RUBase* self_c);
    struct RUPointF (*bottom_left)(struct RUBase* self_c);
    struct RUPointF (*center)(struct RUBase* self_c);
    void (*set_top_left)(struct RUBase* self_c, struct RUBase* p);
    void (*set_bottom_right)(struct RUBase* self_c, struct RUBase* p);
    void (*set_top_right)(struct RUBase* self_c, struct RUBase* p);
    void (*set_bottom_left)(struct RUBase* self_c, struct RUBase* p);
    void (*move_left)(struct RUBase* self_c, float pos);
    void (*move_top)(struct RUBase* self_c, float pos);
    void (*move_right)(struct RUBase* self_c, float pos);
    void (*move_bottom)(struct RUBase* self_c, float pos);
    void (*move_top_left)(struct RUBase* self_c, struct RUBase* p);
    void (*move_bottom_right)(struct RUBase* self_c, struct RUBase* p);
    void (*move_top_right)(struct RUBase* self_c, struct RUBase* p);
    void (*move_bottom_left)(struct RUBase* self_c, struct RUBase* p);
    void (*move_center)(struct RUBase* self_c, struct RUBase* p);
    void (*move_to)(struct RUBase* self_c, float x, float y);
    void (*move_to_2)(struct RUBase* self_c, struct RUBase* p);
    void (*set_rect)(struct RUBase* self_c, float x, float y, float w, float h);
    void (*set_coords)(struct RUBase* self_c, float x1, float y1, float x2,
                       float y2);
    void (*adjust)(struct RUBase* self_c, float x1, float y1, float x2,
                   float y2);
    struct RURectF (*adjusted)(struct RUBase* self_c, float x1, float y1,
                               float x2, float y2);
    struct RUSizeF (*size)(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 (*set_size)(struct RUBase* self_c, struct RUBase* s);
    bool (*contains)(struct RUBase* self_c, struct RUBase* r);
    bool (*contains_2)(struct RUBase* self_c, struct RUBase* p);
    bool (*contains_3)(struct RUBase* self_c, float x, float y);
    struct RURectF (*united)(struct RUBase* self_c, struct RUBase* other);
    struct RURectF (*intersected)(struct RUBase* self_c, struct RUBase* other);
    bool (*intersects)(struct RUBase* self_c, struct RUBase* r);
    struct RURect (*to_rect)(struct RUBase* self_c);
    struct RURect (*to_aligned_rect)(struct RUBase* self_c);
} RURectFFuncs;

typedef struct RURectFAllFuncs {
    struct RURectFFuncs* rect_f_funcs;
} RURectFAllFuncs;

typedef struct RURectF {
    RUBase* qt_data;
    RUBase* host_data;
    struct RURectFAllFuncs* all_funcs;
} RURectF;

extern RURectFFuncs s_rect_f_funcs;
extern RURectFAllFuncs s_rect_f_all_funcs;

#ifdef __cplusplus
}
#endif