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 "rect_ffi.h"
#include "region_ffi.h"

struct RURegionFuncs;
struct RURegion;

typedef struct RURegionFuncs {
    void (*destroy)(struct RUBase* self);
    void (*swap)(struct RUBase* self_c, struct RUBase* other);
    bool (*is_empty)(struct RUBase* self_c);
    bool (*is_null)(struct RUBase* self_c);
    bool (*contains)(struct RUBase* self_c, struct RUBase* p);
    bool (*contains_2)(struct RUBase* self_c, struct RUBase* r);
    struct RURegion (*united)(struct RUBase* self_c, struct RUBase* r);
    struct RURegion (*united_2)(struct RUBase* self_c, struct RUBase* r);
    struct RURegion (*intersected)(struct RUBase* self_c, struct RUBase* r);
    struct RURegion (*intersected_2)(struct RUBase* self_c, struct RUBase* r);
    struct RURegion (*xored)(struct RUBase* self_c, struct RUBase* r);
    bool (*intersects)(struct RUBase* self_c, struct RUBase* r);
    bool (*intersects_2)(struct RUBase* self_c, struct RUBase* r);
    struct RURect (*bounding_rect)(struct RUBase* self_c);
    void (*set_rects)(struct RUBase* self_c, struct RUBase* rect, int num);
    int (*rect_count)(struct RUBase* self_c);
} RURegionFuncs;

typedef struct RURegionAllFuncs {
    struct RURegionFuncs* region_funcs;
} RURegionAllFuncs;

typedef struct RURegion {
    RUBase* qt_data;
    RUBase* host_data;
    struct RURegionAllFuncs* all_funcs;
} RURegion;

extern RURegionFuncs s_region_funcs;
extern RURegionAllFuncs s_region_all_funcs;

#ifdef __cplusplus
}
#endif