summaryrefslogtreecommitdiffstats
path: root/ash/touch
diff options
context:
space:
mode:
authorsadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-31 23:42:36 +0000
committersadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-31 23:42:36 +0000
commit7c58249fb9b170f84580900023aa74c326897e0a (patch)
tree68e1f37ec194194166ce5eb5b025bee08decc3f0 /ash/touch
parentdf504abd666b4f3cb29e595599da7b2eec9fc20c (diff)
downloadchromium_src-7c58249fb9b170f84580900023aa74c326897e0a.zip
chromium_src-7c58249fb9b170f84580900023aa74c326897e0a.tar.gz
chromium_src-7c58249fb9b170f84580900023aa74c326897e0a.tar.bz2
ash: Add an accelerator to clear the HUD.
BUG=none Review URL: https://codereview.chromium.org/12093094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180005 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/touch')
-rw-r--r--ash/touch/touch_observer_hud.cc15
-rw-r--r--ash/touch/touch_observer_hud.h4
2 files changed, 19 insertions, 0 deletions
diff --git a/ash/touch/touch_observer_hud.cc b/ash/touch/touch_observer_hud.cc
index d6408c0..51809b0 100644
--- a/ash/touch/touch_observer_hud.cc
+++ b/ash/touch/touch_observer_hud.cc
@@ -87,6 +87,16 @@ class TouchHudCanvas : public views::View {
SchedulePaint();
}
+ void Clear() {
+ path_index_ = 0;
+ color_index_ = 0;
+ for (size_t i = 0; i < arraysize(paths_); ++i) {
+ paths_[i].reset();
+ }
+
+ SchedulePaint();
+ }
+
private:
// Overridden from views::View.
virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE {
@@ -186,6 +196,11 @@ void TouchObserverHUD::ChangeToNextMode() {
}
}
+void TouchObserverHUD::Clear() {
+ if (widget_->IsVisible())
+ canvas_->Clear();
+}
+
void TouchObserverHUD::UpdateTouchPointLabel(int index) {
const char* status = NULL;
switch (touch_status_[index]) {
diff --git a/ash/touch/touch_observer_hud.h b/ash/touch/touch_observer_hud.h
index 12dbe2b..3ae4e3d 100644
--- a/ash/touch/touch_observer_hud.h
+++ b/ash/touch/touch_observer_hud.h
@@ -36,6 +36,10 @@ class TouchObserverHUD : public ui::EventHandler,
// cycles between a fixed number of display modes.
void ChangeToNextMode();
+ // Removes all existing touch points from the screen (only if the HUD is
+ // visible).
+ void Clear();
+
private:
void UpdateTouchPointLabel(int index);