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

Side by Side Diff: chrome/browser/ui/cocoa/download/download_item_cell.mm

Issue 6904026: Add and use gfx::ScopedNSGraphicsContextState (ui/gfx/scoped_ns_graphics_context_state_mac.h). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rename Created 9 years, 8 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) 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 #import "chrome/browser/ui/cocoa/download/download_item_cell.h" 5 #import "chrome/browser/ui/cocoa/download/download_item_cell.h"
6 6
7 #include "base/sys_string_conversions.h" 7 #include "base/sys_string_conversions.h"
8 #include "chrome/browser/download/download_item.h" 8 #include "chrome/browser/download/download_item.h"
9 #include "chrome/browser/download/download_item_model.h" 9 #include "chrome/browser/download/download_item_model.h"
10 #include "chrome/browser/download/download_manager.h" 10 #include "chrome/browser/download/download_manager.h"
11 #include "chrome/browser/download/download_util.h" 11 #include "chrome/browser/download/download_util.h"
12 #import "chrome/browser/themes/theme_service.h" 12 #import "chrome/browser/themes/theme_service.h"
13 #import "chrome/browser/ui/cocoa/download/download_item_cell.h" 13 #import "chrome/browser/ui/cocoa/download/download_item_cell.h"
14 #import "chrome/browser/ui/cocoa/image_utils.h" 14 #import "chrome/browser/ui/cocoa/image_utils.h"
15 #import "chrome/browser/ui/cocoa/themed_window.h" 15 #import "chrome/browser/ui/cocoa/themed_window.h"
16 #include "grit/theme_resources.h" 16 #include "grit/theme_resources.h"
17 #import "third_party/GTM/AppKit/GTMNSAnimation+Duration.h" 17 #import "third_party/GTM/AppKit/GTMNSAnimation+Duration.h"
18 #import "third_party/GTM/AppKit/GTMNSColor+Luminance.h" 18 #import "third_party/GTM/AppKit/GTMNSColor+Luminance.h"
19 #include "ui/base/l10n/l10n_util.h" 19 #include "ui/base/l10n/l10n_util.h"
20 #include "ui/base/text/text_elider.h" 20 #include "ui/base/text/text_elider.h"
21 #include "ui/gfx/canvas_skia_paint.h" 21 #include "ui/gfx/canvas_skia_paint.h"
22 #include "ui/gfx/scoped_ns_graphics_context_save_gstate_mac.h"
22 23
23 namespace { 24 namespace {
24 25
25 // Distance from top border to icon. 26 // Distance from top border to icon.
26 const CGFloat kImagePaddingTop = 7; 27 const CGFloat kImagePaddingTop = 7;
27 28
28 // Distance from left border to icon. 29 // Distance from left border to icon.
29 const CGFloat kImagePaddingLeft = 9; 30 const CGFloat kImagePaddingLeft = 9;
30 31
31 // Width of icon. 32 // Width of icon.
(...skipping 614 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 NSPoint p2 = NSMakePoint(cx + kDropdownArrowWidth/2, 647 NSPoint p2 = NSMakePoint(cx + kDropdownArrowWidth/2,
647 cy - kDropdownArrowHeight/3 + kDropdownAreaY); 648 cy - kDropdownArrowHeight/3 + kDropdownAreaY);
648 NSPoint p3 = NSMakePoint(cx, cy + kDropdownArrowHeight*2/3 + kDropdownAreaY); 649 NSPoint p3 = NSMakePoint(cx, cy + kDropdownArrowHeight*2/3 + kDropdownAreaY);
649 NSBezierPath *triangle = [NSBezierPath bezierPath]; 650 NSBezierPath *triangle = [NSBezierPath bezierPath];
650 [triangle moveToPoint:p1]; 651 [triangle moveToPoint:p1];
651 [triangle lineToPoint:p2]; 652 [triangle lineToPoint:p2];
652 [triangle lineToPoint:p3]; 653 [triangle lineToPoint:p3];
653 [triangle closePath]; 654 [triangle closePath];
654 655
655 NSGraphicsContext* context = [NSGraphicsContext currentContext]; 656 NSGraphicsContext* context = [NSGraphicsContext currentContext];
656 [context saveGraphicsState]; 657 gfx::ScopedNSGraphicsContextSaveGState scopedGState(context);
657 658
658 scoped_nsobject<NSShadow> shadow([[NSShadow alloc] init]); 659 scoped_nsobject<NSShadow> shadow([[NSShadow alloc] init]);
659 [shadow.get() setShadowColor:[NSColor whiteColor]]; 660 [shadow.get() setShadowColor:[NSColor whiteColor]];
660 [shadow.get() setShadowOffset:NSMakeSize(0, -1)]; 661 [shadow.get() setShadowOffset:NSMakeSize(0, -1)];
661 [shadow setShadowBlurRadius:0.0]; 662 [shadow setShadowBlurRadius:0.0];
662 [shadow set]; 663 [shadow set];
663 664
664 NSColor* fill = [self titleColorForPart:kDownloadItemMouseOverDropdownPart]; 665 NSColor* fill = [self titleColorForPart:kDownloadItemMouseOverDropdownPart];
665 [fill setFill]; 666 [fill setFill];
666 667
667 [triangle fill]; 668 [triangle fill];
668
669 [context restoreGraphicsState];
670 } 669 }
671 670
672 - (NSRect)imageRectForBounds:(NSRect)cellFrame { 671 - (NSRect)imageRectForBounds:(NSRect)cellFrame {
673 return NSMakeRect(cellFrame.origin.x + kImagePaddingLeft, 672 return NSMakeRect(cellFrame.origin.x + kImagePaddingLeft,
674 cellFrame.origin.y + kImagePaddingTop, 673 cellFrame.origin.y + kImagePaddingTop,
675 kImageWidth, 674 kImageWidth,
676 kImageHeight); 675 kImageHeight);
677 } 676 }
678 677
679 - (void)hideSecondaryTitle { 678 - (void)hideSecondaryTitle {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 } 725 }
727 return self; 726 return self;
728 } 727 }
729 728
730 - (void)setCurrentProgress:(NSAnimationProgress)progress { 729 - (void)setCurrentProgress:(NSAnimationProgress)progress {
731 [super setCurrentProgress:progress]; 730 [super setCurrentProgress:progress];
732 [cell_ animation:self progressed:progress]; 731 [cell_ animation:self progressed:progress];
733 } 732 }
734 733
735 @end 734 @end
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/dock_icon.mm ('k') | chrome/browser/ui/cocoa/extensions/browser_action_button.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698