| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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_SYSTEM_TRAY_TRAY_BACKGROUND_VIEW_H_ | 5 #ifndef ASH_SYSTEM_TRAY_TRAY_BACKGROUND_VIEW_H_ |
| 6 #define ASH_SYSTEM_TRAY_TRAY_BACKGROUND_VIEW_H_ | 6 #define ASH_SYSTEM_TRAY_TRAY_BACKGROUND_VIEW_H_ |
| 7 | 7 |
| 8 #include "ash/ash_export.h" | 8 #include "ash/ash_export.h" |
| 9 #include "ash/launcher/background_animator.h" | 9 #include "ash/launcher/background_animator.h" |
| 10 #include "ash/system/tray/tray_bubble_view.h" |
| 10 #include "ash/system/tray/tray_views.h" | 11 #include "ash/system/tray/tray_views.h" |
| 11 #include "ash/wm/shelf_types.h" | 12 #include "ash/wm/shelf_types.h" |
| 12 | 13 |
| 13 namespace ash { | 14 namespace ash { |
| 14 namespace internal { | 15 namespace internal { |
| 15 | 16 |
| 16 class StatusAreaWidget; | 17 class StatusAreaWidget; |
| 17 class TrayBackground; | 18 class TrayBackground; |
| 18 class TrayLayerAnimationObserver; | 19 class TrayLayerAnimationObserver; |
| 19 | 20 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 | 76 |
| 76 // Overridden from internal::BackgroundAnimatorDelegate. | 77 // Overridden from internal::BackgroundAnimatorDelegate. |
| 77 virtual void UpdateBackground(int alpha) OVERRIDE; | 78 virtual void UpdateBackground(int alpha) OVERRIDE; |
| 78 | 79 |
| 79 // Called whenever the shelf alignment changes. | 80 // Called whenever the shelf alignment changes. |
| 80 virtual void SetShelfAlignment(ShelfAlignment alignment); | 81 virtual void SetShelfAlignment(ShelfAlignment alignment); |
| 81 | 82 |
| 82 // Called when the anchor (tray or bubble) may have moved or changed. | 83 // Called when the anchor (tray or bubble) may have moved or changed. |
| 83 virtual void AnchorUpdated() {} | 84 virtual void AnchorUpdated() {} |
| 84 | 85 |
| 86 // Called from GetAccessibleState, must return a valid accessible name. |
| 85 virtual string16 GetAccessibleName() = 0; | 87 virtual string16 GetAccessibleName() = 0; |
| 86 | 88 |
| 89 // Hides the bubble associated with |bubble_view|. Called when the widget |
| 90 // is closed. |
| 91 virtual void HideBubbleWithView(const TrayBubbleView* bubble_view) = 0; |
| 92 |
| 93 // Called by the bubble wrapper when a click event occurs outside the bubble. |
| 94 // May close the bubble. Returns true if the event is handled. |
| 95 virtual bool ClickedOutsideBubble() = 0; |
| 96 |
| 87 // Sets |contents| as a child. | 97 // Sets |contents| as a child. |
| 88 void SetContents(views::View* contents); | 98 void SetContents(views::View* contents); |
| 89 | 99 |
| 90 // Creates and sets contents background to |background_|. | 100 // Creates and sets contents background to |background_|. |
| 91 void SetContentsBackground(); | 101 void SetContentsBackground(); |
| 92 | 102 |
| 93 // Sets whether the tray paints a background. Default is true, but is set to | 103 // Sets whether the tray paints a background. Default is true, but is set to |
| 94 // false if a window overlaps the shelf. | 104 // false if a window overlaps the shelf. |
| 95 void SetPaintsBackground( | 105 void SetPaintsBackground( |
| 96 bool value, | 106 bool value, |
| 97 internal::BackgroundAnimator::ChangeType change_type); | 107 internal::BackgroundAnimator::ChangeType change_type); |
| 98 | 108 |
| 109 // Initializes animations for the bubble. |
| 110 void InitializeBubbleAnimations(views::Widget* bubble_widget); |
| 111 |
| 112 // Returns the window hosting the bubble. |
| 113 aura::Window* GetBubbleWindowContainer() const; |
| 114 |
| 115 // Returns the anchor rect for the bubble. |
| 116 gfx::Rect GetAnchorRect( |
| 117 views::Widget* anchor_widget, |
| 118 TrayBubbleView::AnchorType anchor_type, |
| 119 TrayBubbleView::AnchorAlignment anchor_alignment) const; |
| 120 |
| 121 // Returns the bubble anchor alignment based on |shelf_alignment_|. |
| 122 TrayBubbleView::AnchorAlignment GetAnchorAlignment() const; |
| 123 |
| 99 StatusAreaWidget* status_area_widget() { | 124 StatusAreaWidget* status_area_widget() { |
| 100 return status_area_widget_; | 125 return status_area_widget_; |
| 101 } | 126 } |
| 102 const StatusAreaWidget* status_area_widget() const { | 127 const StatusAreaWidget* status_area_widget() const { |
| 103 return status_area_widget_; | 128 return status_area_widget_; |
| 104 } | 129 } |
| 105 TrayContainer* tray_container() const { return tray_container_; } | 130 TrayContainer* tray_container() const { return tray_container_; } |
| 106 ShelfAlignment shelf_alignment() const { return shelf_alignment_; } | 131 ShelfAlignment shelf_alignment() const { return shelf_alignment_; } |
| 107 | 132 |
| 108 private: | 133 private: |
| (...skipping 20 matching lines...) Expand all Loading... |
| 129 scoped_ptr<internal::TrayLayerAnimationObserver> | 154 scoped_ptr<internal::TrayLayerAnimationObserver> |
| 130 layer_animation_observer_; | 155 layer_animation_observer_; |
| 131 | 156 |
| 132 DISALLOW_COPY_AND_ASSIGN(TrayBackgroundView); | 157 DISALLOW_COPY_AND_ASSIGN(TrayBackgroundView); |
| 133 }; | 158 }; |
| 134 | 159 |
| 135 } // namespace internal | 160 } // namespace internal |
| 136 } // namespace ash | 161 } // namespace ash |
| 137 | 162 |
| 138 #endif // ASH_SYSTEM_TRAY_TRAY_BACKGROUND_VIEW_H_ | 163 #endif // ASH_SYSTEM_TRAY_TRAY_BACKGROUND_VIEW_H_ |
| OLD | NEW |