Modify to get the encoded offset in UTF8
[platform/core/uifw/dali-adaptor.git] / dali / internal / input / windows / input-method-context-impl-win.h
index a2f71f3..253bc02 100755 (executable)
@@ -37,21 +37,22 @@ namespace Internal
 namespace Adaptor\r
 {\r
 \r
-class InputMethodContextWin : public Dali::Internal::Adaptor::InputMethodContext\r
+class InputMethodContextWin : public Dali::Internal::Adaptor::InputMethodContext, public Dali::ConnectionTracker\r
 {\r
 public:\r
   /**\r
    * @brief Creates a new InputMethodContext handle\r
    *\r
+   * @param[in] actor The actor that uses the new InputMethodContext instance.\r
    * @return InputMethodContext pointer\r
    */\r
-  static InputMethodContextPtr New();\r
+  static InputMethodContextPtr New( Dali::Actor actor );\r
 \r
   /**\r
    * Constructor\r
    * @param[in] win32Window, The window is created by application.\r
    */\r
-  explicit InputMethodContextWin( WinWindowHandle win32Window );\r
+  explicit InputMethodContextWin( Dali::Actor actor );\r
 \r
 public:\r
 \r
@@ -110,12 +111,12 @@ public:
   /**\r
    * @copydoc Dali::InputMethodContext::PreEditChanged()\r
    */\r
-  void PreEditChanged( void* data, ImfContext* imfContext, void* event_info ) override;\r
+  void PreEditChanged( void* data, ImfContext* imfContext, void* eventInfo ) override;\r
 \r
   /**\r
    * @copydoc Dali::InputMethodContext::NotifyCursorPosition()\r
    */\r
-  void CommitReceived( void* data, ImfContext* imfContext, void* event_info ) override;\r
+  void CommitReceived( void* data, ImfContext* imfContext, void* eventInfo ) override;\r
 \r
   /**\r
    * @copydoc Dali::InputMethodContext::NotifyCursorPosition()\r
@@ -125,12 +126,18 @@ public:
   /**\r
    * @copydoc Dali::InputMethodContext::DeleteSurrounding()\r
    */\r
-  void DeleteSurrounding( void* data, ImfContext* imfContext, void* event_info ) override;\r
+  void DeleteSurrounding( void* data, ImfContext* imfContext, void* eventInfo ) override;\r
 \r
   /**\r
    * @copydoc Dali::InputMethodContext::SendPrivateCommand()\r
    */\r
-  void SendPrivateCommand( void* data, ImfContext* imfContext, void* event_info ) override\r
+  void SendPrivateCommand( void* data, ImfContext* imfContext, void* eventInfo ) override\r
+  {}\r
+\r
+  /**\r
+   * @copydoc Dali::InputMethodContext::SendCommitContent()\r
+   */\r
+  void SendCommitContent( void* data, ImfContext* imfContext, void* eventInfo ) override\r
   {}\r
 \r
   // Cursor related\r
@@ -225,10 +232,35 @@ public:
   std::string GetInputPanelLocale() override;\r
 \r
   /**\r
+   * @copydoc Dali::InputMethodContext::SetContentMIMETypes()\r
+   */\r
+  void SetContentMIMETypes( const std::string& mimeTypes ) override;\r
+\r
+  /**\r
    * @copydoc Dali::InputMethodContext::FilterEventKey()\r
    */\r
   bool FilterEventKey( const Dali::KeyEvent& keyEvent ) override;\r
 \r
+  /**\r
+   * @copydoc Dali::InputMethodContext::SetInputPanelLanguage()\r
+   */\r
+  void SetInputPanelLanguage( Dali::InputMethodContext::InputPanelLanguage language ) override;\r
+\r
+  /**\r
+   * @copydoc Dali::InputMethodContext::GetInputPanelLanguage()\r
+   */\r
+  Dali::InputMethodContext::InputPanelLanguage GetInputPanelLanguage() const override;\r
+\r
+  /**\r
+   * @copydoc Dali::InputMethodContext::SetInputPanelPosition()\r
+   */\r
+  void SetInputPanelPosition( unsigned int x, unsigned int y ) override;\r
+\r
+  /**\r
+   * @copydoc Dali::InputMethodContext::GetPreeditStyle()\r
+   */\r
+  void GetPreeditStyle( Dali::InputMethodContext::PreEditAttributeDataContainer& attrs ) const override;\r
+\r
 private:\r
   /**\r
    * Context created the first time and kept until deleted.\r
@@ -259,6 +291,11 @@ private:
    */\r
   bool ProcessEventKeyUp( const KeyEvent& keyEvent );\r
 \r
+  /**\r
+   * Called when the binded actor is added to a window.\r
+   */\r
+  void OnStaged( Dali::Actor actor );\r
+\r
 public:\r
 \r
   /**\r
@@ -282,6 +319,7 @@ private:
   bool mRestoreAfterFocusLost:1;             ///< Whether the keyboard needs to be restored (activated ) after focus regained.\r
   bool mIdleCallbackConnected:1;             ///< Whether the idle callback is already connected.\r
   InputMethodOptions        mOptions;\r
+  Dali::InputMethodContext::PreEditAttributeDataContainer mPreeditAttrs; ///< Stores preedit attribute data\r
 };\r
 \r
 } // namespace Adaptor\r