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

Side by Side Diff: ui/message_center/views/popup_alignment_delegate.h

Issue 369573004: Separate the logic of popup alignment and workarea handling as delegate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: polish Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2014 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 #ifndef UI_MESSAGE_CENTER_VIEWS_POPUP_ALIGNMENT_DELEGATE_H_
6 #define UI_MESSAGE_CENTER_VIEWS_POPUP_ALIGNMENT_DELEGATE_H_
7
8 #include "ui/message_center/message_center_export.h"
9
10 namespace gfx {
11 class Display;
12 class Point;
13 class Rect;
14 }
15
16 namespace message_center {
17
18 class MessagePopupCollection;
19
20 class MESSAGE_CENTER_EXPORT PopupAlignmentDelegate {
21 public:
22 PopupAlignmentDelegate();
23
24 void set_collection(MessagePopupCollection* collection) {
25 collection_ = collection;
26 }
27
28 // Returns the x-origin for the given toast bounds in the current work area.
29 virtual int GetToastOriginX(const gfx::Rect& toast_bounds) const = 0;
30
31 // Returns the baseline height of the current work area. That is the starting
32 // point if there are no other toasts.
33 virtual int GetBaseLine() const = 0;
34
35 // Returns the height of the bottom of the current work area.
36 virtual int GetWorkAreaBottom() const = 0;
37
38 // Returns true if the toast should be aligned from top to down.
stevenjb 2014/07/02 21:59:24 s/from top to down/top down/ (or 'from top to bott
Jun Mukai 2014/07/07 18:12:36 Done.
39 virtual bool IsTopDown() const = 0;
40
41 // Returns true if the toasts is positioned at the left side of the desktop
stevenjb 2014/07/02 21:59:24 s/toasts is/toasts are/
Jun Mukai 2014/07/07 18:12:36 Done.
42 // so that their reveal animation should happen from left side.
43 virtual bool IsFromLeft() const = 0;
44
45 // Called when a new toast appears or toasts are rearranged in the |display|.
46 // The subclass may override this method to check the current desktop status
47 // so that the toasts are arranged at the right place.
stevenjb 2014/07/02 21:59:24 s/right/correct/ (only because 'right' is ambiguou
Jun Mukai 2014/07/07 18:12:36 Done.
48 virtual void RecomputeAlignment(const gfx::Display& display) {}
stevenjb 2014/07/02 21:59:23 nit: It might be better to make this a pure virtua
Jun Mukai 2014/07/07 18:12:36 Done.
49
50 protected:
51 virtual ~PopupAlignmentDelegate();
52
53 void DoUpdateIfPossible();
54
55 private:
56 MessagePopupCollection* collection_;
57 };
58
59 } // namespace message_center
60
61 #endif // UI_MESSAGE_CENTER_VIEWS_POPUP_ALIGNMENT_DELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698