#pragma once
#include <stdbool.h>
#include <stdint.h>
#include "../rute_base.h"
#ifdef __cplusplus
extern "C" {
#endif
#include "point_f_ffi.h"
#include "point_ffi.h"
struct RUWheelEventFuncs;
struct RUWheelEvent;
typedef struct RUWheelEventFuncs {
struct RUPoint (*pixel_delta)(struct RUBase* self_c);
struct RUPoint (*angle_delta)(struct RUBase* self_c);
int (*delta)(struct RUBase* self_c);
int (*orientation)(struct RUBase* self_c);
struct RUPoint (*pos)(struct RUBase* self_c);
struct RUPoint (*global_pos)(struct RUBase* self_c);
int (*x)(struct RUBase* self_c);
int (*y)(struct RUBase* self_c);
int (*global_x)(struct RUBase* self_c);
int (*global_y)(struct RUBase* self_c);
struct RUPointF (*pos_f)(struct RUBase* self_c);
struct RUPointF (*global_pos_f)(struct RUBase* self_c);
int (*buttons)(struct RUBase* self_c);
int (*phase)(struct RUBase* self_c);
bool (*inverted)(struct RUBase* self_c);
int (*source)(struct RUBase* self_c);
} RUWheelEventFuncs;
typedef struct RUWheelEventAllFuncs {
struct RUEventFuncs* event_funcs;
struct RUInputEventFuncs* input_event_funcs;
struct RUWheelEventFuncs* wheel_event_funcs;
} RUWheelEventAllFuncs;
typedef struct RUWheelEvent {
RUBase* qt_data;
RUBase* host_data;
struct RUWheelEventAllFuncs* all_funcs;
} RUWheelEvent;
extern RUWheelEventFuncs s_wheel_event_funcs;
extern RUWheelEventAllFuncs s_wheel_event_all_funcs;
#ifdef __cplusplus
}
#endif