/* * Copyright © 2013 Canonical Ltd. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License version 3, * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Authored by: Eleni Maria Stea */ #ifndef MIR_GRAPHICS_NESTED_NESTED_DISPLAY_CONFIGURATION_H_ #define MIR_GRAPHICS_NESTED_NESTED_DISPLAY_CONFIGURATION_H_ #include "mir/graphics/display_configuration.h" #include "mir_api_wrappers.h" namespace mir { namespace graphics { namespace nested { class NestedDisplayConfiguration : public DisplayConfiguration { public: explicit NestedDisplayConfiguration(MirDisplayConfiguration* display_config); virtual ~NestedDisplayConfiguration() noexcept; void for_each_card(std::function) const; void for_each_output(std::function) const; void configure_output(DisplayConfigurationOutputId id, bool used, geometry::Point top_left, size_t mode_index, MirPowerMode power_mode); operator MirDisplayConfiguration*() const { return display_config; } private: mir_api_wrappers::MirDisplayConfigHandle display_config; }; } } } #endif // MIR_GRAPHICS_NESTED_NESTED_DISPLAY_CONFIGURATION_H_