X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Ftizen-wayland%2Fecore-wl2%2Fwindow-base-ecore-wl2.cpp;h=c2ee17adfe675ea9f1d8f26890d7c99cfc0d274e;hb=ac63e9f54ced9f1ebad3cfbe285d7c29887dd7c2;hp=aa0d96a8534e195de6add2d6aa450639cbb3b540;hpb=423ab83b310505876a134716176f7fcc32d658c0;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git 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 aa0d96a..c2ee17a 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 @@ -580,6 +580,20 @@ static Eina_Bool EcoreEventWindowRedrawRequest(void* data, int type, void* event } ///////////////////////////////////////////////////////////////////////////////////////////////// +// Window Auxiliary Message Callbacks +///////////////////////////////////////////////////////////////////////////////////////////////// +static Eina_Bool EcoreEventWindowAuxiliaryMessage(void *data, int type, void *event) +{ + WindowBaseEcoreWl2* windowBase = static_cast(data); + DALI_LOG_INFO(gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl2::EcoreEventWindowAuxiliaryMessage, window[ %d ]\n", windowAuxiliaryMessage->win); + if(windowBase) + { + windowBase->OnEcoreEventWindowAuxiliaryMessage(event); + } + return ECORE_CALLBACK_RENEW; +} + +///////////////////////////////////////////////////////////////////////////////////////////////// // ElDBus Accessibility Callbacks ///////////////////////////////////////////////////////////////////////////////////////////////// @@ -842,6 +856,9 @@ void WindowBaseEcoreWl2::Initialize(PositionSize positionSize, Any surface, bool // Register Window redraw request event mEcoreEventHandler.PushBack(ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_REDRAW_REQUEST, EcoreEventWindowRedrawRequest, this)); + // Register Window auxiliary event + mEcoreEventHandler.PushBack(ecore_event_handler_add(ECORE_WL2_EVENT_AUX_MESSAGE, EcoreEventWindowAuxiliaryMessage, this)); + // Register Vconf notify - font name and size vconf_notify_key_changed(DALI_VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_NAME, VconfNotifyFontNameChanged, this); vconf_notify_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, VconfNotifyFontSizeChanged, this); @@ -1385,6 +1402,33 @@ void WindowBaseEcoreWl2::OnEcoreEventWindowRedrawRequest() mWindowRedrawRequestSignal.Emit(); } +void WindowBaseEcoreWl2::OnEcoreEventWindowAuxiliaryMessage(void* event) +{ + Ecore_Wl2_Event_Aux_Message *message = static_cast(event); + if(message) + { + DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnEcoreEventWindowAuxiliaryMessage, key:%s, value:%s \n",message->key, message->val); + std::string key(message->key); + std::string value(message->val); + Dali::Property::Array options; + + if(message->options) + { + Eina_List *l; + void* data; + EINA_LIST_FOREACH(message->options, l, data) + { + DALI_LOG_RELEASE_INFO("WindowBaseEcoreWl2::OnEcoreEventWindowAuxiliaryMessage, option: %s\n",(char*)data); + std::string option(static_cast(data)); + options.Add(option); + } + } + + mAuxiliaryMessageSignal.Emit(key, value, options); + } +} + + void WindowBaseEcoreWl2::KeymapChanged(void* data, int type, void* event) { Ecore_Wl2_Event_Seat_Keymap_Changed* changed = static_cast(event);