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

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

Issue 2811032: Revert 50784 - Canvas refactoring part 3.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 6 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/glass_browser_frame_view.h" 5 #include "chrome/browser/views/frame/glass_browser_frame_view.h"
6 6
7 #include "app/resource_bundle.h" 7 #include "app/resource_bundle.h"
8 #include "app/theme_provider.h" 8 #include "app/theme_provider.h"
9 #include "chrome/app/chrome_dll_resource.h" 9 #include "chrome/app/chrome_dll_resource.h"
10 #include "chrome/browser/browser_theme_provider.h" 10 #include "chrome/browser/browser_theme_provider.h"
11 #include "chrome/browser/views/frame/browser_view.h" 11 #include "chrome/browser/views/frame/browser_view.h"
12 #include "chrome/browser/views/tabs/side_tab_strip.h" 12 #include "chrome/browser/views/tabs/side_tab_strip.h"
13 #include "chrome/browser/views/tabs/tab.h" 13 #include "chrome/browser/views/tabs/tab.h"
14 #include "chrome/browser/views/tabs/tab_strip.h" 14 #include "chrome/browser/views/tabs/tab_strip.h"
15 #include "gfx/canvas_skia.h" 15 #include "gfx/canvas.h"
16 #include "gfx/icon_util.h" 16 #include "gfx/icon_util.h"
17 #include "grit/app_resources.h" 17 #include "grit/app_resources.h"
18 #include "grit/theme_resources.h" 18 #include "grit/theme_resources.h"
19 #include "views/window/client_view.h" 19 #include "views/window/client_view.h"
20 #include "views/window/window_resources.h" 20 #include "views/window/window_resources.h"
21 21
22 HICON GlassBrowserFrameView::throbber_icons_[ 22 HICON GlassBrowserFrameView::throbber_icons_[
23 GlassBrowserFrameView::kThrobberIconCount]; 23 GlassBrowserFrameView::kThrobberIconCount];
24 24
25 namespace { 25 namespace {
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 int y = tabstrip_bounds.y(); 257 int y = tabstrip_bounds.y();
258 int w = toolbar_bounds.right() - x; 258 int w = toolbar_bounds.right() - x;
259 259
260 int src_y = Tab::GetMinimumUnselectedSize().height(); 260 int src_y = Tab::GetMinimumUnselectedSize().height();
261 canvas->TileImageInt(*theme_toolbar, 0, src_y, 261 canvas->TileImageInt(*theme_toolbar, 0, src_y,
262 MirroredLeftPointForRect(toolbar_bounds), y, 262 MirroredLeftPointForRect(toolbar_bounds), y,
263 toolbar_bounds.width(), theme_toolbar->height()); 263 toolbar_bounds.width(), theme_toolbar->height());
264 264
265 // Draw left edge. We explicitly set a clip as the image is bigger than just 265 // Draw left edge. We explicitly set a clip as the image is bigger than just
266 // the corner. 266 // the corner.
267 canvas->AsCanvasSkia()->save(); 267 canvas->save();
268 canvas->ClipRectInt(x - kNonClientBorderThickness, 268 canvas->ClipRectInt(x - kNonClientBorderThickness,
269 y - kNonClientBorderThickness, 269 y - kNonClientBorderThickness,
270 kNonClientBorderThickness, 270 kNonClientBorderThickness,
271 kNonClientBorderThickness); 271 kNonClientBorderThickness);
272 canvas->DrawBitmapInt(*toolbar_left, x - kNonClientBorderThickness, 272 canvas->DrawBitmapInt(*toolbar_left, x - kNonClientBorderThickness,
273 y - kNonClientBorderThickness); 273 y - kNonClientBorderThickness);
274 canvas->AsCanvasSkia()->restore(); 274 canvas->restore();
275 275
276 // Draw center edge. We need to draw a while line above the toolbar for the 276 // Draw center edge. We need to draw a while line above the toolbar for the
277 // image to overlay nicely. 277 // image to overlay nicely.
278 canvas->FillRectInt(SK_ColorWHITE, x, y - 1, w, 1); 278 canvas->FillRectInt(SK_ColorWHITE, x, y - 1, w, 1);
279 canvas->TileImageInt(*toolbar_center, x, y - kNonClientBorderThickness, w, 279 canvas->TileImageInt(*toolbar_center, x, y - kNonClientBorderThickness, w,
280 toolbar_center->height()); 280 toolbar_center->height());
281 // Right edge. Again, we have to clip because of image size. 281 // Right edge. Again, we have to clip because of image size.
282 canvas->AsCanvasSkia()->save(); 282 canvas->save();
283 canvas->ClipRectInt(x + w - kNonClientBorderThickness, 283 canvas->ClipRectInt(x + w - kNonClientBorderThickness,
284 y - kNonClientBorderThickness, 284 y - kNonClientBorderThickness,
285 kNonClientBorderThickness, 285 kNonClientBorderThickness,
286 kNonClientBorderThickness); 286 kNonClientBorderThickness);
287 canvas->DrawBitmapInt(*tp->GetBitmapNamed(IDR_CONTENT_TOP_RIGHT_CORNER), 287 canvas->DrawBitmapInt(*tp->GetBitmapNamed(IDR_CONTENT_TOP_RIGHT_CORNER),
288 x + w, y); 288 x + w, y);
289 canvas->AsCanvasSkia()->restore(); 289 canvas->restore();
290 } else { 290 } else {
291 // Draw the toolbar background, setting src_y of the paint to the tab 291 // Draw the toolbar background, setting src_y of the paint to the tab
292 // strip height as the toolbar background begins at the top of the tabs. 292 // strip height as the toolbar background begins at the top of the tabs.
293 int src_y = browser_view_->GetTabStripHeight() - 1; 293 int src_y = browser_view_->GetTabStripHeight() - 1;
294 canvas->TileImageInt(*theme_toolbar, 0, src_y, 294 canvas->TileImageInt(*theme_toolbar, 0, src_y,
295 toolbar_bounds.x() - 1, toolbar_bounds.y() + 2, 295 toolbar_bounds.x() - 1, toolbar_bounds.y() + 2,
296 toolbar_bounds.width() + 2, theme_toolbar->height()); 296 toolbar_bounds.width() + 2, theme_toolbar->height());
297 // Draw rounded corners for the tab. 297 // Draw rounded corners for the tab.
298 SkBitmap* toolbar_left_mask = 298 SkBitmap* toolbar_left_mask =
299 tp->GetBitmapNamed(IDR_CONTENT_TOP_LEFT_CORNER_MASK); 299 tp->GetBitmapNamed(IDR_CONTENT_TOP_LEFT_CORNER_MASK);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 int dst_x = MirroredLeftPointForRect(otr_avatar_bounds_); 349 int dst_x = MirroredLeftPointForRect(otr_avatar_bounds_);
350 int dst_y = otr_avatar_bounds_.y(); 350 int dst_y = otr_avatar_bounds_.y();
351 int w = otr_avatar_bounds_.width(); 351 int w = otr_avatar_bounds_.width();
352 int h = otr_avatar_bounds_.height(); 352 int h = otr_avatar_bounds_.height();
353 if (browser_view_->UseVerticalTabs()) { 353 if (browser_view_->UseVerticalTabs()) {
354 // Only a portion of the otr icon is visible for vertical tabs. Clip it 354 // Only a portion of the otr icon is visible for vertical tabs. Clip it
355 // so that it doesn't overlap shadows. 355 // so that it doesn't overlap shadows.
356 gfx::Point tabstrip_origin(browser_view_->tabstrip()->bounds().origin()); 356 gfx::Point tabstrip_origin(browser_view_->tabstrip()->bounds().origin());
357 View::ConvertPointToView(frame_->GetWindow()->GetClientView(), this, 357 View::ConvertPointToView(frame_->GetWindow()->GetClientView(), this,
358 &tabstrip_origin); 358 &tabstrip_origin);
359 canvas->AsCanvasSkia()->save(); 359 canvas->save();
360 canvas->ClipRectInt(dst_x, 2, w, tabstrip_origin.y() - 4); 360 canvas->ClipRectInt(dst_x, 2, w, tabstrip_origin.y() - 4);
361 canvas->DrawBitmapInt(otr_avatar_icon, src_x, src_y, w, h, dst_x, dst_y, 361 canvas->DrawBitmapInt(otr_avatar_icon, src_x, src_y, w, h, dst_x, dst_y,
362 w, h, false); 362 w, h, false);
363 canvas->AsCanvasSkia()->restore(); 363 canvas->restore();
364 } else { 364 } else {
365 canvas->DrawBitmapInt(otr_avatar_icon, src_x, src_y, w, h, dst_x, dst_y, 365 canvas->DrawBitmapInt(otr_avatar_icon, src_x, src_y, w, h, dst_x, dst_y,
366 w, h, false); 366 w, h, false);
367 } 367 }
368 } 368 }
369 369
370 void GlassBrowserFrameView::PaintRestoredClientEdge(gfx::Canvas* canvas) { 370 void GlassBrowserFrameView::PaintRestoredClientEdge(gfx::Canvas* canvas) {
371 ThemeProvider* tp = GetThemeProvider(); 371 ThemeProvider* tp = GetThemeProvider();
372 372
373 gfx::Rect client_area_bounds = CalculateClientAreaBounds(width(), height()); 373 gfx::Rect client_area_bounds = CalculateClientAreaBounds(width(), height());
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 static bool initialized = false; 517 static bool initialized = false;
518 if (!initialized) { 518 if (!initialized) {
519 ResourceBundle &rb = ResourceBundle::GetSharedInstance(); 519 ResourceBundle &rb = ResourceBundle::GetSharedInstance();
520 for (int i = 0; i < kThrobberIconCount; ++i) { 520 for (int i = 0; i < kThrobberIconCount; ++i) {
521 throbber_icons_[i] = rb.LoadThemeIcon(IDI_THROBBER_01 + i); 521 throbber_icons_[i] = rb.LoadThemeIcon(IDI_THROBBER_01 + i);
522 DCHECK(throbber_icons_[i]); 522 DCHECK(throbber_icons_[i]);
523 } 523 }
524 initialized = true; 524 initialized = true;
525 } 525 }
526 } 526 }
OLDNEW
« no previous file with comments | « chrome/browser/views/frame/browser_view.cc ('k') | chrome/browser/views/frame/opaque_browser_frame_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698