Home | History | Annotate | Download | only in window
      1 // Copyright (c) 2011 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_VIEWS_WINDOW_NATIVE_FRAME_VIEW_H_
      6 #define UI_VIEWS_WINDOW_NATIVE_FRAME_VIEW_H_
      7 
      8 #include "ui/views/window/non_client_view.h"
      9 
     10 namespace views {
     11 
     12 class Widget;
     13 
     14 class VIEWS_EXPORT NativeFrameView : public NonClientFrameView {
     15  public:
     16   explicit NativeFrameView(Widget* frame);
     17   virtual ~NativeFrameView();
     18 
     19   // NonClientFrameView overrides:
     20   virtual gfx::Rect GetBoundsForClientView() const OVERRIDE;
     21   virtual gfx::Rect GetWindowBoundsForClientBounds(
     22       const gfx::Rect& client_bounds) const OVERRIDE;
     23   virtual int NonClientHitTest(const gfx::Point& point) OVERRIDE;
     24   virtual void GetWindowMask(const gfx::Size& size,
     25                              gfx::Path* window_mask) OVERRIDE;
     26   virtual void ResetWindowControls() OVERRIDE;
     27   virtual void UpdateWindowIcon() OVERRIDE;
     28   virtual void UpdateWindowTitle() OVERRIDE;
     29 
     30   // View overrides:
     31   virtual gfx::Size GetPreferredSize() OVERRIDE;
     32   virtual gfx::Size GetMinimumSize() OVERRIDE;
     33   virtual gfx::Size GetMaximumSize() OVERRIDE;
     34 
     35  private:
     36   // Our containing frame.
     37   Widget* frame_;
     38 
     39   DISALLOW_COPY_AND_ASSIGN(NativeFrameView);
     40 };
     41 
     42 }  // namespace views
     43 
     44 #endif  // UI_VIEWS_WINDOW_NATIVE_FRAME_VIEW_H_
     45