1#[cfg(feature = "async")]
2mod async_api;
3#[cfg(target_os = "macos")]
4mod ax_observer;
5mod cache;
6mod engine;
7#[cfg(feature = "linux-alpha")]
8mod linux;
9#[cfg(feature = "linux-alpha")]
10mod linux_observer;
11#[cfg(feature = "linux-alpha")]
12mod linux_runtime_adapter;
13#[cfg(feature = "linux-alpha")]
14mod linux_shell;
15#[cfg(feature = "linux-alpha")]
16mod linux_subscriber;
17#[cfg(target_os = "macos")]
18mod macos;
19#[cfg(target_os = "macos")]
20mod macos_ax;
21mod monitor;
22mod native_subscriber;
23mod observer_bridge;
24pub mod platform;
25mod profile;
26#[cfg(feature = "rich-content")]
27mod rich_clipboard;
28#[cfg(feature = "rich-content")]
29mod rich_convert;
30#[cfg(feature = "rich-content")]
31mod rich_engine;
32#[cfg(feature = "rich-content")]
33mod rich_types;
34mod traits;
35mod types;
36#[cfg(feature = "windows-beta")]
37mod windows;
38#[cfg(feature = "windows-beta")]
39mod windows_observer;
40#[cfg(feature = "windows-beta")]
41mod windows_runtime_adapter;
42#[cfg(feature = "windows-beta")]
43mod windows_subscriber;
44
45#[cfg(feature = "async")]
46pub use async_api::capture_async;
47#[cfg(target_os = "macos")]
48pub use ax_observer::{
49 drain_events_for_monitor as ax_observer_drain_events_for_monitor, AxObserverBridge,
50};
51pub use engine::{capture, try_capture};
52#[cfg(feature = "linux-alpha")]
53pub use linux::{
54 LinuxMonitorBackend, LinuxNativeEventPump, LinuxPlatform, LinuxSelectionMonitor,
55 LinuxSelectionMonitorOptions,
56};
57#[cfg(feature = "linux-alpha")]
58pub use linux_observer::{
59 drain_events_for_monitor as linux_observer_drain_events_for_monitor, LinuxObserverBridge,
60 LinuxObserverLifecycleHook,
61};
62#[cfg(feature = "linux-alpha")]
63pub use linux_runtime_adapter::{
64 install_default_linux_runtime_adapter_if_absent, linux_default_runtime_adapter_state,
65 linux_default_runtime_event_source_registered, set_linux_default_runtime_event_source,
66 LinuxDefaultRuntimeAdapterState, LinuxDefaultRuntimeEventSource,
67};
68#[cfg(feature = "linux-alpha")]
69pub use linux_subscriber::{
70 ensure_linux_native_subscriber_hook_installed, linux_native_subscriber_stats,
71 set_linux_native_runtime_adapter, LinuxNativeRuntimeAdapter, LinuxNativeSubscriberStats,
72};
73#[cfg(target_os = "macos")]
74pub use macos::{
75 MacOSMonitorBackend, MacOSNativeEventPump, MacOSNativeEventSource, MacOSNativeObserverStats,
76 MacOSPlatform, MacOSSelectionMonitor, MacOSSelectionMonitorOptions,
77};
78pub use monitor::{
79 CaptureMetrics, CaptureMonitor, MethodMetrics, MonitorGuardStats, MonitorSpamGuard,
80};
81pub use platform::PlatformCapabilities;
82pub use profile::{AppProfile, AppProfileUpdate, TriState};
83#[cfg(feature = "rich-content")]
84pub use rich_engine::{capture_rich, try_capture_rich};
85#[cfg(feature = "rich-content")]
86pub use rich_types::{
87 CaptureRichOptions, CaptureRichOutcome, CaptureRichSuccess, CapturedContent, ContentMetadata,
88 RichConversion, RichFormat, RichPayload, RichSource,
89};
90pub use traits::{AppAdapter, AppProfileStore, CancelSignal, CapturePlatform, MonitorPlatform};
91pub use types::{
92 ActiveApp, CGPoint, CGRect, CGSize, CaptureFailure, CaptureFailureContext, CaptureMethod,
93 CaptureOptions, CaptureOutcome, CaptureStatus, CaptureSuccess, CaptureTrace, CleanupStatus,
94 FailureKind, PlatformAttemptResult, RetryPolicy, TraceEvent, UserHint, WouldBlock,
95};
96#[cfg(feature = "windows-beta")]
97pub use windows::{
98 WindowsMonitorBackend, WindowsNativeEventPump, WindowsPlatform, WindowsSelectionMonitor,
99 WindowsSelectionMonitorOptions,
100};
101#[cfg(feature = "windows-beta")]
102pub use windows_observer::{
103 drain_events_for_monitor as windows_observer_drain_events_for_monitor, WindowsObserverBridge,
104 WindowsObserverLifecycleHook,
105};
106#[cfg(feature = "windows-beta")]
107pub use windows_runtime_adapter::{
108 install_default_windows_runtime_adapter_if_absent, set_windows_default_runtime_event_source,
109 windows_default_runtime_adapter_state, windows_default_runtime_event_source_registered,
110 WindowsDefaultRuntimeAdapterState, WindowsDefaultRuntimeEventSource,
111};
112#[cfg(feature = "windows-beta")]
113pub use windows_subscriber::{
114 ensure_windows_native_subscriber_hook_installed, set_windows_native_runtime_adapter,
115 windows_native_subscriber_stats, WindowsNativeRuntimeAdapter, WindowsNativeSubscriberStats,
116};