diff options
author | fukubayashi.akio <fukubayashi.akio@genetec.co.jp> | 2019-06-03 17:59:13 +0900 |
---|---|---|
committer | fukubayashi.akio <fukubayashi.akio@genetec.co.jp> | 2019-06-03 17:59:13 +0900 |
commit | 98006b6538c5be44350746ec3756f004a5c68af8 (patch) | |
tree | f76ed8991d3837678c00722a23b779c4e2dcb67b /src/wm_layer_control.hpp | |
parent | b6644e5cffa84e40d62e38f4ee0c14e64e0faf48 (diff) |
Add boot sequence and multi ecu transfer
Signed-off-by: fukubayashi.akio <fukubayashi.akio@genetec.co.jp>
Diffstat (limited to 'src/wm_layer_control.hpp')
-rw-r--r-- | src/wm_layer_control.hpp | 38 |
1 files changed, 30 insertions, 8 deletions
diff --git a/src/wm_layer_control.hpp b/src/wm_layer_control.hpp index 68acd66..6eb7a76 100644 --- a/src/wm_layer_control.hpp +++ b/src/wm_layer_control.hpp @@ -27,14 +27,24 @@ namespace wm { class Screen { public: - Screen(unsigned w, unsigned h) : _width(w), _height(h){} - unsigned width() { return _width; } - unsigned height() { return _height; } + Screen(unsigned id, unsigned w, unsigned h) : _screen_id(id), _width(w), _height(h){} + unsigned width() const { return _width; } + unsigned height() const { return _height; } + unsigned id() const { return _screen_id; } + unsigned scale() const { return _scale; } + int offsetX() const { return _offset_x; } + int offsetY() const { return _offset_y; } + void setScale(double scl) { this->_scale = scl; } + void setOffset(int x, int y) { this->_offset_x = x; this->_offset_y = y; } private: + unsigned _screen_id; unsigned _width; unsigned _height; unsigned _pysical_width = 0; unsigned _pysical_height = 0; + int _offset_x = 0; + int _offset_y = 0; + double _scale = 1.0; }; class LayerControlCallbacks { @@ -60,18 +70,21 @@ class WMClient; class LayerControl { public: - explicit LayerControl(const std::string& root); + explicit LayerControl(const std::string& root, const std::string& ecu_name); ~LayerControl() = default; WMError init(const LayerControlCallbacks& cb); void createNewLayer(unsigned id); - unsigned getNewLayerID(const std::string& role); + void createNewRemoteLayer(unsigned id); + unsigned getNewLayerID(const std::string& role, std::string* layer_name); std::shared_ptr<WMLayer> getWMLayer(unsigned layer); std::shared_ptr<WMLayer> getWMLayer(std::string layer_name); struct rect getAreaSize(const std::string& area); void setupArea(const rectangle& base_rct, double scaling); Screen getScreenInfo(); double scale(); + WMError updateLayer(LayerState& layer_state); WMError renderLayers(); + // WMError renderLayersRemote(); WMError setXDGSurfaceOriginSize(unsigned surface); void undoUpdate(); WMError layoutChange(const WMAction& action); @@ -87,23 +100,32 @@ class LayerControl void dispatchSurfacePropChangeEvent(unsigned id, struct ilmSurfaceProperties*, t_ilm_notification_mask); void dispatchLayerPropChangeEvent(unsigned id, struct ilmLayerProperties*, t_ilm_notification_mask); + bool hasRemoteLayer(unsigned layer); + private: WMError makeVisible(const std::shared_ptr<WMClient> client); WMError makeInvisible(const std::shared_ptr<WMClient> client); bool moveForeGround(const std::shared_ptr<WMClient> client); bool moveBackGround(const std::shared_ptr<WMClient> client); + bool moveRemote(unsigned layer, const std::string& area); + bool moveLocal(unsigned layer); + int loadWestonSetting(const std::string &path); WMError loadLayerSetting(const std::string& path); - WMError loadAreaDb(const std::string& path); + WMError loadAreasConfigFile(const std::string& path, const std::string& ecu_name); std::vector<std::shared_ptr<WMLayer>> wm_layers; + std::vector<Screen> wm_screens; std::unordered_map<unsigned, unsigned> lid2wmlid; std::unordered_map<std::string, struct rect> area2size; unsigned screenID; - struct ilmScreenProperties screen_prop; + double scaling; int offset_x; int offset_y; LayerControlCallbacks cb; + + long times; + long sleep; }; -} // namespace wm
\ No newline at end of file +} // namespace wm |