OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "mash/simple_wm/move_loop.h" | 5 #include "mash/simple_wm/move_loop.h" |
6 | 6 |
7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
9 #include "ui/aura/client/aura_constants.h" | 9 #include "ui/aura/client/aura_constants.h" |
10 #include "ui/aura/window.h" | 10 #include "ui/aura/window.h" |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
45 VerticalLocation v_loc; | 45 VerticalLocation v_loc; |
46 if (!DetermineType(ht_location, &type, &h_loc, &v_loc)) | 46 if (!DetermineType(ht_location, &type, &h_loc, &v_loc)) |
47 return nullptr; | 47 return nullptr; |
48 | 48 |
49 return base::WrapUnique(new MoveLoop(target, event, type, h_loc, v_loc)); | 49 return base::WrapUnique(new MoveLoop(target, event, type, h_loc, v_loc)); |
50 } | 50 } |
51 | 51 |
52 MoveLoop::MoveResult MoveLoop::Move(const ui::PointerEvent& event) { | 52 MoveLoop::MoveResult MoveLoop::Move(const ui::PointerEvent& event) { |
53 switch (event.type()) { | 53 switch (event.type()) { |
54 case ui::ET_POINTER_CANCELLED: | 54 case ui::ET_POINTER_CANCELLED: |
55 if (event.pointer_id() == pointer_id_) { | 55 if (event.pointer_details().id == pointer_id_) { |
56 if (target_) | 56 if (target_) |
57 Revert(); | 57 Revert(); |
58 return MoveResult::DONE; | 58 return MoveResult::DONE; |
59 } | 59 } |
60 return MoveResult::CONTINUE; | 60 return MoveResult::CONTINUE; |
61 | 61 |
62 case ui::ET_POINTER_MOVED: | 62 case ui::ET_POINTER_MOVED: |
63 if (target_ && event.pointer_id() == pointer_id_) | 63 if (target_ && event.pointer_details().id == pointer_id_) |
64 MoveImpl(event); | 64 MoveImpl(event); |
65 return MoveResult::CONTINUE; | 65 return MoveResult::CONTINUE; |
66 | 66 |
67 case ui::ET_POINTER_UP: | 67 case ui::ET_POINTER_UP: |
68 if (event.pointer_id() == pointer_id_) { | 68 if (event.pointer_details().id == pointer_id_) { |
69 // TODO(sky): need to support changed_flags. | 69 // TODO(sky): need to support changed_flags. |
70 if (target_) | 70 if (target_) |
71 MoveImpl(event); | 71 MoveImpl(event); |
72 return MoveResult::DONE; | 72 return MoveResult::DONE; |
73 } | 73 } |
74 return MoveResult::CONTINUE; | 74 return MoveResult::CONTINUE; |
75 | 75 |
76 default: | 76 default: |
77 break; | 77 break; |
78 } | 78 } |
(...skipping 11 matching lines...) Expand all Loading... | |
90 | 90 |
91 MoveLoop::MoveLoop(aura::Window* target, | 91 MoveLoop::MoveLoop(aura::Window* target, |
92 const ui::PointerEvent& event, | 92 const ui::PointerEvent& event, |
93 Type type, | 93 Type type, |
94 HorizontalLocation h_loc, | 94 HorizontalLocation h_loc, |
95 VerticalLocation v_loc) | 95 VerticalLocation v_loc) |
96 : target_(target), | 96 : target_(target), |
97 type_(type), | 97 type_(type), |
98 h_loc_(h_loc), | 98 h_loc_(h_loc), |
99 v_loc_(v_loc), | 99 v_loc_(v_loc), |
100 pointer_id_(event.pointer_id()), | 100 pointer_id_(event.pointer_details().id), |
101 initial_event_screen_location_(event.root_location()), | 101 initial_event_screen_location_(event.root_location()), |
102 initial_window_bounds_(target->bounds()), | 102 initial_window_bounds_(target->bounds()), |
103 initial_user_set_bounds_(target->bounds()), | 103 initial_user_set_bounds_(target->bounds()), |
104 // GetWindowUserSetBounds(target)), | 104 // GetWindowUserSetBounds(target)), |
sadrul
2017/02/07 05:40:41
Since you are here, delete this line?
lanwei
2017/02/10 20:54:38
Done.
| |
105 changing_bounds_(false) { | 105 changing_bounds_(false) { |
106 target->AddObserver(this); | 106 target->AddObserver(this); |
107 } | 107 } |
108 | 108 |
109 // static | 109 // static |
110 bool MoveLoop::DetermineType(int ht_location, | 110 bool MoveLoop::DetermineType(int ht_location, |
111 Type* type, | 111 Type* type, |
112 HorizontalLocation* h_loc, | 112 HorizontalLocation* h_loc, |
113 VerticalLocation* v_loc) { | 113 VerticalLocation* v_loc) { |
114 *h_loc = HorizontalLocation::OTHER; | 114 *h_loc = HorizontalLocation::OTHER; |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
231 if (!changing_bounds_) | 231 if (!changing_bounds_) |
232 Cancel(); | 232 Cancel(); |
233 } | 233 } |
234 | 234 |
235 void MoveLoop::OnWindowVisibilityChanged(aura::Window* window, bool visible) { | 235 void MoveLoop::OnWindowVisibilityChanged(aura::Window* window, bool visible) { |
236 DCHECK_EQ(window, target_); | 236 DCHECK_EQ(window, target_); |
237 Cancel(); | 237 Cancel(); |
238 } | 238 } |
239 | 239 |
240 } // namespace simple_wm | 240 } // namespace simple_wm |
OLD | NEW |