| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "ash/touch/touch_hud_debug.h" | 5 #include "ash/touch/touch_hud_debug.h" |
| 6 | 6 |
| 7 #include "ash/display/display_manager.h" | 7 #include "ash/display/display_manager.h" |
| 8 #include "ash/root_window_controller.h" | 8 #include "ash/root_window_controller.h" |
| 9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
| 10 #include "base/json/json_string_value_serializer.h" | 10 #include "base/json/json_string_value_serializer.h" |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 location(touch.root_location()), | 94 location(touch.root_location()), |
| 95 timestamp(touch.time_stamp().InMillisecondsF()), | 95 timestamp(touch.time_stamp().InMillisecondsF()), |
| 96 radius_x(touch.pointer_details().radius_x), | 96 radius_x(touch.pointer_details().radius_x), |
| 97 radius_y(touch.pointer_details().radius_y), | 97 radius_y(touch.pointer_details().radius_y), |
| 98 pressure(touch.pointer_details().force), | 98 pressure(touch.pointer_details().force), |
| 99 tracking_id(GetTrackingId(touch)), | 99 tracking_id(GetTrackingId(touch)), |
| 100 source_device(touch.source_device_id()) {} | 100 source_device(touch.source_device_id()) {} |
| 101 | 101 |
| 102 // Populates a dictionary value with all the information about the touch | 102 // Populates a dictionary value with all the information about the touch |
| 103 // point. | 103 // point. |
| 104 scoped_ptr<base::DictionaryValue> GetAsDictionary() const { | 104 std::unique_ptr<base::DictionaryValue> GetAsDictionary() const { |
| 105 scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue()); | 105 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue()); |
| 106 | 106 |
| 107 value->SetInteger("id", id); | 107 value->SetInteger("id", id); |
| 108 value->SetString("type", std::string(GetTouchEventLabel(type))); | 108 value->SetString("type", std::string(GetTouchEventLabel(type))); |
| 109 value->SetString("location", location.ToString()); | 109 value->SetString("location", location.ToString()); |
| 110 value->SetDouble("timestamp", timestamp); | 110 value->SetDouble("timestamp", timestamp); |
| 111 value->SetDouble("radius_x", radius_x); | 111 value->SetDouble("radius_x", radius_x); |
| 112 value->SetDouble("radius_y", radius_y); | 112 value->SetDouble("radius_y", radius_y); |
| 113 value->SetDouble("pressure", pressure); | 113 value->SetDouble("pressure", pressure); |
| 114 value->SetInteger("tracking_id", tracking_id); | 114 value->SetInteger("tracking_id", tracking_id); |
| 115 value->SetInteger("source_device", source_device); | 115 value->SetInteger("source_device", source_device); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 146 } | 146 } |
| 147 | 147 |
| 148 const std::vector<TouchPointLog>& log() const { return log_; } | 148 const std::vector<TouchPointLog>& log() const { return log_; } |
| 149 | 149 |
| 150 bool active() const { | 150 bool active() const { |
| 151 return !log_.empty() && log_.back().type != ui::ET_TOUCH_RELEASED && | 151 return !log_.empty() && log_.back().type != ui::ET_TOUCH_RELEASED && |
| 152 log_.back().type != ui::ET_TOUCH_CANCELLED; | 152 log_.back().type != ui::ET_TOUCH_CANCELLED; |
| 153 } | 153 } |
| 154 | 154 |
| 155 // Returns a list containing data from all events for the touch point. | 155 // Returns a list containing data from all events for the touch point. |
| 156 scoped_ptr<base::ListValue> GetAsList() const { | 156 std::unique_ptr<base::ListValue> GetAsList() const { |
| 157 scoped_ptr<base::ListValue> list(new base::ListValue()); | 157 std::unique_ptr<base::ListValue> list(new base::ListValue()); |
| 158 for (const_iterator i = log_.begin(); i != log_.end(); ++i) | 158 for (const_iterator i = log_.begin(); i != log_.end(); ++i) |
| 159 list->Append((*i).GetAsDictionary().release()); | 159 list->Append((*i).GetAsDictionary().release()); |
| 160 return list; | 160 return list; |
| 161 } | 161 } |
| 162 | 162 |
| 163 void Reset() { | 163 void Reset() { |
| 164 log_.clear(); | 164 log_.clear(); |
| 165 } | 165 } |
| 166 | 166 |
| 167 private: | 167 private: |
| (...skipping 13 matching lines...) Expand all Loading... |
| 181 StartTrace(touch); | 181 StartTrace(touch); |
| 182 AddToTrace(touch); | 182 AddToTrace(touch); |
| 183 } | 183 } |
| 184 | 184 |
| 185 void Reset() { | 185 void Reset() { |
| 186 next_trace_index_ = 0; | 186 next_trace_index_ = 0; |
| 187 for (int i = 0; i < kMaxPaths; ++i) | 187 for (int i = 0; i < kMaxPaths; ++i) |
| 188 traces_[i].Reset(); | 188 traces_[i].Reset(); |
| 189 } | 189 } |
| 190 | 190 |
| 191 scoped_ptr<base::ListValue> GetAsList() const { | 191 std::unique_ptr<base::ListValue> GetAsList() const { |
| 192 scoped_ptr<base::ListValue> list(new base::ListValue()); | 192 std::unique_ptr<base::ListValue> list(new base::ListValue()); |
| 193 for (int i = 0; i < kMaxPaths; ++i) { | 193 for (int i = 0; i < kMaxPaths; ++i) { |
| 194 if (!traces_[i].log().empty()) | 194 if (!traces_[i].log().empty()) |
| 195 list->Append(traces_[i].GetAsList().release()); | 195 list->Append(traces_[i].GetAsList().release()); |
| 196 } | 196 } |
| 197 return list; | 197 return list; |
| 198 } | 198 } |
| 199 | 199 |
| 200 int GetTraceIndex(int touch_id) const { | 200 int GetTraceIndex(int touch_id) const { |
| 201 return touch_id_to_trace_index_.at(touch_id); | 201 return touch_id_to_trace_index_.at(touch_id); |
| 202 } | 202 } |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 label_container_->SetY(display_size.height() / kReducedScale); | 350 label_container_->SetY(display_size.height() / kReducedScale); |
| 351 label_container_->SetSize(label_container_->GetPreferredSize()); | 351 label_container_->SetSize(label_container_->GetPreferredSize()); |
| 352 label_container_->SetVisible(false); | 352 label_container_->SetVisible(false); |
| 353 content->AddChildView(label_container_); | 353 content->AddChildView(label_container_); |
| 354 } | 354 } |
| 355 | 355 |
| 356 TouchHudDebug::~TouchHudDebug() { | 356 TouchHudDebug::~TouchHudDebug() { |
| 357 } | 357 } |
| 358 | 358 |
| 359 // static | 359 // static |
| 360 scoped_ptr<base::DictionaryValue> TouchHudDebug::GetAllAsDictionary() { | 360 std::unique_ptr<base::DictionaryValue> TouchHudDebug::GetAllAsDictionary() { |
| 361 scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue()); | 361 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue()); |
| 362 aura::Window::Windows roots = Shell::GetInstance()->GetAllRootWindows(); | 362 aura::Window::Windows roots = Shell::GetInstance()->GetAllRootWindows(); |
| 363 for (aura::Window::Windows::iterator iter = roots.begin(); | 363 for (aura::Window::Windows::iterator iter = roots.begin(); |
| 364 iter != roots.end(); ++iter) { | 364 iter != roots.end(); ++iter) { |
| 365 RootWindowController* controller = GetRootWindowController(*iter); | 365 RootWindowController* controller = GetRootWindowController(*iter); |
| 366 TouchHudDebug* hud = controller->touch_hud_debug(); | 366 TouchHudDebug* hud = controller->touch_hud_debug(); |
| 367 if (hud) { | 367 if (hud) { |
| 368 scoped_ptr<base::ListValue> list = hud->GetLogAsList(); | 368 std::unique_ptr<base::ListValue> list = hud->GetLogAsList(); |
| 369 if (!list->empty()) | 369 if (!list->empty()) |
| 370 value->Set(base::Int64ToString(hud->display_id()), list.release()); | 370 value->Set(base::Int64ToString(hud->display_id()), list.release()); |
| 371 } | 371 } |
| 372 } | 372 } |
| 373 return value; | 373 return value; |
| 374 } | 374 } |
| 375 | 375 |
| 376 void TouchHudDebug::ChangeToNextMode() { | 376 void TouchHudDebug::ChangeToNextMode() { |
| 377 switch (mode_) { | 377 switch (mode_) { |
| 378 case FULLSCREEN: | 378 case FULLSCREEN: |
| 379 SetMode(REDUCED_SCALE); | 379 SetMode(REDUCED_SCALE); |
| 380 break; | 380 break; |
| 381 case REDUCED_SCALE: | 381 case REDUCED_SCALE: |
| 382 SetMode(INVISIBLE); | 382 SetMode(INVISIBLE); |
| 383 break; | 383 break; |
| 384 case INVISIBLE: | 384 case INVISIBLE: |
| 385 SetMode(FULLSCREEN); | 385 SetMode(FULLSCREEN); |
| 386 break; | 386 break; |
| 387 } | 387 } |
| 388 } | 388 } |
| 389 | 389 |
| 390 scoped_ptr<base::ListValue> TouchHudDebug::GetLogAsList() const { | 390 std::unique_ptr<base::ListValue> TouchHudDebug::GetLogAsList() const { |
| 391 return touch_log_->GetAsList(); | 391 return touch_log_->GetAsList(); |
| 392 } | 392 } |
| 393 | 393 |
| 394 void TouchHudDebug::Clear() { | 394 void TouchHudDebug::Clear() { |
| 395 if (widget()->IsVisible()) { | 395 if (widget()->IsVisible()) { |
| 396 canvas_->Clear(); | 396 canvas_->Clear(); |
| 397 for (int i = 0; i < kMaxTouchPoints; ++i) | 397 for (int i = 0; i < kMaxTouchPoints; ++i) |
| 398 touch_labels_[i]->SetText(base::string16()); | 398 touch_labels_[i]->SetText(base::string16()); |
| 399 label_container_->SetSize(label_container_->GetPreferredSize()); | 399 label_container_->SetSize(label_container_->GetPreferredSize()); |
| 400 } | 400 } |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 RootWindowController* controller) { | 469 RootWindowController* controller) { |
| 470 controller->set_touch_hud_debug(this); | 470 controller->set_touch_hud_debug(this); |
| 471 } | 471 } |
| 472 | 472 |
| 473 void TouchHudDebug::UnsetHudForRootWindowController( | 473 void TouchHudDebug::UnsetHudForRootWindowController( |
| 474 RootWindowController* controller) { | 474 RootWindowController* controller) { |
| 475 controller->set_touch_hud_debug(NULL); | 475 controller->set_touch_hud_debug(NULL); |
| 476 } | 476 } |
| 477 | 477 |
| 478 } // namespace ash | 478 } // namespace ash |
| OLD | NEW |