Index: chrome/views/default_non_client_view.h |
=================================================================== |
--- chrome/views/default_non_client_view.h (revision 10688) |
+++ chrome/views/default_non_client_view.h (working copy) |
@@ -1,126 +0,0 @@ |
-// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_VIEWS_DEFAULT_NON_CLIENT_VIEW_H_ |
-#define CHROME_VIEWS_DEFAULT_NON_CLIENT_VIEW_H_ |
- |
-#include "chrome/views/button.h" |
-#include "chrome/views/custom_frame_window.h" |
-#include "chrome/views/non_client_view.h" |
-#include "chrome/views/window_resources.h" |
- |
-namespace gfx{ |
-class Size; |
-class Path; |
-class Point; |
-} |
-class ChromeCanvas; |
- |
-namespace views { |
- |
-class ClientView; |
- |
-/////////////////////////////////////////////////////////////////////////////// |
-// |
-// DefaultNonClientView |
-// |
-// A ChromeView that provides the "frame" for CustomFrameWindows. This means |
-// rendering the non-standard window caption, border, and controls. |
-// |
-//////////////////////////////////////////////////////////////////////////////// |
-class DefaultNonClientView : public NonClientView, |
- public BaseButton::ButtonListener { |
- public: |
- explicit DefaultNonClientView(CustomFrameWindow* container); |
- virtual ~DefaultNonClientView(); |
- |
- // Overridden from views::NonClientView: |
- virtual gfx::Rect CalculateClientAreaBounds(int width, int height) const; |
- virtual gfx::Size CalculateWindowSizeForClientSize(int width, |
- int height) 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(); |
- |
- // View overrides: |
- virtual void Paint(ChromeCanvas* canvas); |
- virtual void Layout(); |
- virtual gfx::Size GetPreferredSize(); |
- virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child); |
- |
- // BaseButton::ButtonListener implementation: |
- virtual void ButtonPressed(BaseButton* sender); |
- |
- private: |
- // Returns the thickness of the border that makes up the window frame edges. |
- // This does not include any client edge. |
- int FrameBorderThickness() const; |
- |
- // Returns the thickness of the entire nonclient left, right, and bottom |
- // borders, including both the window frame and any client edge. |
- int NonClientBorderThickness() const; |
- |
- // Returns the height of the entire nonclient top border, including the window |
- // frame, any title area, and any connected client edge. |
- int NonClientTopBorderHeight() const; |
- |
- // A bottom border, and, in restored mode, a client edge are drawn at the |
- // bottom of the titlebar. This returns the total height drawn. |
- int BottomEdgeThicknessWithinNonClientHeight() const; |
- |
- // Calculates multiple values related to title layout. Returns the height of |
- // the entire titlebar including any connected client edge. |
- int TitleCoordinates(int* title_top_spacing, |
- int* title_thickness) const; |
- |
- // Paint various sub-components of this view. |
- void PaintRestoredFrameBorder(ChromeCanvas* canvas); |
- void PaintMaximizedFrameBorder(ChromeCanvas* canvas); |
- void PaintTitleBar(ChromeCanvas* canvas); |
- void PaintRestoredClientEdge(ChromeCanvas* canvas); |
- |
- // Layout various sub-components of this view. |
- void LayoutWindowControls(); |
- void LayoutTitleBar(); |
- void LayoutClientView(); |
- |
- // Returns the resource collection to be used when rendering the window. |
- WindowResources* resources() const { |
- return container_->is_active() || paint_as_active() ? active_resources_ |
- : inactive_resources_; |
- } |
- |
- // The View that provides the background for the window, and optionally |
- // dialog buttons. Note: the non-client view does _not_ own this view, the |
- // container does. |
- ClientView* client_view_; |
- |
- // The layout rect of the title, if visible. |
- gfx::Rect title_bounds_; |
- |
- // Window controls. |
- Button* close_button_; |
- Button* restore_button_; |
- Button* maximize_button_; |
- Button* minimize_button_; |
- Button* system_menu_button_; // Uses the window icon if visible. |
- bool should_show_minmax_buttons_; |
- |
- // The window that owns this view. |
- CustomFrameWindow* container_; |
- |
- // Initialize various static resources. |
- static void InitClass(); |
- static WindowResources* active_resources_; |
- static WindowResources* inactive_resources_; |
- static ChromeFont title_font_; |
- |
- DISALLOW_EVIL_CONSTRUCTORS(DefaultNonClientView); |
-}; |
- |
-} // namespace views |
- |
-#endif // #ifndef CHROME_VIEWS_DEFAULT_NON_CLIENT_VIEW_H_ |