!104 适配window修改对input的监听方式

Merge pull request !104 from xiahaiqin/master
This commit is contained in:
openharmony_ci
2022-07-14 10:09:07 +00:00
committed by Gitee
2 changed files with 16 additions and 10 deletions
@@ -22,7 +22,9 @@
#include <memory>
#include <refbase.h>
#include "i_input_event_consumer.h"
#include "axis_event.h"
#include "key_event.h"
#include "pointer_event.h"
#include "single_instance.h"
#include "surface.h"
#include "window.h"
@@ -47,12 +49,13 @@ private:
std::mutex windowIdMapMutex_;
};
class ScreenClientInputEventListener : public MMI::IInputEventConsumer {
class ScreenClientInputEventListener : public Rosen::IInputEventConsumer {
public:
ScreenClientInputEventListener() = default;
void OnInputEvent(std::shared_ptr<MMI::PointerEvent> pointerEvent) const override;
void OnInputEvent(std::shared_ptr<MMI::KeyEvent> keyEvent) const override;
void OnInputEvent(std::shared_ptr<MMI::AxisEvent> axisEvent) const override;
~ScreenClientInputEventListener() override = default;
bool OnInputEvent(const std::shared_ptr<MMI::PointerEvent>& pointerEvent) const override;
bool OnInputEvent(const std::shared_ptr<MMI::KeyEvent>& keyEvent) const override;
bool OnInputEvent(const std::shared_ptr<MMI::AxisEvent>& axisEvent) const override;
};
} // namespace DistributedHardware
} // namespace OHOS
@@ -74,9 +74,9 @@ sptr<Surface> ScreenClientWindowAdapter::CreateWindow(std::shared_ptr<WindowProp
return nullptr;
}
Rosen::RSTransactionProxy::GetInstance()->FlushImplicitTransaction();
std::shared_ptr<MMI::IInputEventConsumer> listener =
std::shared_ptr<Rosen::IInputEventConsumer> listener =
std::make_shared<ScreenClientInputEventListener>(ScreenClientInputEventListener());
window->AddInputEventListener(listener);
window->SetInputEventConsumer(listener);
DHLOGD("Create window name is %s.", windowName.c_str());
if (OHOS::Rosen::WMError::WM_OK != window->Resize(windowProperty->width, windowProperty->height)) {
window->Destroy();
@@ -197,22 +197,25 @@ int32_t ScreenClientWindowAdapter::RemoveWindow(int32_t windowId)
return DH_SUCCESS;
}
void ScreenClientInputEventListener::OnInputEvent(std::shared_ptr<MMI::PointerEvent> pointerEvent) const
bool ScreenClientInputEventListener::OnInputEvent(const std::shared_ptr<MMI::PointerEvent>& pointerEvent) const
{
DHLOGI("onInputEvent, pointerEvent");
pointerEvent->MarkProcessed();
return true;
}
void ScreenClientInputEventListener::OnInputEvent(std::shared_ptr<MMI::KeyEvent> keyEvent) const
bool ScreenClientInputEventListener::OnInputEvent(const std::shared_ptr<MMI::KeyEvent>& keyEvent) const
{
DHLOGI("onInputEvent, keyEvent");
keyEvent->MarkProcessed();
return true;
}
void ScreenClientInputEventListener::OnInputEvent(std::shared_ptr<MMI::AxisEvent> axisEvent) const
bool ScreenClientInputEventListener::OnInputEvent(const std::shared_ptr<MMI::AxisEvent>& axisEvent) const
{
DHLOGI("onInputEvent, axisEvent");
axisEvent->MarkProcessed();
return true;
}
} // namespace DistributedHardware
} // namespace OHOS