Use updated screencopy abstraction
Requires https://github.com/pop-os/cosmic-protocols/pull/46.
This commit is contained in:
parent
ba52d69421
commit
a977667ac5
10 changed files with 453 additions and 532 deletions
|
|
@ -1,11 +1,6 @@
|
|||
use cctk::{
|
||||
cosmic_protocols::{
|
||||
screencopy::v2::client::zcosmic_screencopy_session_v2,
|
||||
toplevel_info::v1::client::zcosmic_toplevel_handle_v1,
|
||||
workspace::v1::client::zcosmic_workspace_handle_v1,
|
||||
},
|
||||
screencopy::ScreencopyState,
|
||||
wayland_client::{protocol::wl_output, Proxy, QueueHandle},
|
||||
screencopy::{CaptureSession, CaptureSource, ScreencopyState},
|
||||
wayland_client::QueueHandle,
|
||||
};
|
||||
use cosmic::cctk;
|
||||
|
||||
|
|
@ -13,15 +8,6 @@ use std::sync::{Arc, Mutex};
|
|||
|
||||
use super::{AppData, ScreencopySession, SessionData};
|
||||
|
||||
#[derive(Clone, Debug, Hash, PartialEq, Eq)]
|
||||
pub enum CaptureSource {
|
||||
Toplevel(zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1),
|
||||
Workspace(
|
||||
zcosmic_workspace_handle_v1::ZcosmicWorkspaceHandleV1,
|
||||
wl_output::WlOutput,
|
||||
),
|
||||
}
|
||||
|
||||
pub struct Capture {
|
||||
pub source: CaptureSource,
|
||||
pub session: Mutex<Option<ScreencopySession>>,
|
||||
|
|
@ -37,9 +23,7 @@ impl Capture {
|
|||
|
||||
// Returns `None` if capture is destroyed
|
||||
// (or if `session` wasn't created with `SessionData`)
|
||||
pub fn for_session(
|
||||
session: &zcosmic_screencopy_session_v2::ZcosmicScreencopySessionV2,
|
||||
) -> Option<Arc<Self>> {
|
||||
pub fn for_session(session: &CaptureSession) -> Option<Arc<Self>> {
|
||||
session.data::<SessionData>()?.capture.upgrade()
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue