#pragma once
#include <stdbool.h>
#include <stdint.h>
#include "../rute_base.h"
#ifdef __cplusplus
extern "C" {
#endif
#include "bitmap_ffi.h"
struct RUBitmapFuncs;
struct RUBitmap;
typedef struct RUBitmapFuncs {
void (*destroy)(struct RUBase* self);
void (*swap)(struct RUBase* self_c, struct RUBase* other);
void (*clear)(struct RUBase* self_c);
struct RUBitmap (*from_image)(struct RUBase* self_c, struct RUBase* image,
int flags);
} RUBitmapFuncs;
typedef struct RUBitmapAllFuncs {
struct RUPaintDeviceFuncs* paint_device_funcs;
struct RUPixmapFuncs* pixmap_funcs;
struct RUBitmapFuncs* bitmap_funcs;
} RUBitmapAllFuncs;
typedef struct RUBitmap {
RUBase* qt_data;
RUBase* host_data;
struct RUBitmapAllFuncs* all_funcs;
} RUBitmap;
extern RUBitmapFuncs s_bitmap_funcs;
extern RUBitmapAllFuncs s_bitmap_all_funcs;
#ifdef __cplusplus
}
#endif