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