Index: ash/sticky_keys/sticky_keys_overlay.cc |
diff --git a/ash/sticky_keys/sticky_keys_overlay.cc b/ash/sticky_keys/sticky_keys_overlay.cc |
index 4d32f0328bf0c70875ebdeb781b9266b3a1a3b96..e91caf4ab8753a552014bf697d947a4de0fbe240 100644 |
--- a/ash/sticky_keys/sticky_keys_overlay.cc |
+++ b/ash/sticky_keys/sticky_keys_overlay.cc |
@@ -130,6 +130,8 @@ class StickyKeysOverlayView : public views::WidgetDelegateView { |
StickyKeyState GetKeyState(ui::EventFlags modifier); |
+ void SetModifierVisible(ui::EventFlags modifier, bool visible); |
+ |
private: |
void AddKeyLabel(ui::EventFlags modifier, const std::string& key_label); |
@@ -191,6 +193,13 @@ StickyKeyState StickyKeysOverlayView::GetKeyState(ui::EventFlags modifier) { |
return it->second->state(); |
} |
+void StickyKeysOverlayView::SetModifierVisible(ui::EventFlags modifier, |
+ bool visible) { |
+ ModifierLabelMap::iterator it = modifier_label_map_.find(modifier); |
+ DCHECK(it != modifier_label_map_.end()); |
+ it->second->SetVisible(visible); |
+} |
+ |
void StickyKeysOverlayView::AddKeyLabel(ui::EventFlags modifier, |
const std::string& key_label) { |
StickyKeyOverlayLabel* label = new StickyKeyOverlayLabel(key_label); |
@@ -257,6 +266,12 @@ void StickyKeysOverlay::Show(bool visible) { |
overlay_widget_->GetLayer()->SetTransform(gfx::Transform()); |
} |
+void StickyKeysOverlay::SetModifierVisible(ui::EventFlags modifier, |
+ bool visible) { |
+ overlay_view_->SetModifierVisible(modifier, visible); |
+ widget_size_ = overlay_view_->GetPreferredSize(); |
+} |
+ |
void StickyKeysOverlay::SetModifierKeyState(ui::EventFlags modifier, |
StickyKeyState state) { |
overlay_view_->SetKeyState(modifier, state); |