17dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 27dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 37dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// found in the LICENSE file. 47dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 57dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "chrome/browser/ui/views/message_center/message_center_frame_view.h" 67dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 77dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "ui/base/hit_test.h" 87dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "ui/message_center/message_center_style.h" 97dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "ui/views/shadow_border.h" 107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "ui/views/widget/widget.h" 117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 127dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochnamespace message_center { 137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 147dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochMessageCenterFrameView::MessageCenterFrameView() { 157dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#if defined(OS_LINUX) && !defined(OS_CHROMEOS) 168bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) const int kBorderWidth = 1; 175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) SetBorder(views::Border::CreateSolidBorder( 187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch kBorderWidth, message_center::kMessageCenterBorderColor)); 197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#else 208bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) const int kShadowBlur = 8; 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) SetBorder(scoped_ptr<views::Border>(new views::ShadowBorder( 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) kShadowBlur, 235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) message_center::kMessageCenterShadowColor, 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 0, // Vertical offset 255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 0))); // Horizontal offset 267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 297dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochMessageCenterFrameView::~MessageCenterFrameView() {} 307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochgfx::Rect MessageCenterFrameView::GetBoundsForClientView() const { 327dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch gfx::Rect client_bounds = GetLocalBounds(); 337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch client_bounds.Inset(GetInsets()); 347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch return client_bounds; 357dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochgfx::Rect MessageCenterFrameView::GetWindowBoundsForClientBounds( 387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch const gfx::Rect& client_bounds) const { 397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch gfx::Rect window_bounds = client_bounds; 407dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch window_bounds.Inset(GetInsets()); 417dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch return window_bounds; 427dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 437dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 447dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochint MessageCenterFrameView::NonClientHitTest(const gfx::Point& point) { 457dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch gfx::Rect frame_bounds = bounds(); 467dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch frame_bounds.Inset(GetInsets()); 477dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch if (!frame_bounds.Contains(point)) 487dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch return HTNOWHERE; 497dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 507dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch return GetWidget()->client_view()->NonClientHitTest(point); 517dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 527dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 537dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid MessageCenterFrameView::GetWindowMask(const gfx::Size& size, 547dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch gfx::Path* window_mask) { 557dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 567dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 577dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid MessageCenterFrameView::ResetWindowControls() { 587dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 597dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 607dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid MessageCenterFrameView::UpdateWindowIcon() { 617dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 627dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 637dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid MessageCenterFrameView::UpdateWindowTitle() { 647dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 657dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid MessageCenterFrameView::SizeConstraintsChanged() { 671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 697dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochgfx::Insets MessageCenterFrameView::GetInsets() const { 707dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch return border()->GetInsets(); 717dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 727dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 737dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochconst char* MessageCenterFrameView::GetClassName() const { 747dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch return "MessageCenterFrameView"; 757dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 767dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 777dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} // namespace message_center 78