message_center_frame_view.cc revision 7dbb3d5cf0c15f500944d211057644d6a2f37371
1// Copyright 2013 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#include "chrome/browser/ui/views/message_center/message_center_frame_view.h"
6
7#include "ui/base/hit_test.h"
8#include "ui/message_center/message_center_style.h"
9#include "ui/views/shadow_border.h"
10#include "ui/views/widget/widget.h"
11
12namespace {
13
14const int kBorderWidth = 1;
15const int kShadowBlur = 8;
16
17}  // namepspace
18
19namespace message_center {
20
21MessageCenterFrameView::MessageCenterFrameView() {
22#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
23  set_border(views::Border::CreateSolidBorder(
24      kBorderWidth, message_center::kMessageCenterBorderColor));
25#else
26  set_border(new views::ShadowBorder(kShadowBlur,
27                                     message_center::kMessageCenterShadowColor,
28                                     0,    // Vertical offset
29                                     0));  // Horizontal offset
30#endif
31}
32
33MessageCenterFrameView::~MessageCenterFrameView() {}
34
35gfx::Rect MessageCenterFrameView::GetBoundsForClientView() const {
36  gfx::Rect client_bounds = GetLocalBounds();
37  client_bounds.Inset(GetInsets());
38  return client_bounds;
39}
40
41gfx::Rect MessageCenterFrameView::GetWindowBoundsForClientBounds(
42    const gfx::Rect& client_bounds) const {
43  gfx::Rect window_bounds = client_bounds;
44  window_bounds.Inset(GetInsets());
45  return window_bounds;
46}
47
48int MessageCenterFrameView::NonClientHitTest(const gfx::Point& point) {
49  gfx::Rect frame_bounds = bounds();
50  frame_bounds.Inset(GetInsets());
51  if (!frame_bounds.Contains(point))
52    return HTNOWHERE;
53
54  return GetWidget()->client_view()->NonClientHitTest(point);
55}
56
57void MessageCenterFrameView::GetWindowMask(const gfx::Size& size,
58                                           gfx::Path* window_mask) {
59}
60
61void MessageCenterFrameView::ResetWindowControls() {
62}
63
64void MessageCenterFrameView::UpdateWindowIcon() {
65}
66
67void MessageCenterFrameView::UpdateWindowTitle() {
68}
69
70gfx::Insets MessageCenterFrameView::GetInsets() const {
71  return border()->GetInsets();
72}
73
74const char* MessageCenterFrameView::GetClassName() const {
75  return "MessageCenterFrameView";
76}
77
78}  // namespace message_center
79