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 { new( _host_viewport_size: &HostWindowSize, _virtual_display_size: &VirtualDisplaySize, ) -> Self22 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. get_virtual_display_projection_box(&self) -> Box2D<i32, HostWindowSpace>32 pub fn get_virtual_display_projection_box(&self) -> Box2D<i32, HostWindowSpace> { 33 Default::default() 34 } 35 update_host_guest_transforms(&mut self, _host_viewport_size: &HostWindowSize)36 pub fn update_host_guest_transforms(&mut self, _host_viewport_size: &HostWindowSize) {} 37 get_host_to_guest_transform(&self) -> &HostToGuestTransform38 pub fn get_host_to_guest_transform(&self) -> &HostToGuestTransform { 39 &self.host_to_guest_transform 40 } 41 } 42