From d6b295b89882b61ddefc4bed4b6f8dad0181d170 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Sun, 20 Oct 2019 12:27:29 -0400 Subject: Add remote display support Apply a heavily refactored version of the remote display changes from the CES 2019 demo #3 source demo3/common/agl-service-windowmanager in: https://git.automotivelinux.org/staging/new-apps The refactoring of the extracted changes has been done with an eye to reduce code duplication and minimize the changes to existing code. As well, the required default policy manager changes missing in the demo #3 tree have been added to produce a working default policy. At present the configuration has been hard-coded to assume use of the tbtnavi application on a Weston remoting display, but testing has also been done with a second display on one board. The changes should not impact operation of any other application, as only applications with roles listed in the "Remote" layer definition can be displayed on a configured second Weston screen. Bug-AGL: SPEC-2914 Signed-off-by: Scott Murray Change-Id: I29380bbbec46969b75ed4fe7e8095db772524082 --- src/wm_layer_control.hpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/wm_layer_control.hpp') diff --git a/src/wm_layer_control.hpp b/src/wm_layer_control.hpp index 68acd66..e675e12 100644 --- a/src/wm_layer_control.hpp +++ b/src/wm_layer_control.hpp @@ -1,5 +1,6 @@ /* * Copyright (c) 2017 TOYOTA MOTOR CORPORATION + * Copyright (c) 2019 Konsulko Group * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -63,8 +64,8 @@ class LayerControl explicit LayerControl(const std::string& root); ~LayerControl() = default; WMError init(const LayerControlCallbacks& cb); - void createNewLayer(unsigned id); - unsigned getNewLayerID(const std::string& role); + void createNewLayer(unsigned id, bool remote = false); + unsigned getNewLayerID(const std::string& role, std::string* layer_name = nullptr); std::shared_ptr getWMLayer(unsigned layer); std::shared_ptr getWMLayer(std::string layer_name); struct rect getAreaSize(const std::string& area); @@ -99,6 +100,7 @@ class LayerControl std::unordered_map lid2wmlid; std::unordered_map area2size; unsigned screenID; + signed remoteScreenID; struct ilmScreenProperties screen_prop; double scaling; int offset_x; @@ -106,4 +108,4 @@ class LayerControl LayerControlCallbacks cb; }; -} // namespace wm \ No newline at end of file +} // namespace wm -- cgit 1.2.3-korg