Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(689)

Side by Side Diff: chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc

Issue 8343066: aura: Draw persistent borders around browser windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.h" 5 #include "chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.h"
6 6
7 #include "chrome/browser/ui/views/frame/browser_frame.h" 7 #include "chrome/browser/ui/views/frame/browser_frame.h"
8 #include "chrome/browser/ui/views/frame/browser_view.h" 8 #include "chrome/browser/ui/views/frame/browser_view.h"
9 #include "grit/generated_resources.h" // Accessibility names 9 #include "grit/generated_resources.h" // Accessibility names
10 #include "grit/ui_resources.h" 10 #include "grit/ui_resources.h"
(...skipping 17 matching lines...) Expand all
28 namespace { 28 namespace {
29 // Our window is larger than it appears, as it includes space around the edges 29 // Our window is larger than it appears, as it includes space around the edges
30 // where resize handles can appear. 30 // where resize handles can appear.
31 const int kResizeBorderThickness = 8; 31 const int kResizeBorderThickness = 8;
32 // The top edge is a little thinner, as it is not draggable for resize. 32 // The top edge is a little thinner, as it is not draggable for resize.
33 const int kTopBorderThickness = 4; 33 const int kTopBorderThickness = 4;
34 // Offset between top of non-client frame and top edge of opaque frame 34 // Offset between top of non-client frame and top edge of opaque frame
35 // background at start of slide-in animation. 35 // background at start of slide-in animation.
36 const int kFrameBackgroundTopOffset = 25; 36 const int kFrameBackgroundTopOffset = 25;
37 37
38 // Width of a persistent border that we show around the window (using
39 // FrameBackground), even when the resize border isn't visible.
40 const int kPersistentBorderThickness = 2;
41
38 // The color used to fill the frame. Opacity is handled in the layer. 42 // The color used to fill the frame. Opacity is handled in the layer.
39 const SkColor kFrameColor = SK_ColorBLACK; 43 const SkColor kFrameColor = SK_ColorBLACK;
40 // Radius of rounded rectangle corners. 44 // Radius of rounded rectangle corners.
41 const int kRoundedRectRadius = 3; 45 const int kRoundedRectRadius = 3;
42 // Frame border fades in over this range of opacity. 46 // Frame border fades in over this range of opacity.
43 const double kFrameBorderStartOpacity = 0.2; 47 const double kFrameBorderStartOpacity = 0.2;
44 const double kFrameBorderEndOpacity = 0.3; 48 const double kFrameBorderEndOpacity = 0.3;
45 // How long the hover animation takes if uninterrupted. 49 // How long the hover animation takes if uninterrupted.
46 const int kHoverFadeDurationMs = 250; 50 const int kHoverFadeDurationMs = 250;
47 51
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 break; 298 break;
295 default: 299 default:
296 break; 300 break;
297 } 301 }
298 // Always show top edge for the active window so that you can tell which 302 // Always show top edge for the active window so that you can tell which
299 // window has focus. 303 // window has focus.
300 if (active_window) 304 if (active_window)
301 show_top = true; 305 show_top = true;
302 gfx::Rect target = bounds(); 306 gfx::Rect target = bounds();
303 // Inset the sides that are not showing. 307 // Inset the sides that are not showing.
304 target.Inset((show_left ? 0 : kResizeBorderThickness), 308 target.Inset(
305 (show_top ? 0 : kTopBorderThickness + kFrameBackgroundTopOffset), 309 (show_left ? 0 : kResizeBorderThickness - kPersistentBorderThickness),
306 (show_right ? 0 : kResizeBorderThickness), 310 (show_top ? 0 : kTopBorderThickness + kFrameBackgroundTopOffset),
307 (show_bottom ? 0 : kResizeBorderThickness)); 311 (show_right ? 0 : kResizeBorderThickness - kPersistentBorderThickness),
312 (show_bottom ? 0 : kResizeBorderThickness - kPersistentBorderThickness));
308 return target; 313 return target;
309 } 314 }
310 315
311 void BrowserNonClientFrameViewAura::UpdateFrameBackground(bool active_window) { 316 void BrowserNonClientFrameViewAura::UpdateFrameBackground(bool active_window) {
312 gfx::Rect start_bounds = GetFrameBackgroundBounds(HTNOWHERE, active_window); 317 gfx::Rect start_bounds = GetFrameBackgroundBounds(HTNOWHERE, active_window);
313 gfx::Rect end_bounds = 318 gfx::Rect end_bounds =
314 GetFrameBackgroundBounds(last_hittest_code_, active_window); 319 GetFrameBackgroundBounds(last_hittest_code_, active_window);
315 frame_background_->Configure(start_bounds, end_bounds); 320 frame_background_->Configure(start_bounds, end_bounds);
316 } 321 }
317 322
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 views::Widget* widget, bool active) { 521 views::Widget* widget, bool active) {
517 // Active windows have different background bounds. 522 // Active windows have different background bounds.
518 UpdateFrameBackground(active); 523 UpdateFrameBackground(active);
519 if (active) 524 if (active)
520 frame_background_->Show(); 525 frame_background_->Show();
521 else 526 else
522 frame_background_->Hide(); 527 frame_background_->Hide();
523 maximize_button_->SetVisible(active); 528 maximize_button_->SetVisible(active);
524 close_button_->SetVisible(active); 529 close_button_->SetVisible(active);
525 } 530 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698