• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 ATHENA_COMMON_ATHENA_FRAME_VIEW_H_
6 #define ATHENA_COMMON_ATHENA_FRAME_VIEW_H_
7 
8 #include "ui/views/window/non_client_view.h"
9 
10 namespace views {
11 class Widget;
12 }
13 
14 namespace athena {
15 
16 // A NonClientFrameView used for non activity window.
17 // TODO(oshima): Move this to athena/util and share the code.
18 class AthenaFrameView : public views::NonClientFrameView {
19  public:
20   // The frame class name.
21   static const char kViewClassName[];
22 
23   explicit AthenaFrameView(views::Widget* frame);
24   virtual ~AthenaFrameView();
25 
26   // views::NonClientFrameView overrides:
27   virtual gfx::Rect GetBoundsForClientView() const OVERRIDE;
28   virtual gfx::Rect GetWindowBoundsForClientBounds(
29       const gfx::Rect& client_bounds) const OVERRIDE;
30   virtual int NonClientHitTest(const gfx::Point& point) OVERRIDE;
GetWindowMask(const gfx::Size & size,gfx::Path * window_mask)31   virtual void GetWindowMask(const gfx::Size& size,
32                              gfx::Path* window_mask) OVERRIDE {}
ResetWindowControls()33   virtual void ResetWindowControls() OVERRIDE {}
UpdateWindowIcon()34   virtual void UpdateWindowIcon() OVERRIDE {}
UpdateWindowTitle()35   virtual void UpdateWindowTitle() OVERRIDE {}
SizeConstraintsChanged()36   virtual void SizeConstraintsChanged() OVERRIDE {}
37 
38   // views::View overrides:
39   virtual gfx::Size GetPreferredSize() const OVERRIDE;
40   virtual const char* GetClassName() const OVERRIDE;
Layout()41   virtual void Layout() OVERRIDE {}
42 
43  private:
44   gfx::Insets NonClientBorderInsets() const;
45 
46   virtual int NonClientTopBorderHeight() const;
47   virtual int NonClientBorderThickness() const;
48 
49   // Not owned.
50   views::Widget* frame_;
51 
52   DISALLOW_COPY_AND_ASSIGN(AthenaFrameView);
53 };
54 
55 }  // namespace athena
56 
57 #endif  // ATHENA_COMMON_ATHENA_FRAME_VIEW_H_
58