Index: chrome/browser/views/frame/glass_browser_frame_view.h |
=================================================================== |
--- chrome/browser/views/frame/glass_browser_frame_view.h (revision 10646) |
+++ chrome/browser/views/frame/glass_browser_frame_view.h (working copy) |
@@ -2,43 +2,40 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CHROME_BROWSER_VIEWS_FRAME_AERO_GLASS_NON_CLIENT_VIEW_H_ |
-#define CHROME_BROWSER_VIEWS_FRAME_AERO_GLASS_NON_CLIENT_VIEW_H_ |
+#ifndef CHROME_BROWSER_VIEWS_FRAME_GLASS_BROWSER_FRAME_VIEW_H_ |
+#define CHROME_BROWSER_VIEWS_FRAME_GLASS_BROWSER_FRAME_VIEW_H_ |
-#include "chrome/browser/views/frame/aero_glass_frame.h" |
+#include "chrome/browser/views/frame/browser_frame.h" |
#include "chrome/views/non_client_view.h" |
#include "chrome/views/button.h" |
class BrowserView; |
-class AeroGlassWindowResources; |
+class GlassBrowserWindowResources; |
-class AeroGlassNonClientView : public views::NonClientView { |
+class GlassBrowserFrameView : public BrowserNonClientFrameView { |
public: |
- // Constructs a non-client view for an AeroGlassFrame. |
- AeroGlassNonClientView(AeroGlassFrame* frame, BrowserView* browser_view); |
- virtual ~AeroGlassNonClientView(); |
+ // Constructs a non-client view for an BrowserFrame. |
+ GlassBrowserFrameView(BrowserFrame* frame, BrowserView* browser_view); |
+ virtual ~GlassBrowserFrameView(); |
- // Retrieve the bounds for the specified |tabstrip|, in the coordinate system |
- // of the non-client view (which whould be window coordinates). |
- gfx::Rect GetBoundsForTabStrip(TabStrip* tabstrip); |
+ // Overridden from BrowserNonClientFrameView: |
+ virtual gfx::Rect GetBoundsForTabStrip(TabStrip* tabstrip) const; |
+ virtual void UpdateThrobber(bool running); |
- protected: |
- // Overridden from views::NonClientView: |
- virtual gfx::Rect CalculateClientAreaBounds(int width, int height) const; |
- virtual gfx::Size CalculateWindowSizeForClientSize(int width, |
- int height) const; |
+ // Overridden from views::NonClientFrameView: |
+ virtual gfx::Rect GetBoundsForClientView() const; |
+ virtual gfx::Rect GetWindowBoundsForClientBounds( |
+ const gfx::Rect& client_bounds) const; |
virtual gfx::Point GetSystemMenuPoint() const; |
virtual int NonClientHitTest(const gfx::Point& point); |
virtual void GetWindowMask(const gfx::Size& size, gfx::Path* window_mask) { } |
virtual void EnableClose(bool enable) { } |
virtual void ResetWindowControls() { } |
+ protected: |
// Overridden from views::View: |
virtual void Paint(ChromeCanvas* canvas); |
virtual void Layout(); |
- virtual void ViewHierarchyChanged(bool is_add, |
- views::View* parent, |
- views::View* child); |
private: |
// Returns the thickness of the border that makes up the window frame edges. |
@@ -63,7 +60,17 @@ |
void LayoutDistributorLogo(); |
void LayoutOTRAvatar(); |
void LayoutClientView(); |
+ |
+ // Returns the bounds of the client area for the specified view size. |
+ gfx::Rect CalculateClientAreaBounds(int width, int height) const; |
+ // Starts/Stops the window throbber running. |
+ void StartThrobber(); |
+ void StopThrobber(); |
+ |
+ // Displays the next throbber frame. |
+ void DisplayNextThrobberFrame(); |
+ |
// The layout rect of the distributor logo, if visible. |
gfx::Rect logo_bounds_; |
@@ -71,17 +78,30 @@ |
gfx::Rect otr_avatar_bounds_; |
// The frame that hosts this view. |
- AeroGlassFrame* frame_; |
+ BrowserFrame* frame_; |
// The BrowserView hosted within this View. |
BrowserView* browser_view_; |
+ // The bounds of the ClientView. |
+ gfx::Rect client_view_bounds_; |
+ |
+ // Whether or not the window throbber is currently animating. |
+ bool throbber_running_; |
+ |
+ // The index of the current frame of the throbber animation. |
+ int throbber_frame_; |
+ |
static void InitClass(); |
static SkBitmap* distributor_logo_; |
- static AeroGlassWindowResources* resources_; |
+ static GlassBrowserWindowResources* resources_; |
- DISALLOW_EVIL_CONSTRUCTORS(AeroGlassNonClientView); |
+ static const int kThrobberIconCount = 24; |
+ static HICON throbber_icons_[kThrobberIconCount]; |
+ static void InitThrobberIcons(); |
+ |
+ DISALLOW_EVIL_CONSTRUCTORS(GlassBrowserFrameView); |
}; |
-#endif // #ifndef CHROME_BROWSER_VIEWS_FRAME_AERO_GLASS_NON_CLIENT_VIEW_H_ |
+#endif // #ifndef CHROME_BROWSER_VIEWS_FRAME_GLASS_BROWSER_FRAME_VIEW_H_ |
Property changes on: chrome\browser\views\frame\glass_browser_frame_view.h |
___________________________________________________________________ |
Added: svn:mergeinfo |
Merged /branches/chrome_webkit_merge_branch/chrome/browser/views/frame/aero_glass_non_client_view.h:r69-2775 |