diff options
author | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-13 20:42:41 +0000 |
---|---|---|
committer | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-13 20:42:41 +0000 |
commit | fe60c198e543f1d140dbab1f711e48d54a451493 (patch) | |
tree | c631eb4a4b58ae30ee11386ad64838276fe23089 /ui | |
parent | 3ed90e3f055e2a5b45548493a7eaeef96956f271 (diff) | |
download | chromium_src-fe60c198e543f1d140dbab1f711e48d54a451493.zip chromium_src-fe60c198e543f1d140dbab1f711e48d54a451493.tar.gz chromium_src-fe60c198e543f1d140dbab1f711e48d54a451493.tar.bz2 |
ash: Show better focus rects for the tray.
BUG=122933
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10086005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132261 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r-- | ui/views/controls/slider.cc | 12 | ||||
-rw-r--r-- | ui/views/controls/slider.h | 6 |
2 files changed, 17 insertions, 1 deletions
diff --git a/ui/views/controls/slider.cc b/ui/views/controls/slider.cc index 218c13e..c41fc22 100644 --- a/ui/views/controls/slider.cc +++ b/ui/views/controls/slider.cc @@ -30,7 +30,8 @@ Slider::Slider(SliderListener* listener, Orientation orientation) value_(0.f), keyboard_increment_(0.1f), animating_value_(0.f), - value_is_valid_(false) { + value_is_valid_(false), + focus_border_color_(0) { EnableCanvasFlippingForRTLUI(true); set_focusable(true); } @@ -214,4 +215,13 @@ void Slider::GetAccessibleState(ui::AccessibleViewState* state) { base::StringPrintf("%d%%", (int)(value_ * 100 + 0.5))); } +void Slider::OnPaintFocusBorder(gfx::Canvas* canvas) { + if (!focus_border_color_) { + View::OnPaintFocusBorder(canvas); + } else if (HasFocus() && (focusable() || IsAccessibilityFocusable())) { + canvas->DrawRect(gfx::Rect(1, 1, width() - 3, height() - 3), + focus_border_color_); + } +} + } // namespace views diff --git a/ui/views/controls/slider.h b/ui/views/controls/slider.h index b053f42..7434c8f 100644 --- a/ui/views/controls/slider.h +++ b/ui/views/controls/slider.h @@ -10,6 +10,8 @@ #include "ui/views/view.h" #include "ui/views/views_export.h" +typedef unsigned int SkColor; + namespace ui { class SlideAnimation; } @@ -58,6 +60,8 @@ class VIEWS_EXPORT Slider : public View, void SetAccessibleName(const string16& name); + void set_focus_border_color(SkColor color) { focus_border_color_ = color; } + private: void SetValueInternal(float value, SliderChangeReason reason); @@ -74,6 +78,7 @@ class VIEWS_EXPORT Slider : public View, const views::GestureEvent& event) OVERRIDE; virtual bool OnKeyPressed(const views::KeyEvent& event) OVERRIDE; virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; + virtual void OnPaintFocusBorder(gfx::Canvas* canvas) OVERRIDE; // ui::AnimationDelegate overrides: virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE; @@ -88,6 +93,7 @@ class VIEWS_EXPORT Slider : public View, float animating_value_; bool value_is_valid_; string16 accessible_name_; + SkColor focus_border_color_; DISALLOW_COPY_AND_ASSIGN(Slider); }; |