#include "rute.h"
#include <map>
#include <stdint.h>
static char* s_temp_string_buffer = nullptr;
static int s_largest_string_size = 0;
std::map<void*, void*> s_host_data_lookup;
const char* q_string_to_const_char(const QString& ret_value) {
QByteArray ba = ret_value.toUtf8();
const char* c_str = ba.data();
int size = ba.size() + 1;
if (size > s_largest_string_size) {
delete[] s_temp_string_buffer;
s_temp_string_buffer = new char[size];
s_largest_string_size = size;
}
memcpy(s_temp_string_buffer, c_str, size);
return s_temp_string_buffer;
}
static struct RuteFFI s_rute = {
create_application,
get_application,
create_bitmap,
get_bitmap,
create_brush,
create_color,
get_color,
get_core_application,
create_cursor,
get_cursor,
create_font,
get_font,
create_gradient,
create_grid_layout,
get_gui_application,
create_icon,
get_icon,
create_image,
get_image,
create_key_sequence,
get_key_sequence,
create_line,
create_line_edit,
create_line_f,
get_line_f,
create_list_widget,
create_list_widget_item,
create_margins,
create_matrix,
create_mime_data,
create_object,
create_paint_engine_state,
create_painter,
get_painter,
create_palette,
create_pen,
create_pixel_format,
create_pixmap,
get_pixmap,
create_point,
get_point,
create_point_f,
get_point_f,
create_polygon,
create_polygon_f,
create_push_button,
create_rect,
create_rect_f,
create_region,
create_size,
create_size_f,
create_size_policy,
create_surface_format,
get_surface_format,
create_tool_button,
create_transform,
get_transform,
create_widget,
get_widget,
create_window,
get_window,
};
extern "C" struct RuteFFI* rute_static_ffi_get() {
return (RuteFFI*)&s_rute;
}