| 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_WM_FRAME_PAINTER_H_ | 5 #ifndef ASH_WM_FRAME_PAINTER_H_ |
| 6 #define ASH_WM_FRAME_PAINTER_H_ | 6 #define ASH_WM_FRAME_PAINTER_H_ |
| 7 | 7 |
| 8 #include <set> | 8 #include <set> |
| 9 | 9 |
| 10 #include "ash/ash_export.h" | 10 #include "ash/ash_export.h" |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 // Paint the title bar, primarily the title string. | 105 // Paint the title bar, primarily the title string. |
| 106 void PaintTitleBar(views::NonClientFrameView* view, | 106 void PaintTitleBar(views::NonClientFrameView* view, |
| 107 gfx::Canvas* canvas, | 107 gfx::Canvas* canvas, |
| 108 const gfx::Font& title_font); | 108 const gfx::Font& title_font); |
| 109 | 109 |
| 110 // Performs layout for the header based on whether we want the shorter | 110 // Performs layout for the header based on whether we want the shorter |
| 111 // appearance. |shorter_layout| is typically used for maximized windows, but | 111 // appearance. |shorter_layout| is typically used for maximized windows, but |
| 112 // not always. | 112 // not always. |
| 113 void LayoutHeader(views::NonClientFrameView* view, bool shorter_layout); | 113 void LayoutHeader(views::NonClientFrameView* view, bool shorter_layout); |
| 114 | 114 |
| 115 // Schedule a re-paint of the entire title. |
| 116 void SchedulePaintForTitle(views::NonClientFrameView* view, |
| 117 const gfx::Font& title_font); |
| 118 |
| 115 // aura::WindowObserver overrides: | 119 // aura::WindowObserver overrides: |
| 116 virtual void OnWindowPropertyChanged(aura::Window* window, | 120 virtual void OnWindowPropertyChanged(aura::Window* window, |
| 117 const void* key, | 121 const void* key, |
| 118 intptr_t old) OVERRIDE; | 122 intptr_t old) OVERRIDE; |
| 119 virtual void OnWindowVisibilityChanged(aura::Window* window, | 123 virtual void OnWindowVisibilityChanged(aura::Window* window, |
| 120 bool visible) OVERRIDE; | 124 bool visible) OVERRIDE; |
| 121 virtual void OnWindowDestroying(aura::Window* window) OVERRIDE; | 125 virtual void OnWindowDestroying(aura::Window* window) OVERRIDE; |
| 122 virtual void OnWindowBoundsChanged(aura::Window* window, | 126 virtual void OnWindowBoundsChanged(aura::Window* window, |
| 123 const gfx::Rect& old_bounds, | 127 const gfx::Rect& old_bounds, |
| 124 const gfx::Rect& new_bounds) OVERRIDE; | 128 const gfx::Rect& new_bounds) OVERRIDE; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 155 | 159 |
| 156 // Schedules a paint for the window header of the solo window. Invoke this | 160 // Schedules a paint for the window header of the solo window. Invoke this |
| 157 // when another window is hidden or destroyed to force the transparency of | 161 // when another window is hidden or destroyed to force the transparency of |
| 158 // the now-solo window to update. | 162 // the now-solo window to update. |
| 159 static void SchedulePaintForSoloWindow(); | 163 static void SchedulePaintForSoloWindow(); |
| 160 | 164 |
| 161 // Schedules a paint for the header. Used when transitioning from no header to | 165 // Schedules a paint for the header. Used when transitioning from no header to |
| 162 // a header (or other way around). | 166 // a header (or other way around). |
| 163 void SchedulePaintForHeader(); | 167 void SchedulePaintForHeader(); |
| 164 | 168 |
| 169 // Get the bounds for the title. The provided |view| and |title_font| are |
| 170 // used to determine the correct dimensions. |
| 171 gfx::Rect GetTitleBounds(views::NonClientFrameView* view, |
| 172 const gfx::Font& title_font); |
| 173 |
| 165 static std::set<FramePainter*>* instances_; | 174 static std::set<FramePainter*>* instances_; |
| 166 | 175 |
| 167 // Not owned | 176 // Not owned |
| 168 views::Widget* frame_; | 177 views::Widget* frame_; |
| 169 views::View* window_icon_; // May be NULL. | 178 views::View* window_icon_; // May be NULL. |
| 170 views::ImageButton* size_button_; | 179 views::ImageButton* size_button_; |
| 171 views::ImageButton* close_button_; | 180 views::ImageButton* close_button_; |
| 172 aura::Window* window_; | 181 aura::Window* window_; |
| 173 | 182 |
| 174 // Window frame header/caption parts. | 183 // Window frame header/caption parts. |
| (...skipping 16 matching lines...) Expand all Loading... |
| 191 scoped_ptr<ui::SlideAnimation> crossfade_animation_; | 200 scoped_ptr<ui::SlideAnimation> crossfade_animation_; |
| 192 | 201 |
| 193 SizeButtonBehavior size_button_behavior_; | 202 SizeButtonBehavior size_button_behavior_; |
| 194 | 203 |
| 195 DISALLOW_COPY_AND_ASSIGN(FramePainter); | 204 DISALLOW_COPY_AND_ASSIGN(FramePainter); |
| 196 }; | 205 }; |
| 197 | 206 |
| 198 } // namespace ash | 207 } // namespace ash |
| 199 | 208 |
| 200 #endif // ASH_WM_FRAME_PAINTER_H_ | 209 #endif // ASH_WM_FRAME_PAINTER_H_ |
| OLD | NEW |