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.
5 #ifndef ATHENA_COMMON_ATHENA_FRAME_VIEW_H_
6 #define ATHENA_COMMON_ATHENA_FRAME_VIEW_H_
8 #include "ui/views/window/non_client_view.h"
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
{
20 // The frame class name.
21 static const char kViewClassName
[];
23 explicit AthenaFrameView(views::Widget
* frame
);
24 virtual ~AthenaFrameView();
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
;
31 virtual void GetWindowMask(const gfx::Size
& size
,
32 gfx::Path
* window_mask
) OVERRIDE
{}
33 virtual void ResetWindowControls() OVERRIDE
{}
34 virtual void UpdateWindowIcon() OVERRIDE
{}
35 virtual void UpdateWindowTitle() OVERRIDE
{}
36 virtual void SizeConstraintsChanged() OVERRIDE
{}
38 // views::View overrides:
39 virtual gfx::Size
GetPreferredSize() const OVERRIDE
;
40 virtual const char* GetClassName() const OVERRIDE
;
41 virtual void Layout() OVERRIDE
{}
44 gfx::Insets
NonClientBorderInsets() const;
46 virtual int NonClientTopBorderHeight() const;
47 virtual int NonClientBorderThickness() const;
50 views::Widget
* frame_
;
52 DISALLOW_COPY_AND_ASSIGN(AthenaFrameView
);
57 #endif // ATHENA_COMMON_ATHENA_FRAME_VIEW_H_