Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / ui / views / window / native_frame_view.h
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   static const char kViewClassName[];
17
18   explicit NativeFrameView(Widget* frame);
19   virtual ~NativeFrameView();
20
21   // NonClientFrameView overrides:
22   virtual gfx::Rect GetBoundsForClientView() const OVERRIDE;
23   virtual gfx::Rect GetWindowBoundsForClientBounds(
24       const gfx::Rect& client_bounds) const OVERRIDE;
25   virtual int NonClientHitTest(const gfx::Point& point) OVERRIDE;
26   virtual void GetWindowMask(const gfx::Size& size,
27                              gfx::Path* window_mask) OVERRIDE;
28   virtual void ResetWindowControls() OVERRIDE;
29   virtual void UpdateWindowIcon() OVERRIDE;
30   virtual void UpdateWindowTitle() OVERRIDE;
31   virtual void SizeConstraintsChanged() OVERRIDE;
32
33   // View overrides:
34   virtual gfx::Size GetPreferredSize() const OVERRIDE;
35   virtual gfx::Size GetMinimumSize() const OVERRIDE;
36   virtual gfx::Size GetMaximumSize() const OVERRIDE;
37   virtual const char* GetClassName() const OVERRIDE;
38
39  private:
40   // Our containing frame.
41   Widget* frame_;
42
43   DISALLOW_COPY_AND_ASSIGN(NativeFrameView);
44 };
45
46 }  // namespace views
47
48 #endif  // UI_VIEWS_WINDOW_NATIVE_FRAME_VIEW_H_