Demonstrate custom display configuration policies for "sidebyside" and "single"
#include <algorithm>
#include <unordered_map>
#include <stdexcept>
namespace
{
{
}
}
bool with_alpha)
: base_policy{base_policy},
with_alpha{with_alpha}
{}
{
base_policy->apply_to(conf);
conf.for_each_output(
[&](graphics::UserDisplayConfigurationOutput& conf_output)
{
if (!conf_output.connected || !conf_output.used) return;
auto const& pos = find_if(conf_output.pixel_formats.begin(),
conf_output.pixel_formats.end(),
{
}
);
if (pos == conf_output.pixel_formats.end())
return;
conf_output.current_format = *pos;
});
}
{
[&](std::shared_ptr<mg::DisplayConfigurationPolicy> const& wrapped)
-> std::shared_ptr<mg::DisplayConfigurationPolicy>
{
auto layout_selector = wrapped;
layout_selector = std::make_shared<mg::SideBySideDisplayConfigurationPolicy>();
layout_selector = std::make_shared<mg::SingleDisplayConfigurationPolicy>();
return std::make_shared<me::PixelFormatSelector>(layout_selector, with_alpha);
});
}
Copyright © 2012-2015 Canonical Ltd.
Generated on Wed Mar 30 00:29:56 UTC 2016