Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(942)

Side by Side Diff: ash/display/display_layout_builder.cc

Issue 1838833002: Move DisplayLayout and DisplayLayoutBuilder From ash To ui/display (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@screenwinmove
Patch Set: Fix comment Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ash/display/display_layout_builder.h ('k') | ash/display/display_layout_builder_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ash/display/display_layout_builder.h"
6
7 #include <algorithm>
8
9 namespace ash {
10
11 DisplayLayoutBuilder::DisplayLayoutBuilder(const DisplayLayout& layout)
12 : layout_(layout.Copy()) {}
13
14 DisplayLayoutBuilder::DisplayLayoutBuilder(int64_t primary_id)
15 : layout_(new DisplayLayout) {
16 layout_->primary_id = primary_id;
17 }
18
19 DisplayLayoutBuilder::~DisplayLayoutBuilder() {}
20
21 DisplayLayoutBuilder& DisplayLayoutBuilder::SetDefaultUnified(
22 bool default_unified) {
23 layout_->default_unified = default_unified;
24 return *this;
25 }
26
27 DisplayLayoutBuilder& DisplayLayoutBuilder::SetMirrored(bool mirrored) {
28 layout_->mirrored = mirrored;
29 return *this;
30 }
31
32 DisplayLayoutBuilder& DisplayLayoutBuilder::ClearPlacements() {
33 layout_->placement_list.clear();
34 return *this;
35 }
36
37 DisplayLayoutBuilder& DisplayLayoutBuilder::AddDisplayPlacement(
38 int64_t display_id,
39 int64_t parent_display_id,
40 DisplayPlacement::Position position,
41 int offset) {
42 DisplayPlacement placement;
43 placement.position = position;
44 placement.offset = offset;
45 placement.display_id = display_id;
46 placement.parent_display_id = parent_display_id;
47 layout_->placement_list.push_back(placement);
48 return *this;
49 }
50
51 DisplayLayoutBuilder& DisplayLayoutBuilder::SetSecondaryPlacement(
52 int64_t secondary_id,
53 DisplayPlacement::Position position,
54 int offset) {
55 layout_->placement_list.clear();
56 AddDisplayPlacement(secondary_id, layout_->primary_id, position, offset);
57 return *this;
58 }
59
60 scoped_ptr<DisplayLayout> DisplayLayoutBuilder::Build() {
61 std::sort(layout_->placement_list.begin(), layout_->placement_list.end(),
62 [](const DisplayPlacement& a, const DisplayPlacement& b) {
63 return a.display_id < b.display_id;
64 });
65 return std::move(layout_);
66 }
67
68 } // namespace ash
OLDNEW
« no previous file with comments | « ash/display/display_layout_builder.h ('k') | ash/display/display_layout_builder_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698