1#pragma once
2
3/* Generated with cbindgen:0.26.0 */
4
5#include <cstdarg>
6#include <cstdint>
7#include <cstdlib>
8#include <ostream>
9#include <new>
10#include "slint_image_internal.h"
11#include "slint_internal.h"
12
13namespace slint::cbindgen_private { struct WindowProperties; }
14
15
16namespace slint {
17namespace cbindgen_private {
18
19/// a Repr(C) variant of slint::platform::LayoutConstraints
20struct LayoutConstraintsReprC {
21 Size min;
22 Size max;
23 Size preferred;
24 bool has_min;
25 bool has_max;
26};
27
28using WindowAdapterUserData = void*;
29
30struct RendererPtr {
31 const void *_a;
32 const void *_b;
33};
34
35using PlatformUserData = void*;
36
37struct PlatformTaskOpaque {
38 const void *_0;
39 const void *_1;
40};
41
42using SoftwareRendererOpaque = const void*;
43
44using CppRawHandleOpaque = const void*;
45
46using SkiaRendererOpaque = const void*;
47
48extern "C" {
49
50void slint_windowrc_init(WindowAdapterRcOpaque *out);
51
52void slint_ensure_backend();
53
54/// Enters the main event loop.
55void slint_run_event_loop(bool quit_on_last_window_closed);
56
57/// Will execute the given functor in the main thread
58void slint_post_event(void (*event)(void *user_data),
59 void *user_data,
60 void (*drop_user_data)(void*));
61
62void slint_quit_event_loop();
63
64void slint_register_font_from_path(const WindowAdapterRcOpaque *win,
65 const SharedString *path,
66 SharedString *error_str);
67
68void slint_register_font_from_data(const WindowAdapterRcOpaque *win,
69 Slice<uint8_t> data,
70 SharedString *error_str);
71
72void slint_register_bitmap_font(const WindowAdapterRcOpaque *win, const BitmapFont *font_data);
73
74void slint_testing_init_backend();
75
76void slint_window_properties_get_title(const WindowProperties *wp, SharedString *out);
77
78void slint_window_properties_get_background(const WindowProperties *wp, Brush *out);
79
80bool slint_window_properties_get_fullscreen(const WindowProperties *wp);
81
82bool slint_window_properties_get_minimized(const WindowProperties *wp);
83
84bool slint_window_properties_get_maximized(const WindowProperties *wp);
85
86LayoutConstraintsReprC slint_window_properties_get_layout_constraints(const WindowProperties *wp);
87
88void slint_window_adapter_new(WindowAdapterUserData user_data,
89 void (*drop)(WindowAdapterUserData),
90 RendererPtr (*get_renderer_ref)(WindowAdapterUserData),
91 void (*set_visible)(WindowAdapterUserData, bool),
92 void (*request_redraw)(WindowAdapterUserData),
93 IntSize (*size)(WindowAdapterUserData),
94 void (*set_size)(WindowAdapterUserData, IntSize),
95 void (*update_window_properties)(WindowAdapterUserData,
96 const WindowProperties*),
97 bool (*position)(WindowAdapterUserData, Point2D<int32_t>*),
98 void (*set_position)(WindowAdapterUserData, Point2D<int32_t>),
99 WindowAdapterRcOpaque *target);
100
101void slint_platform_register(PlatformUserData user_data,
102 void (*drop)(PlatformUserData),
103 void (*window_factory)(PlatformUserData, WindowAdapterRcOpaque*),
104 uint64_t (*duration_since_start)(PlatformUserData),
105 void (*set_clipboard_text)(PlatformUserData,
106 const SharedString*,
107 Clipboard),
108 bool (*clipboard_text)(PlatformUserData, SharedString*, Clipboard),
109 void (*run_event_loop)(PlatformUserData),
110 void (*quit_event_loop)(PlatformUserData),
111 void (*invoke_from_event_loop)(PlatformUserData, PlatformTaskOpaque));
112
113bool slint_windowrc_has_active_animations(const WindowAdapterRcOpaque *handle);
114
115void slint_platform_update_timers_and_animations();
116
117/// Returns the duration in millisecond until the next timer or `u64::MAX` if there is no pending timers
118uint64_t slint_platform_duration_until_next_timer_update();
119
120void slint_platform_task_drop(PlatformTaskOpaque event);
121
122void slint_platform_task_run(PlatformTaskOpaque event);
123
124SoftwareRendererOpaque slint_software_renderer_new(uint32_t buffer_age);
125
126void slint_software_renderer_drop(SoftwareRendererOpaque r);
127
128IntRect slint_software_renderer_render_rgb8(SoftwareRendererOpaque r,
129 Rgb8Pixel *buffer,
130 uintptr_t buffer_len,
131 uintptr_t pixel_stride);
132
133IntRect slint_software_renderer_render_rgb565(SoftwareRendererOpaque r,
134 uint16_t *buffer,
135 uintptr_t buffer_len,
136 uintptr_t pixel_stride);
137
138void slint_software_renderer_set_rendering_rotation(SoftwareRendererOpaque r, int32_t rotation);
139
140RendererPtr slint_software_renderer_handle(SoftwareRendererOpaque r);
141
142CppRawHandleOpaque slint_new_raw_window_handle_win32(void *hwnd, void *hinstance);
143
144CppRawHandleOpaque slint_new_raw_window_handle_x11_xcb(uint32_t window,
145 uint32_t visual_id,
146 void *connection,
147 int screen);
148
149CppRawHandleOpaque slint_new_raw_window_handle_x11_xlib(unsigned long window,
150 unsigned long visual_id,
151 void *display,
152 int screen);
153
154CppRawHandleOpaque slint_new_raw_window_handle_wayland(void *surface, void *display);
155
156CppRawHandleOpaque slint_new_raw_window_handle_appkit(void *ns_view, void *ns_window);
157
158void slint_raw_window_handle_drop(CppRawHandleOpaque handle);
159
160SkiaRendererOpaque slint_skia_renderer_new(CppRawHandleOpaque handle_opaque, IntSize size);
161
162void slint_skia_renderer_drop(SkiaRendererOpaque r);
163
164void slint_skia_renderer_render(SkiaRendererOpaque r);
165
166RendererPtr slint_skia_renderer_handle(SkiaRendererOpaque r);
167
168extern void free(void *p);
169
170extern void *malloc(uintptr_t size);
171
172} // extern "C"
173
174} // namespace cbindgen_private
175} // namespace slint
176

source code of slint/target/debug/build/slint-cpp-d3acc71f258707cf/out/generated_include/slint_platform_internal.h