2
* Copyright © 2013 Canonical Ltd.
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License version 3,
6
* as published by the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
#include "display_configuration.h"
19
namespace mg = mir::graphics;
20
namespace mgo = mg::offscreen;
21
namespace geom = mir::geometry;
23
mgo::DisplayConfiguration::DisplayConfiguration(geom::Size const& display_size)
24
: output{mg::DisplayConfigurationOutputId{1},
25
mg::DisplayConfigurationCardId{0},
26
mg::DisplayConfigurationOutputType::lvds,
27
{mir_pixel_format_xrgb_8888},
28
{mg::DisplayConfigurationMode{display_size,0.0f}},
35
mir_pixel_format_xrgb_8888,
37
mir_orientation_normal,
39
mir_form_factor_monitor,
40
mir_subpixel_arrangement_unknown,
42
mir_output_gamma_unsupported,
44
card{mg::DisplayConfigurationCardId{0}, 1}
48
mgo::DisplayConfiguration::DisplayConfiguration(DisplayConfiguration const& other)
49
: mg::DisplayConfiguration(),
55
mgo::DisplayConfiguration&
56
mgo::DisplayConfiguration::operator=(DisplayConfiguration const& other)
60
output = other.output;
66
void mgo::DisplayConfiguration::for_each_card(
67
std::function<void(mg::DisplayConfigurationCard const&)> f) const
72
void mgo::DisplayConfiguration::for_each_output(
73
std::function<void(mg::DisplayConfigurationOutput const&)> f) const
78
void mgo::DisplayConfiguration::for_each_output(
79
std::function<void(mg::UserDisplayConfigurationOutput&)> f)
81
mg::UserDisplayConfigurationOutput user(output);
85
std::unique_ptr<mg::DisplayConfiguration> mgo::DisplayConfiguration::clone() const
87
return std::make_unique<mgo::DisplayConfiguration>(*this);