refact: remove virtual_display_driver (#7915)

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou
2024-05-06 15:26:21 +08:00
committed by GitHub
parent 846522037f
commit 937cea5a01
8 changed files with 32 additions and 52 deletions

View File

@@ -57,7 +57,7 @@ use std::{
#[cfg(not(any(target_os = "android", target_os = "ios")))]
use system_shutdown;
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
use crate::virtual_display_manager;
#[cfg(not(any(target_os = "ios")))]
use std::collections::HashSet;
@@ -1136,7 +1136,6 @@ impl Connection {
"is_installed".into(),
json!(crate::platform::is_installed()),
);
#[cfg(feature = "virtual_display_driver")]
if crate::platform::is_installed() {
platform_additions.extend(virtual_display_manager::get_platform_additions());
}
@@ -1231,9 +1230,9 @@ impl Connection {
} else {
#[cfg(not(any(target_os = "android", target_os = "ios")))]
{
#[cfg(not(all(windows, feature = "virtual_display_driver")))]
#[cfg(not(windows))]
let displays = display_service::try_get_displays();
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
let displays = display_service::try_get_displays_add_amyuni_headless();
pi.resolutions = Some(SupportedResolutions {
resolutions: displays
@@ -2210,7 +2209,7 @@ impl Connection {
let set = displays.set.iter().map(|d| *d as usize).collect::<Vec<_>>();
self.capture_displays(&add, &sub, &set).await;
}
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
Some(misc::Union::ToggleVirtualDisplay(t)) => {
self.toggle_virtual_display(t).await;
}
@@ -2598,7 +2597,7 @@ impl Connection {
}
}
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
async fn toggle_virtual_display(&mut self, t: ToggleVirtualDisplay) {
let make_msg = |text: String| {
let mut msg_out = Message::new();
@@ -2655,7 +2654,7 @@ impl Connection {
let display_idx = d.unwrap_or(self.display_idx);
if let Some(display) = displays.get(display_idx) {
let name = display.name();
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
if let Some(_ok) =
virtual_display_manager::rustdesk_idd::change_resolution_if_is_virtual_display(
&name,
@@ -2666,7 +2665,7 @@ impl Connection {
return;
}
let mut record_changed = true;
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
if virtual_display_manager::amyuni_idd::is_my_display(&name) {
record_changed = false;
}
@@ -3724,7 +3723,7 @@ mod raii {
}
#[cfg(not(any(target_os = "android", target_os = "ios")))]
display_service::reset_resolutions();
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
let _ = virtual_display_manager::reset_all();
}
Self::check_wake_lock();

View File

@@ -1,7 +1,7 @@
use super::*;
#[cfg(target_os = "linux")]
use crate::platform::linux::is_x11;
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
use crate::virtual_display_manager;
#[cfg(windows)]
use hbb_common::get_version_number;
@@ -12,7 +12,7 @@ use scrap::Display;
pub const NAME: &'static str = "display";
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
const DUMMY_DISPLAY_SIDE_MAX_SIZE: usize = 1024;
struct ChangedResolution {
@@ -158,7 +158,7 @@ fn displays_to_msg(displays: Vec<DisplayInfo>) -> Message {
};
pi.displays = displays.clone();
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
if crate::platform::is_installed() {
let m = crate::virtual_display_manager::get_platform_additions();
pi.platform_additions = serde_json::to_string(&m).unwrap_or_default();
@@ -219,10 +219,10 @@ pub(super) fn get_original_resolution(
w: usize,
h: usize,
) -> MessageField<Resolution> {
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
let is_rustdesk_virtual_display =
crate::virtual_display_manager::rustdesk_idd::is_virtual_display(&display_name);
#[cfg(not(all(windows, feature = "virtual_display_driver")))]
#[cfg(not(windows))]
let is_rustdesk_virtual_display = false;
Some(if is_rustdesk_virtual_display {
Resolution {
@@ -342,7 +342,7 @@ pub fn get_primary_2(all: &Vec<Display>) -> usize {
}
#[inline]
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
fn no_displays(displays: &Vec<Display>) -> bool {
let display_len = displays.len();
if display_len == 0 {
@@ -367,13 +367,13 @@ fn no_displays(displays: &Vec<Display>) -> bool {
}
#[inline]
#[cfg(not(all(windows, feature = "virtual_display_driver")))]
#[cfg(not(windows))]
pub fn try_get_displays() -> ResultType<Vec<Display>> {
Ok(Display::all()?)
}
#[inline]
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
pub fn try_get_displays() -> ResultType<Vec<Display>> {
try_get_displays_(false)
}
@@ -383,13 +383,13 @@ pub fn try_get_displays() -> ResultType<Vec<Display>> {
// So when using amyuni idd, we only add a virtual display for headless if it is required.
// eg. when the client is connecting.
#[inline]
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
pub fn try_get_displays_add_amyuni_headless() -> ResultType<Vec<Display>> {
try_get_displays_(true)
}
#[inline]
#[cfg(all(windows, feature = "virtual_display_driver"))]
#[cfg(windows)]
pub fn try_get_displays_(add_amyuni_headless: bool) -> ResultType<Vec<Display>> {
let mut displays = Display::all()?;