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

Side by Side Diff: chrome/browser/views/frame/opaque_non_client_view.cc

Issue 6349: Attempt to fix more standard non-client painting by extending the client area... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years, 2 months 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 | « chrome/browser/views/frame/browser_view2.cc ('k') | 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/views/frame/opaque_non_client_view.h" 5 #include "chrome/browser/views/frame/opaque_non_client_view.h"
6 6
7 #include "chrome/app/theme/theme_resources.h" 7 #include "chrome/app/theme/theme_resources.h"
8 #include "chrome/browser/views/frame/browser_view2.h" 8 #include "chrome/browser/views/frame/browser_view2.h"
9 #include "chrome/browser/views/tabs/tab_strip.h" 9 #include "chrome/browser/views/tabs/tab_strip.h"
10 #include "chrome/browser/views/window_resources.h" 10 #include "chrome/browser/views/window_resources.h"
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 int top_height = CalculateNonClientTopHeight(); 451 int top_height = CalculateNonClientTopHeight();
452 int window_x = std::max(0, client_bounds.x() - kWindowHorizontalBorderSize); 452 int window_x = std::max(0, client_bounds.x() - kWindowHorizontalBorderSize);
453 int window_y = std::max(0, client_bounds.y() - top_height); 453 int window_y = std::max(0, client_bounds.y() - top_height);
454 int window_w = client_bounds.width() + (2 * kWindowHorizontalBorderSize); 454 int window_w = client_bounds.width() + (2 * kWindowHorizontalBorderSize);
455 int window_h = 455 int window_h =
456 client_bounds.height() + top_height + kWindowVerticalBorderBottomSize; 456 client_bounds.height() + top_height + kWindowVerticalBorderBottomSize;
457 return gfx::Rect(window_x, window_y, window_w, window_h); 457 return gfx::Rect(window_x, window_y, window_w, window_h);
458 } 458 }
459 459
460 gfx::Rect OpaqueNonClientView::GetBoundsForTabStrip(TabStrip* tabstrip) { 460 gfx::Rect OpaqueNonClientView::GetBoundsForTabStrip(TabStrip* tabstrip) {
461 int tabstrip_height = tabstrip->GetPreferredHeight();
462 int tabstrip_x = otr_avatar_bounds_.right(); 461 int tabstrip_x = otr_avatar_bounds_.right();
462 int tabstrip_y = CalculateNonClientTopHeight();
463 int tabstrip_height =
464 browser_view_->IsTabStripVisible() ? tabstrip->GetPreferredHeight() : 0;
463 int tabstrip_width = minimize_button_->x() - tabstrip_x; 465 int tabstrip_width = minimize_button_->x() - tabstrip_x;
464 if (frame_->IsMaximized()) 466 if (frame_->IsMaximized())
465 tabstrip_width -= kNewTabIconWindowControlsSpacing; 467 tabstrip_width -= kNewTabIconWindowControlsSpacing;
466 return gfx::Rect(tabstrip_x, 0, tabstrip_width, tabstrip_height); 468 return gfx::Rect(tabstrip_x, tabstrip_y, tabstrip_width, tabstrip_height);
467 } 469 }
468 470
469 void OpaqueNonClientView::UpdateWindowIcon() { 471 void OpaqueNonClientView::UpdateWindowIcon() {
470 if (window_icon_) 472 if (window_icon_)
471 window_icon_->Update(); 473 window_icon_->Update();
472 } 474 }
473 475
474 /////////////////////////////////////////////////////////////////////////////// 476 ///////////////////////////////////////////////////////////////////////////////
475 // OpaqueNonClientView, TabIconView::TabContentsProvider implementation: 477 // OpaqueNonClientView, TabIconView::TabContentsProvider implementation:
476 478
(...skipping 18 matching lines...) Expand all
495 } else if (sender == close_button_) { 497 } else if (sender == close_button_) {
496 frame_->ExecuteSystemMenuCommand(SC_CLOSE); 498 frame_->ExecuteSystemMenuCommand(SC_CLOSE);
497 } 499 }
498 } 500 }
499 501
500 /////////////////////////////////////////////////////////////////////////////// 502 ///////////////////////////////////////////////////////////////////////////////
501 // OpaqueNonClientView, ChromeViews::NonClientView implementation: 503 // OpaqueNonClientView, ChromeViews::NonClientView implementation:
502 504
503 gfx::Rect OpaqueNonClientView::CalculateClientAreaBounds(int width, 505 gfx::Rect OpaqueNonClientView::CalculateClientAreaBounds(int width,
504 int height) const { 506 int height) const {
505 int top_margin = CalculateNonClientTopHeight(); 507 return gfx::Rect(kWindowHorizontalBorderSize, 0,
506 return gfx::Rect(kWindowHorizontalBorderSize, top_margin,
507 std::max(0, width - (2 * kWindowHorizontalBorderSize)), 508 std::max(0, width - (2 * kWindowHorizontalBorderSize)),
508 std::max(0, height - top_margin - kWindowVerticalBorderBottomSize)); 509 std::max(0, height - kWindowVerticalBorderBottomSize));
509 } 510 }
510 511
511 gfx::Size OpaqueNonClientView::CalculateWindowSizeForClientSize( 512 gfx::Size OpaqueNonClientView::CalculateWindowSizeForClientSize(
512 int width, 513 int width,
513 int height) const { 514 int height) const {
514 int top_margin = CalculateNonClientTopHeight(); 515 int top_margin = CalculateNonClientTopHeight();
515 return gfx::Size(width + (2 * kWindowHorizontalBorderSize), 516 return gfx::Size(width + (2 * kWindowHorizontalBorderSize),
516 height + top_margin + kWindowVerticalBorderBottomSize); 517 height + top_margin + kWindowVerticalBorderBottomSize);
517 } 518 }
518 519
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after
1034 1035
1035 // static 1036 // static
1036 void OpaqueNonClientView::InitAppWindowResources() { 1037 void OpaqueNonClientView::InitAppWindowResources() {
1037 static bool initialized = false; 1038 static bool initialized = false;
1038 if (!initialized) { 1039 if (!initialized) {
1039 title_font_ = ResourceBundle::GetSharedInstance().GetFont( 1040 title_font_ = ResourceBundle::GetSharedInstance().GetFont(
1040 ResourceBundle::BaseFont).DeriveFont(1, ChromeFont::BOLD); 1041 ResourceBundle::BaseFont).DeriveFont(1, ChromeFont::BOLD);
1041 initialized = true; 1042 initialized = true;
1042 } 1043 }
1043 } 1044 }
OLDNEW
« no previous file with comments | « chrome/browser/views/frame/browser_view2.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698