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 | |
13 | namespace slint::cbindgen_private { struct WindowProperties; } |
14 | |
15 | |
16 | namespace slint { |
17 | namespace cbindgen_private { |
18 | |
19 | /// a Repr(C) variant of slint::platform::LayoutConstraints |
20 | struct LayoutConstraintsReprC { |
21 | Size min; |
22 | Size max; |
23 | Size preferred; |
24 | bool has_min; |
25 | bool has_max; |
26 | }; |
27 | |
28 | using WindowAdapterUserData = void*; |
29 | |
30 | struct RendererPtr { |
31 | const void *_a; |
32 | const void *_b; |
33 | }; |
34 | |
35 | using PlatformUserData = void*; |
36 | |
37 | struct PlatformTaskOpaque { |
38 | const void *_0; |
39 | const void *_1; |
40 | }; |
41 | |
42 | using SoftwareRendererOpaque = const void*; |
43 | |
44 | using CppRawHandleOpaque = const void*; |
45 | |
46 | using SkiaRendererOpaque = const void*; |
47 | |
48 | extern "C" { |
49 | |
50 | void slint_windowrc_init(WindowAdapterRcOpaque *out); |
51 | |
52 | void slint_ensure_backend(); |
53 | |
54 | /// Enters the main event loop. |
55 | void slint_run_event_loop(bool quit_on_last_window_closed); |
56 | |
57 | /// Will execute the given functor in the main thread |
58 | void slint_post_event(void (*event)(void *user_data), |
59 | void *user_data, |
60 | void (*drop_user_data)(void*)); |
61 | |
62 | void slint_quit_event_loop(); |
63 | |
64 | void slint_register_font_from_path(const WindowAdapterRcOpaque *win, |
65 | const SharedString *path, |
66 | SharedString *error_str); |
67 | |
68 | void slint_register_font_from_data(const WindowAdapterRcOpaque *win, |
69 | Slice<uint8_t> data, |
70 | SharedString *error_str); |
71 | |
72 | void slint_register_bitmap_font(const WindowAdapterRcOpaque *win, const BitmapFont *font_data); |
73 | |
74 | void slint_testing_init_backend(); |
75 | |
76 | void slint_window_properties_get_title(const WindowProperties *wp, SharedString *out); |
77 | |
78 | void slint_window_properties_get_background(const WindowProperties *wp, Brush *out); |
79 | |
80 | bool slint_window_properties_get_fullscreen(const WindowProperties *wp); |
81 | |
82 | bool slint_window_properties_get_minimized(const WindowProperties *wp); |
83 | |
84 | bool slint_window_properties_get_maximized(const WindowProperties *wp); |
85 | |
86 | LayoutConstraintsReprC slint_window_properties_get_layout_constraints(const WindowProperties *wp); |
87 | |
88 | void 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 | |
101 | void 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 | |
113 | bool slint_windowrc_has_active_animations(const WindowAdapterRcOpaque *handle); |
114 | |
115 | void 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 |
118 | uint64_t slint_platform_duration_until_next_timer_update(); |
119 | |
120 | void slint_platform_task_drop(PlatformTaskOpaque event); |
121 | |
122 | void slint_platform_task_run(PlatformTaskOpaque event); |
123 | |
124 | SoftwareRendererOpaque slint_software_renderer_new(uint32_t buffer_age); |
125 | |
126 | void slint_software_renderer_drop(SoftwareRendererOpaque r); |
127 | |
128 | IntRect slint_software_renderer_render_rgb8(SoftwareRendererOpaque r, |
129 | Rgb8Pixel *buffer, |
130 | uintptr_t buffer_len, |
131 | uintptr_t pixel_stride); |
132 | |
133 | IntRect slint_software_renderer_render_rgb565(SoftwareRendererOpaque r, |
134 | uint16_t *buffer, |
135 | uintptr_t buffer_len, |
136 | uintptr_t pixel_stride); |
137 | |
138 | void slint_software_renderer_set_rendering_rotation(SoftwareRendererOpaque r, int32_t rotation); |
139 | |
140 | RendererPtr slint_software_renderer_handle(SoftwareRendererOpaque r); |
141 | |
142 | CppRawHandleOpaque slint_new_raw_window_handle_win32(void *hwnd, void *hinstance); |
143 | |
144 | CppRawHandleOpaque slint_new_raw_window_handle_x11_xcb(uint32_t window, |
145 | uint32_t visual_id, |
146 | void *connection, |
147 | int screen); |
148 | |
149 | CppRawHandleOpaque slint_new_raw_window_handle_x11_xlib(unsigned long window, |
150 | unsigned long visual_id, |
151 | void *display, |
152 | int screen); |
153 | |
154 | CppRawHandleOpaque slint_new_raw_window_handle_wayland(void *surface, void *display); |
155 | |
156 | CppRawHandleOpaque slint_new_raw_window_handle_appkit(void *ns_view, void *ns_window); |
157 | |
158 | void slint_raw_window_handle_drop(CppRawHandleOpaque handle); |
159 | |
160 | SkiaRendererOpaque slint_skia_renderer_new(CppRawHandleOpaque handle_opaque, IntSize size); |
161 | |
162 | void slint_skia_renderer_drop(SkiaRendererOpaque r); |
163 | |
164 | void slint_skia_renderer_render(SkiaRendererOpaque r); |
165 | |
166 | RendererPtr slint_skia_renderer_handle(SkiaRendererOpaque r); |
167 | |
168 | extern void free(void *p); |
169 | |
170 | extern void *malloc(uintptr_t size); |
171 | |
172 | } // extern "C" |
173 | |
174 | } // namespace cbindgen_private |
175 | } // namespace slint |
176 | |