X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fwm_layer_control.hpp;h=e675e120816bdc93127d83359e7b2587df7de4f3;hb=de70b5f128a2b993e88020ff717e763a53e385f7;hp=5244bf5d39fa211de4d8f659d34523337621beb8;hpb=6819f403a6b8a1ab5e8cdffd9fd1460d49045059;p=apps%2Fagl-service-windowmanager.git diff --git a/src/wm_layer_control.hpp b/src/wm_layer_control.hpp index 5244bf5..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 createLayers(); - unsigned getLayerID(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); @@ -73,9 +74,14 @@ class LayerControl double scale(); WMError renderLayers(); WMError setXDGSurfaceOriginSize(unsigned surface); + void undoUpdate(); WMError layoutChange(const WMAction& action); WMError visibilityChange(const WMAction &action); - void addSurface(unsigned surface, unsigned layer); + const std::unordered_map& getAreaList() {return this->area2size;} + WMError updateAreaList(const ChangeAreaReq& req); + WMError getUpdateAreaList(ChangeAreaReq* req); + WMError changeAreaSize(std::shared_ptr client, const std::string& area); + void appTerminated(const std::shared_ptr client); // Don't use this function. void dispatchCreateEvent(ilmObjectType object, unsigned id, bool created); @@ -83,18 +89,18 @@ class LayerControl void dispatchLayerPropChangeEvent(unsigned id, struct ilmLayerProperties*, t_ilm_notification_mask); private: - WMError makeVisible(const std::shared_ptr client, const std::string& role); - WMError makeInvisible(const std::shared_ptr client, const std::string& role); - bool moveForeGround(const std::shared_ptr client, const std::string& role); - bool moveBackGround(const std::shared_ptr client, const std::string& role); + WMError makeVisible(const std::shared_ptr client); + WMError makeInvisible(const std::shared_ptr client); + bool moveForeGround(const std::shared_ptr client); + bool moveBackGround(const std::shared_ptr client); WMError loadLayerSetting(const std::string& path); WMError loadAreaDb(const std::string& path); - std::vector surface_bg; // For CES demo std::vector> wm_layers; std::unordered_map lid2wmlid; std::unordered_map area2size; unsigned screenID; + signed remoteScreenID; struct ilmScreenProperties screen_prop; double scaling; int offset_x; @@ -102,4 +108,4 @@ class LayerControl LayerControlCallbacks cb; }; -} // namespace wm \ No newline at end of file +} // namespace wm