gpui: Make screen capture dependency optional (#32937)
Add `screen-capture` feature to gpui to enable screen capture support. The motivation for this is to make dependencies on scap / x11 / xcb optional. Release Notes: - N/A --------- Co-authored-by: Michael Sloan <michael@zed.dev>
This commit is contained in:
parent
6d09f3fa40
commit
9dc3ac9657
12 changed files with 73 additions and 33 deletions
|
@ -15,7 +15,6 @@ use calloop::{
|
|||
generic::{FdWrapper, Generic},
|
||||
};
|
||||
use collections::HashMap;
|
||||
use futures::channel::oneshot;
|
||||
use http_client::Url;
|
||||
use log::Level;
|
||||
use smallvec::SmallVec;
|
||||
|
@ -59,13 +58,12 @@ use crate::platform::{
|
|||
reveal_path_internal,
|
||||
xdg_desktop_portal::{Event as XDPEvent, XDPEventSource},
|
||||
},
|
||||
scap_screen_capture::scap_screen_sources,
|
||||
};
|
||||
use crate::{
|
||||
AnyWindowHandle, Bounds, ClipboardItem, CursorStyle, DisplayId, FileDropEvent, Keystroke,
|
||||
LinuxKeyboardLayout, Modifiers, ModifiersChangedEvent, MouseButton, Pixels, Platform,
|
||||
PlatformDisplay, PlatformInput, PlatformKeyboardLayout, Point, RequestFrameOptions,
|
||||
ScaledPixels, ScreenCaptureSource, ScrollDelta, Size, TouchPhase, WindowParams, X11Window,
|
||||
ScaledPixels, ScrollDelta, Size, TouchPhase, WindowParams, X11Window,
|
||||
modifiers_from_xinput_info, point, px,
|
||||
};
|
||||
|
||||
|
@ -1479,14 +1477,19 @@ impl LinuxClient for X11Client {
|
|||
))
|
||||
}
|
||||
|
||||
#[cfg(feature = "screen-capture")]
|
||||
fn is_screen_capture_supported(&self) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
#[cfg(feature = "screen-capture")]
|
||||
fn screen_capture_sources(
|
||||
&self,
|
||||
) -> oneshot::Receiver<anyhow::Result<Vec<Box<dyn ScreenCaptureSource>>>> {
|
||||
scap_screen_sources(&self.0.borrow().common.foreground_executor)
|
||||
) -> futures::channel::oneshot::Receiver<anyhow::Result<Vec<Box<dyn crate::ScreenCaptureSource>>>>
|
||||
{
|
||||
crate::platform::scap_screen_capture::scap_screen_sources(
|
||||
&self.0.borrow().common.foreground_executor,
|
||||
)
|
||||
}
|
||||
|
||||
fn open_window(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue