Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
google
GitHub Repository: google/crosvm
Path: blob/main/gpu_display/src/gpu_display_win/virtual_display_manager.rs
5394 views
1
// Copyright 2023 The ChromiumOS Authors
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
use euclid::Box2D;
6
use euclid::Size2D;
7
use euclid::Transform2D;
8
9
use super::HostWindowSpace;
10
use super::VirtualDisplaySpace;
11
12
type HostWindowSize = Size2D<i32, HostWindowSpace>;
13
type VirtualDisplaySize = Size2D<i32, VirtualDisplaySpace>;
14
type HostToGuestTransform = Transform2D<f64, HostWindowSpace, VirtualDisplaySpace>;
15
16
/// This struct is managing the host window to guest display coordinates transform.
17
pub struct NoopVirtualDisplayManager {
18
host_to_guest_transform: HostToGuestTransform,
19
}
20
21
impl NoopVirtualDisplayManager {
22
pub fn new(
23
_host_viewport_size: &HostWindowSize,
24
_virtual_display_size: &VirtualDisplaySize,
25
) -> Self {
26
Self {
27
host_to_guest_transform: Default::default(),
28
}
29
}
30
31
/// Returns the rectangle to show the virtual display in the host window coordinate.
32
pub fn get_virtual_display_projection_box(&self) -> Box2D<i32, HostWindowSpace> {
33
Default::default()
34
}
35
36
pub fn update_host_guest_transforms(&mut self, _host_viewport_size: &HostWindowSize) {}
37
38
pub fn get_host_to_guest_transform(&self) -> &HostToGuestTransform {
39
&self.host_to_guest_transform
40
}
41
}
42
43