#pragma once
#include <stdbool.h>
#include <stdint.h>
#include "../rute_base.h"
#ifdef __cplusplus
extern "C" {
#endif
#include "polygon_f_ffi.h"
#include "polygon_ffi.h"
#include "rect_f_ffi.h"
struct RUPolygonFFuncs;
struct RUPolygonF;
typedef struct RUPolygonFFuncs {
void (*destroy)(struct RUBase* self);
void (*swap)(struct RUBase* self_c, struct RUBase* other);
struct RUPolygon (*to_polygon)(struct RUBase* self_c);
bool (*is_closed)(struct RUBase* self_c);
struct RURectF (*bounding_rect)(struct RUBase* self_c);
bool (*contains_point)(struct RUBase* self_c, struct RUBase* pt,
int fill_rule);
struct RUPolygonF (*united)(struct RUBase* self_c, struct RUBase* r);
struct RUPolygonF (*intersected)(struct RUBase* self_c, struct RUBase* r);
bool (*intersects)(struct RUBase* self_c, struct RUBase* r);
} RUPolygonFFuncs;
typedef struct RUPolygonFAllFuncs {
struct RUPolygonFFuncs* polygon_f_funcs;
} RUPolygonFAllFuncs;
typedef struct RUPolygonF {
RUBase* qt_data;
RUBase* host_data;
struct RUPolygonFAllFuncs* all_funcs;
} RUPolygonF;
extern RUPolygonFFuncs s_polygon_f_funcs;
extern RUPolygonFAllFuncs s_polygon_f_all_funcs;
#ifdef __cplusplus
}
#endif