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 "font_ffi.h"

struct RUFontFuncs;
struct RUFont;

typedef struct RUFontFuncs {
    void (*destroy)(struct RUBase* self);
    void (*swap)(struct RUBase* self_c, struct RUBase* other);
    const char* (*family)(struct RUBase* self_c);
    void (*set_family)(struct RUBase* self_c, const char* arg0);
    const char* (*style_name)(struct RUBase* self_c);
    void (*set_style_name)(struct RUBase* self_c, const char* arg0);
    int (*point_size)(struct RUBase* self_c);
    void (*set_point_size)(struct RUBase* self_c, int arg0);
    float (*point_size_f)(struct RUBase* self_c);
    void (*set_point_size_f)(struct RUBase* self_c, float arg0);
    int (*pixel_size)(struct RUBase* self_c);
    void (*set_pixel_size)(struct RUBase* self_c, int arg0);
    int (*weight)(struct RUBase* self_c);
    void (*set_weight)(struct RUBase* self_c, int arg0);
    bool (*bold)(struct RUBase* self_c);
    void (*set_bold)(struct RUBase* self_c, bool arg0);
    bool (*italic)(struct RUBase* self_c);
    void (*set_italic)(struct RUBase* self_c, bool b);
    bool (*underline)(struct RUBase* self_c);
    void (*set_underline)(struct RUBase* self_c, bool arg0);
    bool (*overline)(struct RUBase* self_c);
    void (*set_overline)(struct RUBase* self_c, bool arg0);
    bool (*fixed_pitch)(struct RUBase* self_c);
    void (*set_fixed_pitch)(struct RUBase* self_c, bool arg0);
    bool (*kerning)(struct RUBase* self_c);
    void (*set_kerning)(struct RUBase* self_c, bool arg0);
    int (*style_hint)(struct RUBase* self_c);
    void (*set_style_hint)(struct RUBase* self_c, int arg0, int arg1);
    float (*letter_spacing)(struct RUBase* self_c);
    int (*letter_spacing_type)(struct RUBase* self_c);
    void (*set_letter_spacing)(struct RUBase* self_c, int stype, float spacing);
    float (*word_spacing)(struct RUBase* self_c);
    void (*set_word_spacing)(struct RUBase* self_c, float spacing);
    void (*set_capitalization)(struct RUBase* self_c, int arg0);
    int (*capitalization)(struct RUBase* self_c);
    void (*set_hinting_preference)(struct RUBase* self_c,
                                   int hinting_preference);
    int (*hinting_preference)(struct RUBase* self_c);
    bool (*raw_mode)(struct RUBase* self_c);
    void (*set_raw_mode)(struct RUBase* self_c, bool arg0);
    bool (*exact_match)(struct RUBase* self_c);
    bool (*is_copy_of)(struct RUBase* self_c, struct RUBase* arg0);
    void (*set_raw_name)(struct RUBase* self_c, const char* arg0);
    const char* (*raw_name)(struct RUBase* self_c);
    const char* (*key)(struct RUBase* self_c);
    const char* (*substitute)(struct RUBase* self_c, const char* arg0);
    void (*insert_substitution)(struct RUBase* self_c, const char* arg0,
                                const char* arg1);
    void (*remove_substitutions)(struct RUBase* self_c, const char* arg0);
    void (*initialize)(struct RUBase* self_c);
    void (*cleanup)(struct RUBase* self_c);
    void (*cache_statistics)(struct RUBase* self_c);
    const char* (*default_family)(struct RUBase* self_c);
    const char* (*last_resort_family)(struct RUBase* self_c);
    const char* (*last_resort_font)(struct RUBase* self_c);
    struct RUFont (*resolve)(struct RUBase* self_c, struct RUBase* arg0);
    uint64_t (*resolve_2)(struct RUBase* self_c);
    void (*resolve_3)(struct RUBase* self_c, uint64_t mask);
} RUFontFuncs;

typedef struct RUFontAllFuncs {
    struct RUFontFuncs* font_funcs;
} RUFontAllFuncs;

typedef struct RUFont {
    RUBase* qt_data;
    RUBase* host_data;
    struct RUFontAllFuncs* all_funcs;
} RUFont;

extern RUFontFuncs s_font_funcs;
extern RUFontAllFuncs s_font_all_funcs;

#ifdef __cplusplus
}
#endif