diff --git a/jsapp/rich/JsAppImpl.cpp b/jsapp/rich/JsAppImpl.cpp index 2895bc1..66404b0 100644 --- a/jsapp/rich/JsAppImpl.cpp +++ b/jsapp/rich/JsAppImpl.cpp @@ -542,6 +542,33 @@ void JsAppImpl::LoadDocument(const std::string filePath, } } +void JsAppImpl::InitializeClipboard(OHOS::Ace::Platform::CallbackSetClipboardData cbkSetData, + OHOS::Ace::Platform::CallbackGetClipboardData cbkGetData) const +{ + ability->InitializeClipboard(cbkSetData, cbkGetData); +} + +void JsAppImpl::DispatchBackPressedEvent() const +{ + ability->OnBackPressed(); +} +void JsAppImpl::DispatchKeyEvent(const std::shared_ptr& keyEvent) const +{ + ability->OnInputEvent(keyEvent); +} +void JsAppImpl::DispatchPointerEvent(const std::shared_ptr& pointerEvent) const +{ + ability->OnInputEvent(pointerEvent); +} +void JsAppImpl::DispatchAxisEvent(const std::shared_ptr& axisEvent) const +{ + ability->OnInputEvent(axisEvent); +} +void JsAppImpl::DispatchInputMethodEvent(const unsigned int code_point) const +{ + ability->OnInputMethodEvent(code_point); +} + string JsAppImpl::GetDeviceTypeName(const OHOS::Ace::DeviceType type) const { switch (type) { @@ -558,4 +585,4 @@ string JsAppImpl::GetDeviceTypeName(const OHOS::Ace::DeviceType type) const default: return ""; } -} \ No newline at end of file +} diff --git a/jsapp/rich/JsAppImpl.h b/jsapp/rich/JsAppImpl.h index 2842d6c..cb7e19e 100644 --- a/jsapp/rich/JsAppImpl.h +++ b/jsapp/rich/JsAppImpl.h @@ -54,6 +54,14 @@ public: bool MemoryRefresh(const std::string memoryRefreshArgs) const override; void LoadDocument(const std::string, const std::string, const Json::Value) override; + void InitializeClipboard(OHOS::Ace::Platform::CallbackSetClipboardData cbkSetData, + OHOS::Ace::Platform::CallbackGetClipboardData cbkGetData) const; + void DispatchBackPressedEvent() const; + void DispatchKeyEvent(const std::shared_ptr& keyEvent) const; + void DispatchPointerEvent(const std::shared_ptr& pointerEvent) const; + void DispatchAxisEvent(const std::shared_ptr& axisEvent) const; + void DispatchInputMethodEvent(const unsigned int code_point) const; + protected: void SetJsAppArgs(OHOS::Ace::Platform::AceRunArgs& args); void RunJsApp(); diff --git a/mock/BUILD.gn b/mock/BUILD.gn index 931b672..7d5b9a2 100644 --- a/mock/BUILD.gn +++ b/mock/BUILD.gn @@ -25,6 +25,8 @@ ohos_static_library("mock_rich") { ".", "../util/", "../cli/", + "../jsapp/rich", + "../jsapp", ] include_dirs += os_include_dirs diff --git a/mock/rich/KeyInputImpl.cpp b/mock/rich/KeyInputImpl.cpp index aa42cf7..ae27580 100644 --- a/mock/rich/KeyInputImpl.cpp +++ b/mock/rich/KeyInputImpl.cpp @@ -19,13 +19,10 @@ #include "PreviewerEngineLog.h" #include "ClipboardHelper.h" #include "KeyboardHelper.h" -#include "ace_ability.h" -#include "event_dispatcher.h" -#include "clipboard_proxy.h" -#include "clipboard_proxy_impl.h" +#include "JsAppImpl.h" using namespace std; -using namespace OHOS::Ace; +using namespace OHOS::MMI; KeyInputImpl::KeyInputImpl() : KeyInput(), pressedCodes(0) { @@ -45,33 +42,26 @@ void KeyInputImpl::SetDelegate() auto callbackGetClipboardData = []() { return ClipboardHelper::GetClipboardData(); }; - auto callbackGetCapsLockStatus = []() { - return KeyboardHelper::GetKeyStateByKeyName("CapsLock"); - }; - auto callbackGetNumLockStatus = []() { - return KeyboardHelper::GetKeyStateByKeyName("NumLock"); - }; - Platform::EventDispatcher::GetInstance().RegisterCallbackGetCapsLockStatus(callbackGetCapsLockStatus); - Platform::EventDispatcher::GetInstance().RegisterCallbackGetNumLockStatus(callbackGetNumLockStatus); - ClipboardProxy::GetInstance()->SetDelegate( - std::make_unique(callbackSetClipboardData, callbackGetClipboardData)); + JsAppImpl::GetInstance().InitializeClipboard(callbackSetClipboardData, callbackGetClipboardData); ILOG("Bind key event callback function to ace successed."); } void KeyInputImpl::DispatchOsInputMethodEvent() const { - Platform::EventDispatcher::GetInstance().DispatchInputMethodEvent(codePoint); + JsAppImpl::GetInstance().DispatchInputMethodEvent(codePoint); } void KeyInputImpl::DispatchOsKeyEvent() const { - KeyEvent keyEvent; - keyEvent.code = KeyCode(keyCode); - keyEvent.action = KeyAction(keyAction); - keyEvent.pressedCodes = pressedCodes; - keyEvent.timeStamp = chrono::high_resolution_clock::now(); - keyEvent.key = keyString.c_str(); - Platform::EventDispatcher::GetInstance().DispatchKeyEvent(keyEvent); + auto keyEvent = std::make_shared(); + keyEvent->code = KeyCode(keyCode); + keyEvent->action = KeyAction(keyAction); + keyEvent->pressedCodes = pressedCodes; + keyEvent->timeStamp = chrono::high_resolution_clock::now(); + keyEvent->key = keyString.c_str(); + keyEvent->enableCapsLock_ = KeyboardHelper::GetKeyStateByKeyName("CapsLock"); + keyEvent->enableNumLock_ = KeyboardHelper::GetKeyStateByKeyName("NumLock"); + JsAppImpl::GetInstance().DispatchKeyEvent(keyEvent); } void KeyInputImpl::SetKeyEvent(const int32_t keyCodeVal, const int32_t keyActionVal, @@ -89,4 +79,4 @@ void KeyInputImpl::SetKeyEvent(const int32_t keyCodeVal, const int32_t keyAction void KeyInputImpl::SetCodePoint(const unsigned int codePointVal) { codePoint = codePointVal; -} \ No newline at end of file +} diff --git a/mock/rich/KeyInputImpl.h b/mock/rich/KeyInputImpl.h index 4e4eb1e..f96b8cd 100644 --- a/mock/rich/KeyInputImpl.h +++ b/mock/rich/KeyInputImpl.h @@ -17,7 +17,7 @@ #define KEYINPUTIMPL_H #include "KeyInput.h" -#include "key_event.h" +#include "adapter/preview/external/multimodalinput/key_event.h" class KeyInputImpl : public KeyInput { public: @@ -32,7 +32,7 @@ public: private: KeyInputImpl(); virtual ~KeyInputImpl() {}; - std::vector pressedCodes; + std::vector pressedCodes; }; -#endif // KEYINPUTIMPL_H \ No newline at end of file +#endif // KEYINPUTIMPL_H diff --git a/mock/rich/MouseInputImpl.cpp b/mock/rich/MouseInputImpl.cpp index b28f933..50c07e5 100644 --- a/mock/rich/MouseInputImpl.cpp +++ b/mock/rich/MouseInputImpl.cpp @@ -19,14 +19,11 @@ #include #include -#include "ace_ability.h" -#include "event_dispatcher.h" - #include "PreviewerEngineLog.h" using namespace std; -using namespace OHOS::Ace; +using namespace OHOS::MMI; MouseInputImpl::MouseInputImpl() { @@ -52,27 +49,23 @@ TouchType MouseInputImpl::ConvertToOsType(MouseInput::MouseStatus status) const } void MouseInputImpl::DispatchOsTouchEvent() const { - TouchEvent touchEvent; - touchEvent.time = std::chrono::high_resolution_clock::now(); - touchEvent.id = 1; - touchEvent.x = mouseXPosition; - touchEvent.y = mouseYPosition; - touchEvent.type = ConvertToOsType(mouseStatus); - touchEvent.size = sizeof (TouchEvent); + auto pointerEvent = std::make_shared(); + pointerEvent->time = std::chrono::high_resolution_clock::now(); + pointerEvent->id = 1; + pointerEvent->x = mouseXPosition; + pointerEvent->y = mouseYPosition; + pointerEvent->type = ConvertToOsType(mouseStatus); + pointerEvent->size = sizeof (PointerEvent); ILOG("MouseInputImpl::DispatchEvent x: %f y:%f", mouseXPosition, mouseYPosition); ILOG("current thread: %d", this_thread::get_id()); - if (!Platform::EventDispatcher::GetInstance().DispatchTouchEvent(touchEvent)) { - ILOG("MouseInputImpl::DispatchEvent failed, x: %f y:%f", mouseXPosition, mouseYPosition); - } + JsAppImpl::GetInstance().DispatchPointerEvent(pointerEvent); } void MouseInputImpl::DispatchOsBackEvent() const { ILOG("DispatchBackPressedEvent run."); ILOG("current thread: %d", this_thread::get_id()); - if (!Platform::EventDispatcher::GetInstance().DispatchBackPressedEvent()) { - ELOG("DispatchBackPressedEvent failed."); - } + JsAppImpl::GetInstance().DispatchBackPressedEvent(); } MouseInputImpl& MouseInputImpl::GetInstance() diff --git a/mock/rich/MouseInputImpl.h b/mock/rich/MouseInputImpl.h index 523833b..96fd29e 100644 --- a/mock/rich/MouseInputImpl.h +++ b/mock/rich/MouseInputImpl.h @@ -16,8 +16,7 @@ #ifndef MOUSEINPUTIMPL_H #define MOUSEINPUTIMPL_H -#include "touch_event.h" - +#include "JsAppImpl.h" #include "MouseInput.h" class MouseInputImpl : public MouseInput { @@ -30,7 +29,7 @@ public: private: MouseInputImpl(); virtual ~MouseInputImpl() {} - OHOS::Ace::TouchType ConvertToOsType(MouseStatus status) const; + OHOS::MMI::TouchType ConvertToOsType(MouseStatus status) const; }; #endif // MOUSEINPUTIMPL_H