| // Copyright 2022 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "ash/capture_mode/capture_mode_demo_tools_test_api.h" |
| |
| #include <vector> |
| |
| #include "ash/capture_mode/capture_mode_demo_tools_controller.h" |
| #include "ash/capture_mode/key_combo_view.h" |
| #include "ui/events/keycodes/keyboard_codes_posix.h" |
| |
| namespace ash { |
| |
| CaptureModeDemoToolsTestApi::CaptureModeDemoToolsTestApi( |
| CaptureModeDemoToolsController* demo_tools_controller) |
| : demo_tools_controller_(demo_tools_controller) {} |
| |
| views::Widget* CaptureModeDemoToolsTestApi::GetKeyComboWidget() { |
| DCHECK(demo_tools_controller_); |
| return demo_tools_controller_->key_combo_widget_.get(); |
| } |
| |
| KeyComboView* CaptureModeDemoToolsTestApi::GetKeyComboView() { |
| DCHECK(demo_tools_controller_); |
| return demo_tools_controller_->key_combo_view_; |
| } |
| |
| int CaptureModeDemoToolsTestApi::GetCurrentModifiersFlags() { |
| DCHECK(demo_tools_controller_); |
| return demo_tools_controller_->modifiers_; |
| } |
| |
| ui::KeyboardCode CaptureModeDemoToolsTestApi::GetLastNonModifierKey() { |
| DCHECK(demo_tools_controller_); |
| return demo_tools_controller_->last_non_modifier_key_; |
| } |
| |
| std::vector<ui::KeyboardCode> |
| CaptureModeDemoToolsTestApi::GetShownModifiersKeyCodes() { |
| DCHECK(demo_tools_controller_); |
| KeyComboView* key_combo_view = demo_tools_controller_->key_combo_view_; |
| |
| if (!key_combo_view || !key_combo_view->modifiers_container_view_) { |
| return std::vector<ui::KeyboardCode>(); |
| } |
| |
| return key_combo_view->GetModifierKeycodeVector(); |
| } |
| |
| ui::KeyboardCode CaptureModeDemoToolsTestApi::GetShownNonModifierKeyCode() { |
| DCHECK(demo_tools_controller_); |
| KeyComboView* key_combo_view = demo_tools_controller_->key_combo_view_; |
| |
| if (key_combo_view == nullptr) |
| return ui::VKEY_UNKNOWN; |
| |
| return key_combo_view->last_non_modifier_key_; |
| } |
| |
| base::OneShotTimer* CaptureModeDemoToolsTestApi::GetRefreshKeyComboTimer() { |
| DCHECK(demo_tools_controller_); |
| return &(demo_tools_controller_->key_up_refresh_timer_); |
| } |
| |
| views::ImageView* CaptureModeDemoToolsTestApi::GetNonModifierKeyItemIcon() { |
| DCHECK(demo_tools_controller_); |
| KeyComboView* key_combo_view = demo_tools_controller_->key_combo_view_; |
| |
| if (!key_combo_view || !key_combo_view->non_modifier_view_) |
| return nullptr; |
| |
| return key_combo_view->non_modifier_view_->icon(); |
| } |
| |
| void CaptureModeDemoToolsTestApi::SetOnMouseHighlightAnimationEndedCallback( |
| base::OnceClosure callback) { |
| DCHECK(demo_tools_controller_); |
| demo_tools_controller_ |
| ->on_mouse_highlight_animation_ended_callback_for_test_ = |
| std::move(callback); |
| } |
| |
| const MouseHighlightLayers& |
| CaptureModeDemoToolsTestApi::GetMouseHighlightLayers() const { |
| DCHECK(demo_tools_controller_); |
| return demo_tools_controller_->mouse_highlight_layers_; |
| } |
| |
| const TouchHighlightLayersMap& |
| CaptureModeDemoToolsTestApi::GetTouchIdToHighlightLayerMap() const { |
| DCHECK(demo_tools_controller_); |
| return demo_tools_controller_->touch_pointer_id_to_highlight_layer_map_; |
| } |
| |
| } // namespace ash |