#pragma once
#include <stdbool.h>
#include <stdint.h>
#include "../rute_base.h"
#ifdef __cplusplus
extern "C" {
#endif
struct RUPixelFormatFuncs;
struct RUPixelFormat;
typedef struct RUPixelFormatFuncs {
void (*destroy)(struct RUBase* self);
uint32_t (*color_model)(struct RUBase* self_c);
uint8_t (*channel_count)(struct RUBase* self_c);
uint8_t (*red_size)(struct RUBase* self_c);
uint8_t (*green_size)(struct RUBase* self_c);
uint8_t (*blue_size)(struct RUBase* self_c);
uint8_t (*cyan_size)(struct RUBase* self_c);
uint8_t (*magenta_size)(struct RUBase* self_c);
uint8_t (*yellow_size)(struct RUBase* self_c);
uint8_t (*black_size)(struct RUBase* self_c);
uint8_t (*hue_size)(struct RUBase* self_c);
uint8_t (*saturation_size)(struct RUBase* self_c);
uint8_t (*lightness_size)(struct RUBase* self_c);
uint8_t (*brightness_size)(struct RUBase* self_c);
uint8_t (*alpha_size)(struct RUBase* self_c);
uint8_t (*bits_per_pixel)(struct RUBase* self_c);
uint32_t (*alpha_usage)(struct RUBase* self_c);
uint32_t (*alpha_position)(struct RUBase* self_c);
uint32_t (*premultiplied)(struct RUBase* self_c);
uint32_t (*type_interpretation)(struct RUBase* self_c);
uint32_t (*byte_order)(struct RUBase* self_c);
uint32_t (*yuv_layout)(struct RUBase* self_c);
uint8_t (*sub_enum)(struct RUBase* self_c);
} RUPixelFormatFuncs;
typedef struct RUPixelFormatAllFuncs {
struct RUPixelFormatFuncs* pixel_format_funcs;
} RUPixelFormatAllFuncs;
typedef struct RUPixelFormat {
RUBase* qt_data;
RUBase* host_data;
struct RUPixelFormatAllFuncs* all_funcs;
} RUPixelFormat;
extern RUPixelFormatFuncs s_pixel_format_funcs;
extern RUPixelFormatAllFuncs s_pixel_format_all_funcs;
#ifdef __cplusplus
}
#endif