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

Side by Side Diff: views/controls/button/text_button.cc

Issue 7196002: Fix checkbox in windows uninstaller. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Uploading after sync merge Created 9 years, 5 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 | « views/controls/button/checkbox.cc ('k') | views/examples/native_theme_button_example.cc » ('j') | 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 "views/controls/button/text_button.h" 5 #include "views/controls/button/text_button.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
11 #include "grit/app_resources.h" 11 #include "grit/app_resources.h"
12 #include "ui/base/animation/throb_animation.h" 12 #include "ui/base/animation/throb_animation.h"
13 #include "ui/base/resource/resource_bundle.h" 13 #include "ui/base/resource/resource_bundle.h"
14 #include "ui/gfx/canvas_skia.h" 14 #include "ui/gfx/canvas_skia.h"
15 #include "views/controls/button/button.h" 15 #include "views/controls/button/button.h"
16 #include "views/events/event.h" 16 #include "views/events/event.h"
17 #include "views/widget/widget.h" 17 #include "views/widget/widget.h"
18 18
19 #if defined(OS_WIN) 19 #if defined(OS_WIN)
20 #include "ui/gfx/native_theme_win.h"
20 #include "ui/gfx/platform_font_win.h" 21 #include "ui/gfx/platform_font_win.h"
21 #endif 22 #endif
22 23
23 namespace views { 24 namespace views {
24 25
25 #if defined(OS_WIN) 26 #if defined(OS_WIN)
26 // The min size in DLUs comes from 27 // The min size in DLUs comes from
27 // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/c h14e.asp 28 // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/c h14e.asp
28 static const int kMinWidthDLUs = 50; 29 static const int kMinWidthDLUs = 50;
29 static const int kMinHeightDLUs = 14; 30 static const int kMinHeightDLUs = 14;
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 return gfx::NativeTheme::kHovered; 601 return gfx::NativeTheme::kHovered;
601 case BS_PUSHED: 602 case BS_PUSHED:
602 return gfx::NativeTheme::kPressed; 603 return gfx::NativeTheme::kPressed;
603 default: 604 default:
604 NOTREACHED() << "Unknown state: " << state(); 605 NOTREACHED() << "Unknown state: " << state();
605 return gfx::NativeTheme::kNormal; 606 return gfx::NativeTheme::kNormal;
606 } 607 }
607 } 608 }
608 609
609 const ui::Animation* TextButtonBase::GetThemeAnimation() const { 610 const ui::Animation* TextButtonBase::GetThemeAnimation() const {
611 #if defined(OS_WIN)
612 return gfx::NativeThemeWin::instance()->IsThemingActive()
613 ? hover_animation_.get() : NULL;
614 #else
610 return hover_animation_.get(); 615 return hover_animation_.get();
616 #endif
611 } 617 }
612 618
613 gfx::NativeTheme::State TextButtonBase::GetBackgroundThemeState( 619 gfx::NativeTheme::State TextButtonBase::GetBackgroundThemeState(
614 gfx::NativeTheme::ExtraParams* params) const { 620 gfx::NativeTheme::ExtraParams* params) const {
615 GetExtraParams(params); 621 GetExtraParams(params);
616 return gfx::NativeTheme::kNormal; 622 return gfx::NativeTheme::kNormal;
617 } 623 }
618 624
619 gfx::NativeTheme::State TextButtonBase::GetForegroundThemeState( 625 gfx::NativeTheme::State TextButtonBase::GetForegroundThemeState(
620 gfx::NativeTheme::ExtraParams* params) const { 626 gfx::NativeTheme::ExtraParams* params) const {
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
719 725
720 std::string TextButton::GetClassName() const { 726 std::string TextButton::GetClassName() const {
721 return kViewClassName; 727 return kViewClassName;
722 } 728 }
723 729
724 gfx::NativeTheme::Part TextButton::GetThemePart() const { 730 gfx::NativeTheme::Part TextButton::GetThemePart() const {
725 return gfx::NativeTheme::kPushButton; 731 return gfx::NativeTheme::kPushButton;
726 } 732 }
727 733
728 void TextButton::GetExtraParams(gfx::NativeTheme::ExtraParams* params) const { 734 void TextButton::GetExtraParams(gfx::NativeTheme::ExtraParams* params) const {
729 params->button.checked = false; 735 TextButtonBase::GetExtraParams(params);
730 params->button.indeterminate = false;
731 params->button.is_default = is_default_; 736 params->button.is_default = is_default_;
732 params->button.has_border = false;
733 params->button.classic_state = 0;
734 params->button.background_color = kEnabledColor;
735 } 737 }
736 738
737 gfx::Rect TextButton::GetTextBounds() const { 739 gfx::Rect TextButton::GetTextBounds() const {
738 int extra_width = 0; 740 int extra_width = 0;
739 741
740 const SkBitmap& icon = GetImageToPaint(); 742 const SkBitmap& icon = GetImageToPaint();
741 if (icon.width() > 0) 743 if (icon.width() > 0)
742 extra_width = icon.width() + (text_.empty() ? 0 : icon_text_spacing_); 744 extra_width = icon.width() + (text_.empty() ? 0 : icon_text_spacing_);
743 745
744 gfx::Rect bounds(GetContentBounds(extra_width)); 746 gfx::Rect bounds(GetContentBounds(extra_width));
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
790 792
791 gfx::Size NativeTextButton::GetMinimumSize() { 793 gfx::Size NativeTextButton::GetMinimumSize() {
792 return GetPreferredSize(); 794 return GetPreferredSize();
793 } 795 }
794 796
795 std::string NativeTextButton::GetClassName() const { 797 std::string NativeTextButton::GetClassName() const {
796 return kViewClassName; 798 return kViewClassName;
797 } 799 }
798 800
799 } // namespace views 801 } // namespace views
OLDNEW
« no previous file with comments | « views/controls/button/checkbox.cc ('k') | views/examples/native_theme_button_example.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698