Seregon/StratoSDK

StratoSDK is a framework with a declarative approach similar to Flutter/React, written and designed entirely for Rust.

Rust/27.3 KB/No license
crates/strato-ui-renderer/src/platform/mac/objc/app.h
1#import <AppKit/AppKit.h>
2#import <Carbon/Carbon.h>
3#import <UserNotifications/UserNotifications.h>
4 
5// Our NSApplication subclass.
6@interface WarpApplication : NSApplication
7@end
8 
9// WarpDelegate is the delegate of the NSApp and also all menus.
10@interface WarpDelegate
11 : NSObject <NSApplicationDelegate, NSMenuDelegate, UNUserNotificationCenterDelegate>
12 
13@property(strong) NSMenu *dockMenu;
14 
15@end
16 
17// Functions implemented in Rust.
18void warp_app_will_finish_launching(id app);
19void warp_app_did_become_active(id app);
20void warp_app_did_resign_active(id app);
21void warp_app_will_terminate(id app);
22void warp_app_open_files(id app, id filenames);
23void warp_app_send_global_keybinding(id app, NSUInteger modifiers, NSUInteger key_code);
24void warp_app_new_window(id app);
25void warp_app_window_did_resize(id app);
26void warp_app_window_did_move(id app);
27void warp_app_window_will_close(id app, id window);
28void warp_app_screen_did_change(id app);
29void cpu_awakened(id app);
30void cpu_will_sleep(id app);
31void warp_app_active_window_changed(id app);
32void warp_app_notification_clicked(id app, double date, id data);
33void warp_app_open_urls(id app, id urls);
34void warp_app_os_appearance_changed(id app);
35BOOL warp_app_should_terminate_app(id app);
36BOOL warp_app_should_close_window(id app, id window);
37BOOL warp_app_are_key_bindings_disabled_for_window(id app, id window);
38BOOL warp_app_has_binding_for_keystroke(id app, id event);
39BOOL warp_app_has_custom_action_for_keystroke(id app, id event);
40void warp_app_disable_warning_modal(id app);
41void warp_app_internet_reachability_changed(id app, BOOL can_reach);
42void warp_app_process_modal_response(id app, NSUInteger modal_id, NSModalResponse response,
43 BOOL disable_modal);
44