Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / views / apps / glass_app_window_frame_view_win.h
1 // Copyright 2014 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 CHROME_BROWSER_UI_VIEWS_APPS_GLASS_APP_WINDOW_FRAME_VIEW_WIN_H_
6 #define CHROME_BROWSER_UI_VIEWS_APPS_GLASS_APP_WINDOW_FRAME_VIEW_WIN_H_
7
8 #include "ui/gfx/geometry/insets.h"
9 #include "ui/views/window/non_client_view.h"
10
11 namespace apps {
12 class NativeAppWindow;
13 }
14
15 // A glass style app window frame view.
16 class GlassAppWindowFrameViewWin : public views::NonClientFrameView {
17  public:
18   static const char kViewClassName[];
19
20   explicit GlassAppWindowFrameViewWin(apps::NativeAppWindow* window,
21                                       views::Widget* widget);
22   virtual ~GlassAppWindowFrameViewWin();
23
24   gfx::Insets GetGlassInsets() const;
25
26  private:
27   // views::NonClientFrameView implementation.
28   virtual gfx::Rect GetBoundsForClientView() const OVERRIDE;
29   virtual gfx::Rect GetWindowBoundsForClientBounds(
30       const gfx::Rect& client_bounds) const OVERRIDE;
31   virtual int NonClientHitTest(const gfx::Point& point) OVERRIDE;
32   virtual void GetWindowMask(const gfx::Size& size,
33                              gfx::Path* window_mask) OVERRIDE;
34   virtual void ResetWindowControls() OVERRIDE {}
35   virtual void UpdateWindowIcon() OVERRIDE {}
36   virtual void UpdateWindowTitle() OVERRIDE {}
37
38   // views::View implementation.
39   virtual gfx::Size GetPreferredSize() OVERRIDE;
40   virtual const char* GetClassName() const OVERRIDE;
41   virtual gfx::Size GetMinimumSize() OVERRIDE;
42   virtual gfx::Size GetMaximumSize() OVERRIDE;
43
44   apps::NativeAppWindow* window_;
45   views::Widget* widget_;
46
47   DISALLOW_COPY_AND_ASSIGN(GlassAppWindowFrameViewWin);
48 };
49
50 #endif  // CHROME_BROWSER_UI_VIEWS_APPS_GLASS_APP_WINDOW_FRAME_VIEW_WIN_H_