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

Side by Side Diff: ash/shelf/shelf_layout_manager.h

Issue 2072853002: Implement "pinned" mode in ash. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 6 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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 #ifndef ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ 5 #ifndef ASH_SHELF_SHELF_LAYOUT_MANAGER_H_
6 #define ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ 6 #define ASH_SHELF_SHELF_LAYOUT_MANAGER_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 148
149 // Overridden from SnapLayoutManager: 149 // Overridden from SnapLayoutManager:
150 void OnWindowResized() override; 150 void OnWindowResized() override;
151 void SetChildBounds(aura::Window* child, 151 void SetChildBounds(aura::Window* child,
152 const gfx::Rect& requested_bounds) override; 152 const gfx::Rect& requested_bounds) override;
153 153
154 // Overridden from ash::ShellObserver: 154 // Overridden from ash::ShellObserver:
155 void OnLockStateChanged(bool locked) override; 155 void OnLockStateChanged(bool locked) override;
156 void OnShelfAlignmentChanged(WmWindow* root_window) override; 156 void OnShelfAlignmentChanged(WmWindow* root_window) override;
157 void OnShelfAutoHideBehaviorChanged(WmWindow* root_window) override; 157 void OnShelfAutoHideBehaviorChanged(WmWindow* root_window) override;
158 void OnPinnedStateChanged(WmWindow* pinned_window) override;
158 159
159 // Overriden from aura::client::ActivationChangeObserver: 160 // Overriden from aura::client::ActivationChangeObserver:
160 void OnWindowActivated( 161 void OnWindowActivated(
161 aura::client::ActivationChangeObserver::ActivationReason reason, 162 aura::client::ActivationChangeObserver::ActivationReason reason,
162 aura::Window* gained_active, 163 aura::Window* gained_active,
163 aura::Window* lost_active) override; 164 aura::Window* lost_active) override;
164 165
165 // Overridden from ash::LockStateObserver: 166 // Overridden from ash::LockStateObserver:
166 void OnLockStateEvent(LockStateObserver::EventType event) override; 167 void OnLockStateEvent(LockStateObserver::EventType event) override;
167 168
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 gfx::Rect status_bounds_in_shelf; 224 gfx::Rect status_bounds_in_shelf;
224 gfx::Insets work_area_insets; 225 gfx::Insets work_area_insets;
225 }; 226 };
226 227
227 struct State { 228 struct State {
228 State() 229 State()
229 : visibility_state(SHELF_VISIBLE), 230 : visibility_state(SHELF_VISIBLE),
230 auto_hide_state(SHELF_AUTO_HIDE_HIDDEN), 231 auto_hide_state(SHELF_AUTO_HIDE_HIDDEN),
231 window_state(wm::WORKSPACE_WINDOW_STATE_DEFAULT), 232 window_state(wm::WORKSPACE_WINDOW_STATE_DEFAULT),
232 is_screen_locked(false), 233 is_screen_locked(false),
233 is_adding_user_screen(false) {} 234 is_adding_user_screen(false),
235 is_pinned(false) {}
234 236
235 // Returns true if the two states are considered equal. As 237 // Returns true if the two states are considered equal. As
236 // |auto_hide_state| only matters if |visibility_state| is 238 // |auto_hide_state| only matters if |visibility_state| is
237 // |SHELF_AUTO_HIDE|, Equals() ignores the |auto_hide_state| as 239 // |SHELF_AUTO_HIDE|, Equals() ignores the |auto_hide_state| as
238 // appropriate. 240 // appropriate.
239 bool Equals(const State& other) const { 241 bool Equals(const State& other) const {
240 return other.visibility_state == visibility_state && 242 return other.visibility_state == visibility_state &&
241 (visibility_state != SHELF_AUTO_HIDE || 243 (visibility_state != SHELF_AUTO_HIDE ||
242 other.auto_hide_state == auto_hide_state) && 244 other.auto_hide_state == auto_hide_state) &&
243 other.window_state == window_state && 245 other.window_state == window_state &&
244 other.is_screen_locked == is_screen_locked && 246 other.is_screen_locked == is_screen_locked &&
245 other.is_adding_user_screen == is_adding_user_screen; 247 other.is_adding_user_screen == is_adding_user_screen &&
248 other.is_pinned == is_pinned;
246 } 249 }
247 250
248 ShelfVisibilityState visibility_state; 251 ShelfVisibilityState visibility_state;
249 ShelfAutoHideState auto_hide_state; 252 ShelfAutoHideState auto_hide_state;
250 wm::WorkspaceWindowState window_state; 253 wm::WorkspaceWindowState window_state;
251 bool is_screen_locked; 254 bool is_screen_locked;
252 bool is_adding_user_screen; 255 bool is_adding_user_screen;
256 bool is_pinned;
253 }; 257 };
254 258
255 // Sets the visibility of the shelf to |state|. 259 // Sets the visibility of the shelf to |state|.
256 void SetState(ShelfVisibilityState visibility_state); 260 void SetState(ShelfVisibilityState visibility_state);
257 261
258 // Updates the bounds and opacity of the shelf and status widgets. 262 // Updates the bounds and opacity of the shelf and status widgets.
259 // If |observer| is specified, it will be called back when the animations, if 263 // If |observer| is specified, it will be called back when the animations, if
260 // any, are complete. 264 // any, are complete.
261 void UpdateBoundsAndOpacity(const TargetBounds& target_bounds, 265 void UpdateBoundsAndOpacity(const TargetBounds& target_bounds,
262 bool animate, 266 bool animate,
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 395
392 std::unique_ptr<RootWindowControllerObserverImpl> 396 std::unique_ptr<RootWindowControllerObserverImpl>
393 root_window_controller_observer_; 397 root_window_controller_observer_;
394 398
395 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); 399 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager);
396 }; 400 };
397 401
398 } // namespace ash 402 } // namespace ash
399 403
400 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ 404 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698