summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorsadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-13 20:42:41 +0000
committersadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-13 20:42:41 +0000
commitfe60c198e543f1d140dbab1f711e48d54a451493 (patch)
treec631eb4a4b58ae30ee11386ad64838276fe23089 /ui
parent3ed90e3f055e2a5b45548493a7eaeef96956f271 (diff)
downloadchromium_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.cc12
-rw-r--r--ui/views/controls/slider.h6
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);
};