From 7a9b8184c5e99dbcc9b79f9f352abcb0828ce783 Mon Sep 17 00:00:00 2001 From: Seungho Baek Date: Tue, 23 Apr 2024 11:17:16 +0900 Subject: [PATCH] Let window emit signal when only adaptor is available Change-Id: I5a86b9e6ac01e5c0e41756f818c439da9ca1b2b1 Signed-off-by: Seungho Baek --- .../window-system/android/window-base-android.cpp | 5 +- .../window-system/macos/window-base-mac.mm | 194 ++++++++------- .../ecore-wl/window-base-ecore-wl.cpp | 61 +++-- .../ecore-wl2/window-base-ecore-wl2.cpp | 274 ++++++++++++--------- .../ubuntu-x11/window-base-ecore-x.cpp | 29 ++- .../window-system/windows/window-base-win.cpp | 19 +- dali/internal/window-system/x11/window-base-x.cpp | 27 +- 7 files changed, 342 insertions(+), 267 deletions(-) diff --git a/dali/internal/window-system/android/window-base-android.cpp b/dali/internal/window-system/android/window-base-android.cpp index 821da58..0d1e69d 100644 --- a/dali/internal/window-system/android/window-base-android.cpp +++ b/dali/internal/window-system/android/window-base-android.cpp @@ -68,7 +68,10 @@ void WindowBaseAndroid::Initialize(PositionSize positionSize, Any surface, bool void WindowBaseAndroid::OnDeleteRequest() { - mDeleteRequestSignal.Emit(); + if(Dali::Adaptor::IsAvailable()) + { + mDeleteRequestSignal.Emit(); + } } void WindowBaseAndroid::OnFocusIn(void* data, int type, void* event) diff --git a/dali/internal/window-system/macos/window-base-mac.mm b/dali/internal/window-system/macos/window-base-mac.mm index 52a049b..674ef63 100644 --- a/dali/internal/window-system/macos/window-base-mac.mm +++ b/dali/internal/window-system/macos/window-base-mac.mm @@ -135,7 +135,10 @@ struct WindowBaseCocoa::Impl final void OnFocus(bool focus) { - mThis->mFocusChangedSignal.Emit(focus); + if(Dali::Adaptor::IsAvailable()) + { + mThis->mFocusChangedSignal.Emit(focus); + } } // Handle mouse events @@ -146,7 +149,10 @@ struct WindowBaseCocoa::Impl final void OnRedraw(void) { - mThis->mWindowRedrawRequestSignal.Emit(); + if(Dali::Adaptor::IsAvailable()) + { + mThis->mWindowRedrawRequestSignal.Emit(); + } } private: @@ -195,113 +201,125 @@ WindowBaseCocoa::Impl::~Impl() void WindowBaseCocoa::Impl::OnMouse(NSEvent *event, PointState::Type state) { - Integration::Point point; - point.SetDeviceId(event.deviceID); - point.SetState(state); - auto p = [event locationInWindow]; - auto [x, y] = [mWindow.contentView convertPoint:p fromView:nil]; - point.SetScreenPosition(Vector2(x, y)); - point.SetRadius(std::sqrt(x*x + y*y)); - point.SetPressure(event.pressure); - - if (x == 0.0) + if(Dali::Adaptor::IsAvailable()) { - point.SetAngle(Degree(0.0)); - } - else - { - point.SetAngle(Radian(std::atan(y/x))); - } - - DALI_LOG_INFO( - gWindowBaseLogFilter, - Debug::Verbose, - "WindowBaseCocoa::Impl::OnMouse(%.1f, %.1f)\n", - x, - y - ); + Integration::Point point; + point.SetDeviceId(event.deviceID); + point.SetState(state); + auto p = [event locationInWindow]; + auto [x, y] = [mWindow.contentView convertPoint:p fromView:nil]; + point.SetScreenPosition(Vector2(x, y)); + point.SetRadius(std::sqrt(x*x + y*y)); + point.SetPressure(event.pressure); + + if (x == 0.0) + { + point.SetAngle(Degree(0.0)); + } + else + { + point.SetAngle(Radian(std::atan(y/x))); + } + + DALI_LOG_INFO( + gWindowBaseLogFilter, + Debug::Verbose, + "WindowBaseCocoa::Impl::OnMouse(%.1f, %.1f)\n", + x, + y + ); - // timestamp is given in seconds, the signal expects it in milliseconds - mThis->mTouchEventSignal.Emit(point, event.timestamp * 1000); + // timestamp is given in seconds, the signal expects it in milliseconds + mThis->mTouchEventSignal.Emit(point, event.timestamp * 1000); + } } void WindowBaseCocoa::Impl::OnMouseWheel(NSEvent *event) { - auto p = [event locationInWindow]; - auto [x, y] = [mWindow.contentView convertPoint:p fromView:nil]; - - const auto modifiers = GetKeyModifiers(event); - const Vector2 vec(x, y); - const auto timestamp = event.timestamp * 1000; - - if (event.scrollingDeltaY) + if(Dali::Adaptor::IsAvailable()) { - Integration::WheelEvent wheelEvent( - Integration::WheelEvent::MOUSE_WHEEL, - 0, - modifiers, - vec, - event.scrollingDeltaY < 0 ? -1 : 1, - timestamp - ); + auto p = [event locationInWindow]; + auto [x, y] = [mWindow.contentView convertPoint:p fromView:nil]; - mThis->mWheelEventSignal.Emit(wheelEvent); - } + const auto modifiers = GetKeyModifiers(event); + const Vector2 vec(x, y); + const auto timestamp = event.timestamp * 1000; - if (event.scrollingDeltaX) - { - Integration::WheelEvent wheelEvent( - Integration::WheelEvent::MOUSE_WHEEL, - 0, - modifiers, - vec, - event.scrollingDeltaX < 0 ? -1 : 1, - timestamp - ); - - mThis->mWheelEventSignal.Emit(wheelEvent); + if (event.scrollingDeltaY) + { + Integration::WheelEvent wheelEvent( + Integration::WheelEvent::MOUSE_WHEEL, + 0, + modifiers, + vec, + event.scrollingDeltaY < 0 ? -1 : 1, + timestamp + ); + + mThis->mWheelEventSignal.Emit(wheelEvent); + } + + if (event.scrollingDeltaX) + { + Integration::WheelEvent wheelEvent( + Integration::WheelEvent::MOUSE_WHEEL, + 0, + modifiers, + vec, + event.scrollingDeltaX < 0 ? -1 : 1, + timestamp + ); + + mThis->mWheelEventSignal.Emit(wheelEvent); + } } } void WindowBaseCocoa::Impl::OnKey(NSEvent *event, Integration::KeyEvent::State keyState) { - const std::string empty; - - Integration::KeyEvent keyEvent( - GetKeyName(event), - empty, - [event.characters UTF8String], - event.keyCode, - GetKeyModifiers(event), - event.timestamp * 1000, - keyState, - empty, - empty, - Device::Class::NONE, - Device::Subclass::NONE - ); + if(Dali::Adaptor::IsAvailable()) + { + const std::string empty; + + Integration::KeyEvent keyEvent( + GetKeyName(event), + empty, + [event.characters UTF8String], + event.keyCode, + GetKeyModifiers(event), + event.timestamp * 1000, + keyState, + empty, + empty, + Device::Class::NONE, + Device::Subclass::NONE + ); - DALI_LOG_INFO( - gWindowBaseLogFilter, - Debug::Verbose, - "WindowBaseCocoa::Impl::OnKey(%s)\n", - [event.characters UTF8String] - ); - keyEvent.windowId = mThis->GetNativeWindowId(); + DALI_LOG_INFO( + gWindowBaseLogFilter, + Debug::Verbose, + "WindowBaseCocoa::Impl::OnKey(%s)\n", + [event.characters UTF8String] + ); + keyEvent.windowId = mThis->GetNativeWindowId(); - mThis->mKeyEventSignal.Emit(keyEvent); + mThis->mKeyEventSignal.Emit(keyEvent); + } } void WindowBaseCocoa::Impl::OnWindowDamaged(const NSRect &rect) { - const DamageArea area( - rect.origin.x, - rect.origin.y, - rect.size.width, - rect.size.height - ); + if(Dali::Adaptor::IsAvailable()) + { + const DamageArea area( + rect.origin.x, + rect.origin.y, + rect.size.width, + rect.size.height + ); - mThis->mWindowDamagedSignal.Emit(area); + mThis->mWindowDamagedSignal.Emit(area); + } } uint32_t WindowBaseCocoa::Impl::GetKeyModifiers(NSEvent *event) const noexcept diff --git a/dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.cpp b/dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.cpp index 7c44c06..b394260 100644 --- a/dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.cpp +++ b/dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.cpp @@ -712,7 +712,7 @@ Eina_Bool WindowBaseEcoreWl::OnIconifyStateChanged(void* data, int type, void* e Ecore_Wl_Event_Window_Iconify_State_Change* iconifyChangedEvent(static_cast(event)); Eina_Bool handled(ECORE_CALLBACK_PASS_ON); - if(iconifyChangedEvent->win == static_cast(ecore_wl_window_id_get(mEcoreWindow))) + if(iconifyChangedEvent->win == static_cast(ecore_wl_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { if(iconifyChangedEvent->iconified == EINA_TRUE) { @@ -732,7 +732,7 @@ Eina_Bool WindowBaseEcoreWl::OnFocusIn(void* data, int type, void* event) { Ecore_Wl_Event_Focus_In* focusInEvent(static_cast(event)); - if(focusInEvent->win == static_cast(ecore_wl_window_id_get(mEcoreWindow))) + if(focusInEvent->win == static_cast(ecore_wl_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "Window EcoreEventWindowFocusIn\n"); @@ -746,7 +746,7 @@ Eina_Bool WindowBaseEcoreWl::OnFocusOut(void* data, int type, void* event) { Ecore_Wl_Event_Focus_Out* focusOutEvent(static_cast(event)); - if(focusOutEvent->win == static_cast(ecore_wl_window_id_get(mEcoreWindow))) + if(focusOutEvent->win == static_cast(ecore_wl_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "Window EcoreEventWindowFocusOut\n"); @@ -760,7 +760,7 @@ Eina_Bool WindowBaseEcoreWl::OnOutputTransform(void* data, int type, void* event { Ecore_Wl_Event_Output_Transform* transformEvent(static_cast(event)); - if(transformEvent->output == ecore_wl_window_output_find(mEcoreWindow)) + if(transformEvent->output == ecore_wl_window_output_find(mEcoreWindow) && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "Window (%p) EcoreEventOutputTransform\n", mEcoreWindow); @@ -774,7 +774,7 @@ Eina_Bool WindowBaseEcoreWl::OnIgnoreOutputTransform(void* data, int type, void* { Ecore_Wl_Event_Ignore_Output_Transform* ignoreTransformEvent(static_cast(event)); - if(ignoreTransformEvent->win == mEcoreWindow) + if(ignoreTransformEvent->win == mEcoreWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "Window (%p) EcoreEventIgnoreOutputTransform\n", mEcoreWindow); @@ -788,7 +788,7 @@ void WindowBaseEcoreWl::OnRotation(void* data, int type, void* event) { Ecore_Wl_Event_Window_Rotate* ev(static_cast(event)); - if(ev->win == static_cast(ecore_wl_window_id_get(mEcoreWindow))) + if(ev->win == static_cast(ecore_wl_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl::OnRotation, angle: %d, width: %d, height: %d\n", ev->angle, ev->w, ev->h); @@ -815,7 +815,7 @@ void WindowBaseEcoreWl::OnMouseButtonDown(void* data, int type, void* event) { Ecore_Event_Mouse_Button* touchEvent = static_cast(event); - if(touchEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow))) + if(touchEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { PointState::Type state(PointState::DOWN); @@ -851,7 +851,7 @@ void WindowBaseEcoreWl::OnMouseButtonUp(void* data, int type, void* event) { Ecore_Event_Mouse_Button* touchEvent = static_cast(event); - if(touchEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow))) + if(touchEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { Device::Class::Type deviceClass; Device::Subclass::Type deviceSubclass; @@ -877,7 +877,7 @@ void WindowBaseEcoreWl::OnMouseButtonMove(void* data, int type, void* event) { Ecore_Event_Mouse_Move* touchEvent = static_cast(event); - if(touchEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow))) + if(touchEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { Device::Class::Type deviceClass; Device::Subclass::Type deviceSubclass; @@ -903,7 +903,7 @@ void WindowBaseEcoreWl::OnMouseButtonCancel(void* data, int type, void* event) { Ecore_Event_Mouse_Button* touchEvent = static_cast(event); - if(touchEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow))) + if(touchEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { Device::Class::Type deviceClass; Device::Subclass::Type deviceSubclass; @@ -931,7 +931,7 @@ void WindowBaseEcoreWl::OnMouseWheel(void* data, int type, void* event) { Ecore_Event_Mouse_Wheel* mouseWheelEvent = static_cast(event); - if(mouseWheelEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow))) + if(mouseWheelEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl::OnMouseWheel: direction: %d, modifiers: %d, x: %d, y: %d, z: %d\n", mouseWheelEvent->direction, mouseWheelEvent->modifiers, mouseWheelEvent->x, mouseWheelEvent->y, mouseWheelEvent->z); @@ -943,23 +943,26 @@ void WindowBaseEcoreWl::OnMouseWheel(void* data, int type, void* event) void WindowBaseEcoreWl::OnDetentRotation(void* data, int type, void* event) { - Ecore_Event_Detent_Rotate* detentEvent = static_cast(event); + if(Dali::Adaptor::IsAvailable()) + { + Ecore_Event_Detent_Rotate* detentEvent = static_cast(event); - DALI_LOG_INFO(gWindowBaseLogFilter, Debug::Concise, "WindowBaseEcoreWl::OnDetentRotation\n"); + DALI_LOG_INFO(gWindowBaseLogFilter, Debug::Concise, "WindowBaseEcoreWl::OnDetentRotation\n"); - int direction = (detentEvent->direction == ECORE_DETENT_DIRECTION_CLOCKWISE) ? 1 : -1; - int timeStamp = detentEvent->timestamp; + int direction = (detentEvent->direction == ECORE_DETENT_DIRECTION_CLOCKWISE) ? 1 : -1; + int timeStamp = detentEvent->timestamp; - Integration::WheelEvent wheelEvent(Integration::WheelEvent::CUSTOM_WHEEL, 0, 0, Vector2(0.0f, 0.0f), direction, timeStamp); + Integration::WheelEvent wheelEvent(Integration::WheelEvent::CUSTOM_WHEEL, 0, 0, Vector2(0.0f, 0.0f), direction, timeStamp); - mWheelEventSignal.Emit(wheelEvent); + mWheelEventSignal.Emit(wheelEvent); + } } void WindowBaseEcoreWl::OnKeyDown(void* data, int type, void* event) { Ecore_Event_Key* keyEvent = static_cast(event); - if(keyEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow))) + if(keyEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl::OnKeyDown\n"); @@ -1014,7 +1017,7 @@ void WindowBaseEcoreWl::OnKeyUp(void* data, int type, void* event) { Ecore_Event_Key* keyEvent = static_cast(event); - if(keyEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow))) + if(keyEvent->window == static_cast(ecore_wl_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl::OnKeyUp\n"); @@ -1076,22 +1079,34 @@ void WindowBaseEcoreWl::OnKeyUp(void* data, int type, void* event) void WindowBaseEcoreWl::OnDataSend(void* data, int type, void* event) { - mSelectionDataSendSignal.Emit(event); + if(Dali::Adaptor::IsAvailable()) + { + mSelectionDataSendSignal.Emit(event); + } } void WindowBaseEcoreWl::OnDataReceive(void* data, int type, void* event) { - mSelectionDataReceivedSignal.Emit(event); + if(Dali::Adaptor::IsAvailable()) + { + mSelectionDataReceivedSignal.Emit(event); + } } void WindowBaseEcoreWl::OnFontNameChanged() { - mStyleChangedSignal.Emit(StyleChange::DEFAULT_FONT_CHANGE); + if(Dali::Adaptor::IsAvailable()) + { + mStyleChangedSignal.Emit(StyleChange::DEFAULT_FONT_CHANGE); + } } void WindowBaseEcoreWl::OnFontSizeChanged() { - mStyleChangedSignal.Emit(StyleChange::DEFAULT_FONT_SIZE_CHANGE); + if(Dali::Adaptor::IsAvailable()) + { + mStyleChangedSignal.Emit(StyleChange::DEFAULT_FONT_SIZE_CHANGE); + } } void WindowBaseEcoreWl::RegistryGlobalCallback(void* data, struct wl_registry* registry, uint32_t name, const char* interface, uint32_t version) diff --git a/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp b/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp index f63cd23..e263c32 100644 --- a/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp +++ b/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp @@ -1108,7 +1108,7 @@ Eina_Bool WindowBaseEcoreWl2::OnIconifyStateChanged(void* data, int type, void* Ecore_Wl2_Event_Window_Iconify_State_Change* iconifyChangedEvent(static_cast(event)); Eina_Bool handled(ECORE_CALLBACK_PASS_ON); - if(iconifyChangedEvent->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(iconifyChangedEvent->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { if(iconifyChangedEvent->iconified == EINA_TRUE) { @@ -1130,7 +1130,7 @@ Eina_Bool WindowBaseEcoreWl2::OnFocusIn(void* data, int type, void* event) { Ecore_Wl2_Event_Focus_In* focusInEvent(static_cast(event)); - if(focusInEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(focusInEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnFocusIn, Window (%p) EcoreEventWindowFocusIn\n", mEcoreWindow); @@ -1144,7 +1144,7 @@ Eina_Bool WindowBaseEcoreWl2::OnFocusOut(void* data, int type, void* event) { Ecore_Wl2_Event_Focus_Out* focusOutEvent(static_cast(event)); - if(focusOutEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(focusOutEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnFocusOut, Window (%p) EcoreEventWindowFocusOut\n", mEcoreWindow); @@ -1158,7 +1158,7 @@ Eina_Bool WindowBaseEcoreWl2::OnOutputTransform(void* data, int type, void* even { Ecore_Wl2_Event_Output_Transform* transformEvent(static_cast(event)); - if(transformEvent->output == ecore_wl2_window_output_find(mEcoreWindow)) + if(transformEvent->output == ecore_wl2_window_output_find(mEcoreWindow) && Dali::Adaptor::IsAvailable()) { DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnOutputTransform, Window (%p) EcoreEventOutputTransform\n", mEcoreWindow); @@ -1174,7 +1174,7 @@ Eina_Bool WindowBaseEcoreWl2::OnIgnoreOutputTransform(void* data, int type, void { Ecore_Wl2_Event_Ignore_Output_Transform* ignoreTransformEvent(static_cast(event)); - if(ignoreTransformEvent->win == mEcoreWindow) + if(ignoreTransformEvent->win == mEcoreWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnIgnoreOutputTransform, Window (%p) EcoreEventIgnoreOutputTransform\n", mEcoreWindow); @@ -1190,7 +1190,7 @@ void WindowBaseEcoreWl2::OnRotation(void* data, int type, void* event) { Ecore_Wl2_Event_Window_Rotation* ev(static_cast(event)); - if(ev->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(ev->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnRotation, Window (%p), angle: %d, width: %d, height: %d\n", mEcoreWindow, ev->angle, ev->w, ev->h); @@ -1226,7 +1226,7 @@ void WindowBaseEcoreWl2::OnConfiguration(void* data, int type, void* event) { Ecore_Wl2_Event_Window_Configure* ev(static_cast(event)); - if(ev && ev->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(ev && ev->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { // Note: To comply with the wayland protocol, Dali should make an ack_configure // by calling ecore_wl2_window_commit @@ -1278,7 +1278,7 @@ void WindowBaseEcoreWl2::OnMouseButtonDown(void* data, int type, void* event) { Ecore_Event_Mouse_Button* touchEvent = static_cast(event); - if(touchEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(touchEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_TRACE_SCOPE(gTraceFilter, "DALI_ON_MOUSE_DOWN"); @@ -1320,7 +1320,7 @@ void WindowBaseEcoreWl2::OnMouseButtonUp(void* data, int type, void* event) { Ecore_Event_Mouse_Button* touchEvent = static_cast(event); - if(touchEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(touchEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_TRACE_SCOPE(gTraceFilter, "DALI_ON_MOUSE_UP"); @@ -1349,7 +1349,7 @@ void WindowBaseEcoreWl2::OnMouseButtonMove(void* data, int type, void* event) { Ecore_Event_Mouse_Move* touchEvent = static_cast(event); - if(touchEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(touchEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_TRACE_SCOPE(gTraceFilter, "DALI_ON_MOUSE_MOVE"); @@ -1378,7 +1378,7 @@ void WindowBaseEcoreWl2::OnMouseButtonRelativeMove(void* data, int type, void* e { Ecore_Event_Mouse_Relative_Move* relativeMoveEvent = static_cast(event); - if(relativeMoveEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(relativeMoveEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_TRACE_SCOPE(gTraceFilter, "DALI_ON_MOUSE_RELATIVE_MOVE"); @@ -1399,7 +1399,7 @@ void WindowBaseEcoreWl2::OnMouseButtonCancel(void* data, int type, void* event) { Ecore_Event_Mouse_Button* touchEvent = static_cast(event); - if(touchEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(touchEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_TRACE_SCOPE(gTraceFilter, "DALI_ON_MOUSE_CANCEL"); @@ -1430,7 +1430,7 @@ void WindowBaseEcoreWl2::OnPointerConstraints(void* data, int type, void* event) { Ecore_Wl2_Event_Pointer_Constraints* constraintsEvent = static_cast(event); - if(constraintsEvent && constraintsEvent->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(constraintsEvent && constraintsEvent->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_TRACE_SCOPE(gTraceFilter, "DALI_ON_POINTER_CONSTRAINTS"); Dali::Int32Pair position(constraintsEvent->x, constraintsEvent->y); @@ -1445,7 +1445,7 @@ void WindowBaseEcoreWl2::OnMouseWheel(void* data, int type, void* event) { Ecore_Event_Mouse_Wheel* mouseWheelEvent = static_cast(event); - if(mouseWheelEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(mouseWheelEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_TRACE_SCOPE(gTraceFilter, "DALI_ON_MOUSE_WHEEL"); @@ -1461,7 +1461,7 @@ void WindowBaseEcoreWl2::OnMouseInOut(void* data, int type, void* event, Dali::D { Ecore_Event_Mouse_IO* mouseInOutEvent = static_cast(event); - if(mouseInOutEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(mouseInOutEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { DALI_TRACE_SCOPE(gTraceFilter, "DALI_ON_MOUSE_IN_OUT"); @@ -1484,19 +1484,21 @@ void WindowBaseEcoreWl2::OnDetentRotation(void* data, int type, void* event) Ecore_Event_Detent_Rotate* detentEvent = static_cast(event); DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnDetentRotation, Window (%p)\n", mEcoreWindow); + if(Dali::Adaptor::IsAvailable()) + { + int32_t clockwise = (detentEvent->direction == ECORE_DETENT_DIRECTION_CLOCKWISE) ? 1 : -1; - int32_t clockwise = (detentEvent->direction == ECORE_DETENT_DIRECTION_CLOCKWISE) ? 1 : -1; - - Integration::WheelEvent wheelEvent(Integration::WheelEvent::CUSTOM_WHEEL, detentEvent->direction, 0, Vector2(0.0f, 0.0f), clockwise, detentEvent->timestamp); + Integration::WheelEvent wheelEvent(Integration::WheelEvent::CUSTOM_WHEEL, detentEvent->direction, 0, Vector2(0.0f, 0.0f), clockwise, detentEvent->timestamp); - mWheelEventSignal.Emit(wheelEvent); + mWheelEventSignal.Emit(wheelEvent); + } } void WindowBaseEcoreWl2::OnKeyDown(void* data, int type, void* event) { Ecore_Event_Key* keyEvent = static_cast(event); - if(keyEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(keyEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { std::string keyName(keyEvent->keyname); std::string logicalKey(""); @@ -1568,7 +1570,7 @@ void WindowBaseEcoreWl2::OnKeyUp(void* data, int type, void* event) { Ecore_Event_Key* keyEvent = static_cast(event); - if(keyEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(keyEvent->window == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { #if defined(ECORE_VERSION_MAJOR) && (ECORE_VERSION_MAJOR >= 1) && defined(ECORE_VERSION_MINOR) && (ECORE_VERSION_MINOR >= 23) // Cancel processing flag is sent because this key event will combine with the previous key. So, the event should not actually perform anything. @@ -1638,162 +1640,190 @@ void WindowBaseEcoreWl2::OnKeyUp(void* data, int type, void* event) void WindowBaseEcoreWl2::OnDataSend(void* data, int type, void* event) { - mSelectionDataSendSignal.Emit(event); + if(Dali::Adaptor::IsAvailable()) + { + mSelectionDataSendSignal.Emit(event); + } } void WindowBaseEcoreWl2::OnDataReceive(void* data, int type, void* event) { - mSelectionDataReceivedSignal.Emit(event); + if(Dali::Adaptor::IsAvailable()) + { + mSelectionDataReceivedSignal.Emit(event); + } } void WindowBaseEcoreWl2::OnFontNameChanged() { - mStyleChangedSignal.Emit(StyleChange::DEFAULT_FONT_CHANGE); + if(Dali::Adaptor::IsAvailable()) + { + mStyleChangedSignal.Emit(StyleChange::DEFAULT_FONT_CHANGE); + } } void WindowBaseEcoreWl2::OnFontSizeChanged() { - mStyleChangedSignal.Emit(StyleChange::DEFAULT_FONT_SIZE_CHANGE); + if(Dali::Adaptor::IsAvailable()) + { + mStyleChangedSignal.Emit(StyleChange::DEFAULT_FONT_SIZE_CHANGE); + } } void WindowBaseEcoreWl2::OnTransitionEffectEvent(WindowEffectState state, WindowEffectType type) { DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnTransitionEffectEvent, Window (%p)\n", mEcoreWindow); - mTransitionEffectEventSignal.Emit(state, type); + + if(Dali::Adaptor::IsAvailable()) + { + mTransitionEffectEventSignal.Emit(state, type); + } } void WindowBaseEcoreWl2::OnKeyboardRepeatSettingsChanged() { - mKeyboardRepeatSettingsChangedSignal.Emit(); + if(Dali::Adaptor::IsAvailable()) + { + mKeyboardRepeatSettingsChangedSignal.Emit(); + } } void WindowBaseEcoreWl2::OnEcoreEventWindowRedrawRequest() { - mWindowRedrawRequestSignal.Emit(); + if(Dali::Adaptor::IsAvailable()) + { + mWindowRedrawRequestSignal.Emit(); + } } void WindowBaseEcoreWl2::OnEcoreEventWindowAuxiliaryMessage(void* event) { - Ecore_Wl2_Event_Aux_Message* message = static_cast(event); - if(message) + if(Dali::Adaptor::IsAvailable()) { - DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnEcoreEventWindowAuxiliaryMessage, Window (%p), key:%s, value:%s \n", mEcoreWindow, message->key, message->val); - std::string key(message->key); - std::string value(message->val); - Dali::Property::Array options; - - if(message->options) + Ecore_Wl2_Event_Aux_Message* message = static_cast(event); + if(message) { - Eina_List* l; - void* data; - EINA_LIST_FOREACH(message->options, l, data) + DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnEcoreEventWindowAuxiliaryMessage, Window (%p), key:%s, value:%s \n", mEcoreWindow, message->key, message->val); + std::string key(message->key); + std::string value(message->val); + Dali::Property::Array options; + + if(message->options) { - DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnEcoreEventWindowAuxiliaryMessage, Window (%p), option: %s\n", mEcoreWindow, (char*)data); - std::string option(static_cast(data)); - options.Add(option); + Eina_List* l; + void* data; + EINA_LIST_FOREACH(message->options, l, data) + { + DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnEcoreEventWindowAuxiliaryMessage, Window (%p), option: %s\n", mEcoreWindow, (char*)data); + std::string option(static_cast(data)); + options.Add(option); + } } - } - mAuxiliaryMessageSignal.Emit(key, value, options); + mAuxiliaryMessageSignal.Emit(key, value, options); + } } } void WindowBaseEcoreWl2::OnEcoreEventConformantChange(void* event) { - Ecore_Wl2_Event_Conformant_Change* ev = static_cast(event); - if(ev && ev->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(Dali::Adaptor::IsAvailable()) { - WindowInsetsPartType partType = WindowInsetsPartType::STATUS_BAR; + Ecore_Wl2_Event_Conformant_Change* ev = static_cast(event); + if(ev && ev->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + { + WindowInsetsPartType partType = WindowInsetsPartType::STATUS_BAR; - int x = 0; - int y = 0; - int w = 0; - int h = 0; + int x = 0; + int y = 0; + int w = 0; + int h = 0; - switch(ev->part_type) - { - case ECORE_WL2_INDICATOR_PART: - { - partType = WindowInsetsPartType::STATUS_BAR; - ecore_wl2_window_indicator_geometry_get(mEcoreWindow, &x, &y, &w, &h); - break; - } - case ECORE_WL2_KEYBOARD_PART: + switch(ev->part_type) { - partType = WindowInsetsPartType::KEYBOARD; - ecore_wl2_window_keyboard_geometry_get(mEcoreWindow, &x, &y, &w, &h); - break; - } - case ECORE_WL2_CLIPBOARD_PART: - { - partType = WindowInsetsPartType::CLIPBOARD; - ecore_wl2_window_clipboard_geometry_get(mEcoreWindow, &x, &y, &w, &h); - break; - } - default: - { - break; + case ECORE_WL2_INDICATOR_PART: + { + partType = WindowInsetsPartType::STATUS_BAR; + ecore_wl2_window_indicator_geometry_get(mEcoreWindow, &x, &y, &w, &h); + break; + } + case ECORE_WL2_KEYBOARD_PART: + { + partType = WindowInsetsPartType::KEYBOARD; + ecore_wl2_window_keyboard_geometry_get(mEcoreWindow, &x, &y, &w, &h); + break; + } + case ECORE_WL2_CLIPBOARD_PART: + { + partType = WindowInsetsPartType::CLIPBOARD; + ecore_wl2_window_clipboard_geometry_get(mEcoreWindow, &x, &y, &w, &h); + break; + } + default: + { + break; + } } - } - WindowInsetsPartState partState = WindowInsetsPartState::INVISIBLE; + WindowInsetsPartState partState = WindowInsetsPartState::INVISIBLE; - int left = 0; - int right = 0; - int top = 0; - int bottom = 0; + int left = 0; + int right = 0; + int top = 0; + int bottom = 0; - // Insets are applied only if system UI(e.g. virtual keyboard) satisfies the following 2 conditions. - // 1. System UI fits to the window width or height. - // 2. System UI begins or ends from the edge of window. - // Otherwise, we should not resize window content because there would be empty space around system UI. - bool applyInsets = false; + // Insets are applied only if system UI(e.g. virtual keyboard) satisfies the following 2 conditions. + // 1. System UI fits to the window width or height. + // 2. System UI begins or ends from the edge of window. + // Otherwise, we should not resize window content because there would be empty space around system UI. + bool applyInsets = false; - // Zero insets are applied if state is invisible - if(!ev->state) - { - applyInsets = true; - } - else - { - partState = WindowInsetsPartState::VISIBLE; - - int winX = mWindowPositionSize.x; - int winY = mWindowPositionSize.y; - int winW = mWindowPositionSize.width; - int winH = mWindowPositionSize.height; - - if((x <= winX) && (x + w >= winX + winW)) + // Zero insets are applied if state is invisible + if(!ev->state) { - if((y <= winY) && (y + h >= winY) && (y + h <= winY + winH)) - { - top = y + h - winY; - applyInsets = true; - } - else if((y + h >= winY + winH) && (y >= winY) && (y <= winY + winH)) - { - bottom = winY + winH - y; - applyInsets = true; - } + applyInsets = true; } - else if((y <= winY) && (y + h >= winY + winH)) + else { - if((x <= winX) && (x + w >= winX) && (x + w <= winX + winW)) + partState = WindowInsetsPartState::VISIBLE; + + int winX = mWindowPositionSize.x; + int winY = mWindowPositionSize.y; + int winW = mWindowPositionSize.width; + int winH = mWindowPositionSize.height; + + if((x <= winX) && (x + w >= winX + winW)) { - left = x + w - winX; - applyInsets = true; + if((y <= winY) && (y + h >= winY) && (y + h <= winY + winH)) + { + top = y + h - winY; + applyInsets = true; + } + else if((y + h >= winY + winH) && (y >= winY) && (y <= winY + winH)) + { + bottom = winY + winH - y; + applyInsets = true; + } } - else if((x + w >= winX + winW) && (x >= winX) && (x <= winX + winW)) + else if((y <= winY) && (y + h >= winY + winH)) { - right = winX + winW - x; - applyInsets = true; + if((x <= winX) && (x + w >= winX) && (x + w <= winX + winW)) + { + left = x + w - winX; + applyInsets = true; + } + else if((x + w >= winX + winW) && (x >= winX) && (x <= winX + winW)) + { + right = winX + winW - x; + applyInsets = true; + } } } - } - if(applyInsets) - { - mInsetsChangedSignal.Emit(partType, partState, Extents(left, right, top, bottom)); + if(applyInsets) + { + mInsetsChangedSignal.Emit(partType, partState, Extents(left, right, top, bottom)); + } } } } @@ -1812,7 +1842,7 @@ void WindowBaseEcoreWl2::KeymapChanged(void* data, int type, void* event) void WindowBaseEcoreWl2::OnMoveCompleted(void* event) { Ecore_Wl2_Event_Window_Interactive_Move_Done* movedDoneEvent = static_cast(event); - if(movedDoneEvent && movedDoneEvent->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(movedDoneEvent && movedDoneEvent->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { Dali::PositionSize orgPositionSize(movedDoneEvent->x, movedDoneEvent->y, movedDoneEvent->w, movedDoneEvent->h); Dali::PositionSize newPositionSize = RecalculatePositionSizeToCurrentOrientation(orgPositionSize); @@ -1825,7 +1855,7 @@ void WindowBaseEcoreWl2::OnMoveCompleted(void* event) void WindowBaseEcoreWl2::OnResizeCompleted(void* event) { Ecore_Wl2_Event_Window_Interactive_Resize_Done* resizedDoneEvent = static_cast(event); - if(resizedDoneEvent && resizedDoneEvent->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow))) + if(resizedDoneEvent && resizedDoneEvent->win == static_cast(ecore_wl2_window_id_get(mEcoreWindow)) && Dali::Adaptor::IsAvailable()) { Dali::PositionSize orgPositionSize(resizedDoneEvent->x, resizedDoneEvent->y, resizedDoneEvent->w, resizedDoneEvent->h); Dali::PositionSize newPositionSize = RecalculatePositionSizeToCurrentOrientation(orgPositionSize); diff --git a/dali/internal/window-system/ubuntu-x11/window-base-ecore-x.cpp b/dali/internal/window-system/ubuntu-x11/window-base-ecore-x.cpp index daf5247..fdcfa56 100644 --- a/dali/internal/window-system/ubuntu-x11/window-base-ecore-x.cpp +++ b/dali/internal/window-system/ubuntu-x11/window-base-ecore-x.cpp @@ -351,7 +351,7 @@ void WindowBaseEcoreX::Initialize(PositionSize positionSize, Any surface, bool i void WindowBaseEcoreX::OnWindowConfigure(void* event) { auto configure = static_cast(event); - if(configure->win == mEcoreWindow) + if(configure->win == mEcoreWindow && Dali::Adaptor::IsAvailable()) { Dali::PositionSize positionSize; positionSize.x = configure->x; @@ -367,7 +367,7 @@ Eina_Bool WindowBaseEcoreX::OnWindowPropertyChanged(void* data, int type, void* Ecore_X_Event_Window_Property* propertyChangedEvent = static_cast(event); Eina_Bool handled(ECORE_CALLBACK_PASS_ON); - if(propertyChangedEvent->win == mEcoreWindow) + if(propertyChangedEvent->win == mEcoreWindow && Dali::Adaptor::IsAvailable()) { Ecore_X_Window_State_Hint state(ecore_x_icccm_state_get(propertyChangedEvent->win)); @@ -407,14 +407,17 @@ Eina_Bool WindowBaseEcoreX::OnWindowPropertyChanged(void* data, int type, void* void WindowBaseEcoreX::OnDeleteRequest() { - mDeleteRequestSignal.Emit(); + if(Dali::Adaptor::IsAvailable()) + { + mDeleteRequestSignal.Emit(); + } } void WindowBaseEcoreX::OnFocusIn(void* data, int type, void* event) { Ecore_X_Event_Window_Focus_In* focusInEvent = static_cast(event); - if(focusInEvent->win == mEcoreWindow) + if(focusInEvent->win == mEcoreWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "Window EcoreEventWindowFocusIn\n"); @@ -427,7 +430,7 @@ void WindowBaseEcoreX::OnFocusOut(void* data, int type, void* event) Ecore_X_Event_Window_Focus_Out* focusOutEvent = static_cast(event); // If the window loses focus then hide the keyboard. - if(focusOutEvent->win == mEcoreWindow) + if(focusOutEvent->win == mEcoreWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "Window EcoreEventWindowFocusOut\n"); @@ -439,7 +442,7 @@ void WindowBaseEcoreX::OnWindowDamaged(void* data, int type, void* event) { Ecore_X_Event_Window_Damage* windowDamagedEvent = static_cast(event); - if(windowDamagedEvent->win == mEcoreWindow) + if(windowDamagedEvent->win == mEcoreWindow && Dali::Adaptor::IsAvailable()) { DamageArea area; area.x = windowDamagedEvent->x; @@ -455,7 +458,7 @@ void WindowBaseEcoreX::OnMouseButtonDown(void* data, int type, void* event) { Ecore_Event_Mouse_Button* touchEvent = static_cast(event); - if(touchEvent->window == mEcoreWindow) + if(touchEvent->window == mEcoreWindow && Dali::Adaptor::IsAvailable()) { PointState::Type state(PointState::DOWN); @@ -479,7 +482,7 @@ void WindowBaseEcoreX::OnMouseButtonUp(void* data, int type, void* event) { Ecore_Event_Mouse_Button* touchEvent = static_cast(event); - if(touchEvent->window == mEcoreWindow) + if(touchEvent->window == mEcoreWindow && Dali::Adaptor::IsAvailable()) { Integration::Point point; point.SetDeviceId(touchEvent->multi.device); @@ -501,7 +504,7 @@ void WindowBaseEcoreX::OnMouseButtonMove(void* data, int type, void* event) { Ecore_Event_Mouse_Move* touchEvent = static_cast(event); - if(touchEvent->window == mEcoreWindow) + if(touchEvent->window == mEcoreWindow && Dali::Adaptor::IsAvailable()) { Integration::Point point; point.SetDeviceId(touchEvent->multi.device); @@ -519,7 +522,7 @@ void WindowBaseEcoreX::OnMouseWheel(void* data, int type, void* event) { Ecore_Event_Mouse_Wheel* mouseWheelEvent = static_cast(event); - if(mouseWheelEvent->window == mEcoreWindow) + if(mouseWheelEvent->window == mEcoreWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreX::OnMouseWheel: direction: %d, modifiers: %d, x: %d, y: %d, z: %d\n", mouseWheelEvent->direction, mouseWheelEvent->modifiers, mouseWheelEvent->x, mouseWheelEvent->y, mouseWheelEvent->z); @@ -533,7 +536,7 @@ void WindowBaseEcoreX::OnKeyDown(void* data, int type, void* event) { Ecore_Event_Key* keyEvent = static_cast(event); - if(keyEvent->window == mEcoreWindow) + if(keyEvent->window == mEcoreWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreX::OnKeyDown\n"); @@ -575,7 +578,7 @@ void WindowBaseEcoreX::OnKeyUp(void* data, int type, void* event) { Ecore_Event_Key* keyEvent = static_cast(event); - if(keyEvent->window == mEcoreWindow) + if(keyEvent->window == mEcoreWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, " WindowBaseEcoreX::OnKeyUp\n"); @@ -632,7 +635,7 @@ void WindowBaseEcoreX::OnSelectionNotify(void* data, int type, void* event) { Ecore_X_Event_Selection_Notify* selectionNotifyEvent = static_cast(event); - if(selectionNotifyEvent->win == mEcoreWindow) + if(selectionNotifyEvent->win == mEcoreWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::Concise, " WindowBaseEcoreX::OnSelectionNotify\n"); diff --git a/dali/internal/window-system/windows/window-base-win.cpp b/dali/internal/window-system/windows/window-base-win.cpp index 7621a02..28f67a1 100644 --- a/dali/internal/window-system/windows/window-base-win.cpp +++ b/dali/internal/window-system/windows/window-base-win.cpp @@ -82,7 +82,10 @@ void WindowBaseWin::Initialize(PositionSize positionSize, Any surface, bool isTr void WindowBaseWin::OnDeleteRequest() { - mDeleteRequestSignal.Emit(); + if(Dali::Adaptor::IsAvailable()) + { + mDeleteRequestSignal.Emit(); + } } void WindowBaseWin::OnFocusIn(int type, TWinEventInfo* event) @@ -97,7 +100,7 @@ void WindowBaseWin::OnWindowDamaged(int type, TWinEventInfo* event) { Event_Mouse_Button* windowDamagedEvent((Event_Mouse_Button*)event); - if(windowDamagedEvent->window == mWin32Window) + if(windowDamagedEvent->window == mWin32Window && Dali::Adaptor::IsAvailable()) { DamageArea area; area.x = 0; @@ -116,7 +119,7 @@ void WindowBaseWin::OnMouseButtonDown(int type, TWinEventInfo* event) touchEvent.y = HIWORD(event->lParam); touchEvent.multi.device = DEVICE_MOUSE; - if(touchEvent.window == mWin32Window) + if(touchEvent.window == mWin32Window && Dali::Adaptor::IsAvailable()) { PointState::Type state(PointState::DOWN); @@ -140,7 +143,7 @@ void WindowBaseWin::OnMouseButtonUp(int type, TWinEventInfo* event) touchEvent.y = HIWORD(event->lParam); touchEvent.multi.device = DEVICE_MOUSE; - if(touchEvent.window == mWin32Window) + if(touchEvent.window == mWin32Window && Dali::Adaptor::IsAvailable()) { PointState::Type state(PointState::UP); @@ -164,7 +167,7 @@ void WindowBaseWin::OnMouseButtonMove(int type, TWinEventInfo* event) touchEvent.y = HIWORD(event->lParam); touchEvent.multi.device = DEVICE_MOUSE; - if(touchEvent.window == mWin32Window) + if(touchEvent.window == mWin32Window && Dali::Adaptor::IsAvailable()) { PointState::Type state(PointState::MOTION); @@ -184,7 +187,7 @@ void WindowBaseWin::OnMouseWheel(int type, TWinEventInfo* event) { Event_Mouse_Wheel mouseWheelEvent = *((Event_Mouse_Wheel*)(event)); - if(mouseWheelEvent.window == mWin32Window) + if(mouseWheelEvent.window == mWin32Window && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "WindowBaseWin::OnMouseWheel: direction: %d, modifiers: %d, x: %d, y: %d, z: %d\n", mouseWheelEvent.direction, mouseWheelEvent.modifiers, mouseWheelEvent.x, mouseWheelEvent.y, mouseWheelEvent.z); @@ -196,7 +199,7 @@ void WindowBaseWin::OnMouseWheel(int type, TWinEventInfo* event) void WindowBaseWin::OnKeyDown(int type, TWinEventInfo* event) { - if(event->mWindow == mWin32Window) + if(event->mWindow == mWin32Window && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "WindowBaseWin::OnKeyDown\n"); @@ -220,7 +223,7 @@ void WindowBaseWin::OnKeyDown(int type, TWinEventInfo* event) void WindowBaseWin::OnKeyUp(int type, TWinEventInfo* event) { - if(event->mWindow == mWin32Window) + if(event->mWindow == mWin32Window && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "WindowBaseWin::OnKeyDown\n"); diff --git a/dali/internal/window-system/x11/window-base-x.cpp b/dali/internal/window-system/x11/window-base-x.cpp index ab62841..da239ee 100644 --- a/dali/internal/window-system/x11/window-base-x.cpp +++ b/dali/internal/window-system/x11/window-base-x.cpp @@ -357,7 +357,7 @@ bool WindowBaseX::OnWindowPropertyChanged(void* data, WindowSystemBase::Event ty bool handled(false); auto propertyNotifyEvent = static_cast(event); - if(propertyNotifyEvent->window == mWindow) + if(propertyNotifyEvent->window == mWindow && Dali::Adaptor::IsAvailable()) { WindowSystemX::WindowState state = WindowSystem::GetImplementation().GetWindowState(mWindow); @@ -398,7 +398,7 @@ bool WindowBaseX::OnWindowPropertyChanged(void* data, WindowSystemBase::Event ty void WindowBaseX::OnConfigure(WindowSystemBase::EventBase* event) { auto configureEvent = static_cast(event); - if(configureEvent->window == mWindow) + if(configureEvent->window == mWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "Window::OnConfigureNotify\n"); Dali::PositionSize positionSize; @@ -413,14 +413,17 @@ void WindowBaseX::OnConfigure(WindowSystemBase::EventBase* event) void WindowBaseX::OnDeleteRequest() { - mDeleteRequestSignal.Emit(); + if(Dali::Adaptor::IsAvailable()) + { + mDeleteRequestSignal.Emit(); + } } void WindowBaseX::OnFocusIn(void* data, WindowSystemBase::Event, WindowSystemBase::EventBase* event) { auto x11Event = static_cast(event); - if(x11Event->window == mWindow) + if(x11Event->window == mWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "Window::OnFocusIn\n"); @@ -432,7 +435,7 @@ void WindowBaseX::OnFocusOut(void* data, WindowSystemBase::Event, WindowSystemBa { auto x11Event = static_cast(event); // If the window loses focus then hide the keyboard. - if(x11Event->window == mWindow) + if(x11Event->window == mWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "Window::FocusOut\n"); @@ -443,7 +446,7 @@ void WindowBaseX::OnFocusOut(void* data, WindowSystemBase::Event, WindowSystemBa void WindowBaseX::OnWindowDamaged(void* data, WindowSystemBase::Event, WindowSystemBase::EventBase* event) { auto windowExposeEvent = static_cast(event); - if(windowExposeEvent->window == mWindow) + if(windowExposeEvent->window == mWindow && Dali::Adaptor::IsAvailable()) { DamageArea area; area.x = windowExposeEvent->x; @@ -459,7 +462,7 @@ void WindowBaseX::OnMouseButtonDown(void* data, WindowSystemBase::Event type, Wi { auto touchEvent = static_cast(event); - if(touchEvent->window == mWindow) + if(touchEvent->window == mWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "Window::ButtonDown\n"); PointState::Type state(PointState::DOWN); @@ -484,7 +487,7 @@ void WindowBaseX::OnMouseButtonUp(void* data, WindowSystemBase::Event type, Wind { auto touchEvent = static_cast(event); - if(touchEvent->window == mWindow) + if(touchEvent->window == mWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "Window::ButtonUp\n"); Integration::Point point; @@ -507,7 +510,7 @@ void WindowBaseX::OnMouseButtonMove(void* data, WindowSystemBase::Event type, Wi { auto touchEvent = static_cast(event); - if(touchEvent->window == mWindow) + if(touchEvent->window == mWindow && Dali::Adaptor::IsAvailable()) { Integration::Point point; point.SetDeviceId(touchEvent->device); @@ -525,7 +528,7 @@ void WindowBaseX::OnMouseWheel(void* data, WindowSystemBase::Event type, WindowS { auto mouseWheelEvent = static_cast(event); - if(mouseWheelEvent->window == mWindow) + if(mouseWheelEvent->window == mWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "WindowBaseX::OnMouseWheel: direction: %d, modifiers: %d, x: %d, y: %d, z: %d\n", mouseWheelEvent->direction, mouseWheelEvent->modifiers, mouseWheelEvent->x, mouseWheelEvent->y, mouseWheelEvent->z); @@ -567,7 +570,7 @@ void WindowBaseX::OnKeyDown(void* data, WindowSystemBase::Event type, WindowSyst { auto keyEvent = static_cast(event); - if(keyEvent->window == mWindow) + if(keyEvent->window == mWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "WindowBaseX::OnKeyDown\n"); @@ -581,7 +584,7 @@ void WindowBaseX::OnKeyUp(void* data, WindowSystemBase::Event type, WindowSystem { auto keyEvent = static_cast(event); - if(keyEvent->window == mWindow) + if(keyEvent->window == mWindow && Dali::Adaptor::IsAvailable()) { DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, " WindowBaseX::OnKeyUp\n"); -- 2.7.4