rute 0.0.4

UI library implemented on top of Qt
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// This file is auto-generated by rute_gen. DO NOT EDIT
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include "../rute_base.h"
#include "../rute_manual.h"
#include <QScreen>
#include "screen_ffi.h"

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static const char* screen_name(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->name();
    return q_string_to_const_char(ret_value);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static const char* screen_manufacturer(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->manufacturer();
    return q_string_to_const_char(ret_value);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static const char* screen_model(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->model();
    return q_string_to_const_char(ret_value);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static const char* screen_serial_number(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->serialNumber();
    return q_string_to_const_char(ret_value);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static int screen_depth(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->depth();
    return ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static float screen_physical_dots_per_inch_x(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->physicalDotsPerInchX();
    return ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static float screen_physical_dots_per_inch_y(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->physicalDotsPerInchY();
    return ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static float screen_physical_dots_per_inch(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->physicalDotsPerInch();
    return ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static float screen_logical_dots_per_inch_x(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->logicalDotsPerInchX();
    return ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static float screen_logical_dots_per_inch_y(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->logicalDotsPerInchY();
    return ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static float screen_logical_dots_per_inch(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->logicalDotsPerInch();
    return ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static float screen_device_pixel_ratio(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->devicePixelRatio();
    return ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static struct RUSize screen_available_size(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->availableSize();
    WRSize* new_val = new WRSize();
    *new_val = ret_value;
    struct RUSize ctl;
    ctl.qt_data = (struct RUBase*)new_val;
    ctl.host_data = (struct RUBase*)s_host_data_lookup[(void*)new_val];
    ctl.all_funcs = &s_size_all_funcs;
    return ctl;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static struct RUSize screen_virtual_size(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->virtualSize();
    WRSize* new_val = new WRSize();
    *new_val = ret_value;
    struct RUSize ctl;
    ctl.qt_data = (struct RUBase*)new_val;
    ctl.host_data = (struct RUBase*)s_host_data_lookup[(void*)new_val];
    ctl.all_funcs = &s_size_all_funcs;
    return ctl;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static struct RUSize screen_available_virtual_size(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->availableVirtualSize();
    WRSize* new_val = new WRSize();
    *new_val = ret_value;
    struct RUSize ctl;
    ctl.qt_data = (struct RUBase*)new_val;
    ctl.host_data = (struct RUBase*)s_host_data_lookup[(void*)new_val];
    ctl.all_funcs = &s_size_all_funcs;
    return ctl;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static int screen_primary_orientation(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->primaryOrientation();
    return s_screen_orientation_lookup[(int)ret_value];
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static int screen_angle_between(struct RUBase* self_c, int a, int b) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->angleBetween((Qt::ScreenOrientation)s_screen_orientation_lookup[a], (Qt::ScreenOrientation)s_screen_orientation_lookup[b]);
    return ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static bool screen_is_landscape(struct RUBase* self_c, int orientation) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->isLandscape((Qt::ScreenOrientation)s_screen_orientation_lookup[orientation]);
    return ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static float screen_refresh_rate(struct RUBase* self_c) {
    QScreen* qt_value = (QScreen*)self_c;
    auto ret_value = qt_value->refreshRate();
    return ret_value;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

struct RUScreenFuncs s_screen_funcs = {
    screen_name,
    screen_manufacturer,
    screen_model,
    screen_serial_number,
    screen_depth,
    screen_physical_dots_per_inch_x,
    screen_physical_dots_per_inch_y,
    screen_physical_dots_per_inch,
    screen_logical_dots_per_inch_x,
    screen_logical_dots_per_inch_y,
    screen_logical_dots_per_inch,
    screen_device_pixel_ratio,
    screen_available_size,
    screen_virtual_size,
    screen_available_virtual_size,
    screen_primary_orientation,
    screen_angle_between,
    screen_is_landscape,
    screen_refresh_rate,
};

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

struct RUScreenAllFuncs s_screen_all_funcs = {
    &s_screen_funcs,
};