/* * Copyright (c) 2017 TOYOTA MOTOR CORPORATION * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef TMCAGLWM_LAYOUT_HPP #define TMCAGLWM_LAYOUT_HPP #include #include #include #include "result.hpp" #include "wayland_ivi_wm.hpp" namespace wm { struct LayoutState { int main{-1}; int sub{-1}; bool operator==(const LayoutState &b) const { return main == b.main && sub == b.sub; } bool operator!=(const LayoutState &b) const { return !(*this == b); } }; } // namespace wm class LayoutManager { public: explicit LayoutManager(); ~LayoutManager() = default; int initialize(); compositor::rect getAreaSize(const char* area); private: // Disable copy and move LayoutManager(LayoutManager const &) = delete; LayoutManager &operator=(LayoutManager const &) = delete; LayoutManager(LayoutManager &&) = delete; LayoutManager &operator=(LayoutManager &&) = delete; std::unordered_map area2size; int loadAreaDb(); }; #endif // TMCAGLWM_LAYOUT_HPP