/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
{
}
+void ImfManager::Finalize()
+{
+ Internal::Adaptor::ImfManager::GetImplementation(*this).Finalize();
+}
+
ImfManager ImfManager::Get()
{
return Internal::Adaptor::ImfManager::Get();
#define __DALI_IMF_MANAGER_H__
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
public:
/**
+ * @brief Finalize the IMF.
+ *
+ * It means that the context will be deleted.
+ */
+ void Finalize();
+
+ /**
* @brief Retrieve a handle to the instance of ImfManager.
* @return A handle to the ImfManager.
*/
/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
ImfManager::~ImfManager()
{}
+void ImfManager::Finalize()
+{}
+
void ImfManager::NotifyCursorPosition()
{}
}
}
-}
\ No newline at end of file
+}
using ImfKeyboardResizedSignalType = Dali::ImfManager::KeyboardResizedSignalType;
public:
-
/**
* Check whether the ImfManager is available.
* @return true if available, false otherwise
virtual void DisconnectCallbacks();
/**
+ * @copydoc Dali::ImfManager::Finalize()
+ */
+ virtual void Finalize();
+
+ /**
* @copydoc Dali::ImfManager::Activate()
*/
virtual void Activate();
} // namespace Dali
-#endif // DALI_INTERNAL_INPUT_COMMON_IMF_MANAGER_IMPL_H
+#endif // __DALI_INTERNAL_IMF_MANAGER_H
/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
else if ( Adaptor::IsAvailable() )
{
// Create instance and register singleton only if the adaptor is available
-
Adaptor& adaptorImpl( Adaptor::GetImplementation( Adaptor::Get() ) );
Any nativeWindow = adaptorImpl.GetNativeWindowHandle();
ImfManagerEcoreWl::~ImfManagerEcoreWl()
{
- DisconnectCallbacks();
+ Finalize();
+ ecore_imf_shutdown();
+}
+void ImfManagerEcoreWl::Finalize()
+{
+ DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::Finalize\n" );
+ DisconnectCallbacks();
DeleteContext();
- ecore_imf_shutdown();
}
void ImfManagerEcoreWl::CreateContext( Ecore_Wl_Window *ecoreWlwin )
} // Dali
-#pragma GCC diagnostic pop
\ No newline at end of file
+#pragma GCC diagnostic pop
void DisconnectCallbacks() override;
/**
+ * @copydoc Dali::ImfManager::Finalize()
+ */
+ void Finalize() override;
+
+ /**
* @copydoc Dali::ImfManager::Activate()
*/
void Activate() override;
/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
ImfManagerX::~ImfManagerX()
{
VirtualKeyboard::DisconnectCallbacks( mIMFContext );
- DisconnectCallbacks();
+ Finalize();
+ ecore_imf_shutdown();
+}
+void ImfManagerX::Finalize()
+{
+ DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::Finalize\n" );
+ DisconnectCallbacks();
DeleteContext();
- ecore_imf_shutdown();
}
+
void ImfManagerX::CreateContext( Ecore_X_Window ecoreXwin )
{
DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::CreateContext\n" );
void DisconnectCallbacks() override;
/**
+ * @copydoc Dali::ImfManager::Finalize()
+ */
+ void Finalize() override;
+
+ /**
* @copydoc Dali::ImfManager::Activate()
*/
void Activate() override;