axmol/cocos/base/CCIMEDelegate.h

167 lines
4.4 KiB
C
Raw Normal View History

/****************************************************************************
Copyright (c) 2010 cocos2d-x.org
Copyright (C) 2013-2014 Chukong Technologies Inc.
http://www.cocos2d-x.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
#ifndef __CC_IME_DELEGATE_H__
#define __CC_IME_DELEGATE_H__
#include <string>
2014-04-30 08:37:36 +08:00
#include "math/CCGeometry.h"
2012-06-20 18:09:11 +08:00
/**
Add missing comments for UI modules Squashed commit of the following: commit eb23bf8972d1a580db537f3d341091eaeb99d626 Author: andyque <guanghui8827@126.com> Date: Wed Mar 25 17:08:07 2015 +0800 finish all the documents commit a64ec4196eb1b41771ac2f7b2ba48845d22b6211 Author: andyque <guanghui8827@126.com> Date: Wed Mar 25 09:49:33 2015 +0800 finish scrollview commit 4ff76623230f19dd25c4de29e2816754524570b2 Author: andyque <guanghui8827@126.com> Date: Tue Mar 24 21:40:26 2015 +0800 add UIScale9Sprite comments Conflicts: cocos/ui/UIScale9Sprite.h commit e82a17b4e3cd07a03d4bfc906b0dc94d1fa08757 Author: andyque <guanghui8827@126.com> Date: Tue Mar 24 18:05:02 2015 +0800 add comments for UIRichText commit 7cbbcc6883ace0ef60a060f6c5808f4c296af4df Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 22:08:26 2015 +0800 add comments for UIPageView and UIRelativeBox commit 6fcf32a40d5407aefcba39e76aea5fb93a1a4e4a Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 21:12:27 2015 +0800 finish loadingbar comments commit 58e16b81dee833788018d913aef80e2ddd33d408 Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 20:51:30 2015 +0800 finished UiListView commit 8278b3f1ee905c34dbd9c461975b1b4491eb7977 Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 20:06:10 2015 +0800 add comments for LayoutManager and LayoutParameter. commit b2edfa06b83fbb0cdaf2f567c0d6f8d72e6f90c5 Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 17:09:17 2015 +0800 finish comments for UILayoutComponent commit 730b5bc9c1a18139fbdef331b16c58b928cf999f Author: andyque <guanghui8827@126.com> Date: Fri Mar 20 14:07:58 2015 +0800 add missing comments commit cecd97e830492e58dd07a2b1f5d0e87f19144856 Author: andyque <guanghui8827@126.com> Date: Fri Mar 20 09:31:51 2015 +0800 add comments commit ca0a6033bf61c7fc9caf70719ee5ea651953f580 Author: andyque <guanghui8827@126.com> Date: Thu Mar 19 21:02:36 2015 +0800 add missing docs for UIButton, UILayout, UIIMageview and UIWidget commit df98454583553e80d2ef4f72cc58de4b433f43c7 Author: andyque <guanghui8827@126.com> Date: Thu Mar 19 14:02:05 2015 +0800 add missing comments for UIHbox and UIHelper commit 4baf76dd92672b745d3d84e47e5fed8c680b01c7 Author: andyque <guanghui8827@126.com> Date: Thu Mar 19 11:28:32 2015 +0800 add comments for UICheckbox commit 77c4080b3c70268b6a07cfa12d1e9319c86a2f38 Author: andyque <guanghui8827@126.com> Date: Thu Mar 19 00:01:42 2015 +0800 update coments commit 4506327ace5b7786ee8b490aab1653462a834418 Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 20:32:57 2015 +0800 add comments for UIEditbox commit 4937f30adb8912a02ab10353b6cc5fe2eed9d4bf Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 10:51:20 2015 +0800 add missing comments for UIEditBox commit 64a48c6b09f4eaf6b84cc8446ef59d382cf8767b Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 10:12:08 2015 +0800 fix indentation problem commit b38c921c114bb4a707be0f29dcdf8c46e43a445a Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 10:08:46 2015 +0800 add missing comments for CCIMEDispatcher commit 4412cf52429f22351a5c9fbb7c392bca64c2a2c6 Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 09:57:52 2015 +0800 add missing documents for CCIMedelegate commit 53d3242f2cafde2bebedebe8353c6be625e5ce84 Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 09:43:33 2015 +0800 add missing documentation for CCTilemapatlas commit 1f6183086b6e21557e5b05bf4cede43d472611a1 Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 09:38:59 2015 +0800 add missing comments for CCTextfieldttf commit a7fe234153cebc4113cc97064d20dfd3515f9611 Author: andyque <guanghui8827@126.com> Date: Tue Mar 17 22:03:31 2015 +0800 supplement comments for ProtectedNode commit 3b02d22850b6a9e99e779ca09e5ce0b5bf24d602 Author: andyque <guanghui8827@126.com> Date: Tue Mar 17 21:55:03 2015 +0800 add comments to CCMenuitem.h commit 58e054c5cd28986e4420c2ae44af7e9a2beab4ce Author: andyque <guanghui8827@126.com> Date: Tue Mar 17 21:36:14 2015 +0800 add comments to Menu
2015-03-25 18:17:58 +08:00
* @addtogroup base
2012-06-20 18:09:11 +08:00
* @{
*/
2015-03-27 12:01:20 +08:00
NS_CC_BEGIN
2012-06-20 18:09:11 +08:00
Add missing comments for UI modules Squashed commit of the following: commit eb23bf8972d1a580db537f3d341091eaeb99d626 Author: andyque <guanghui8827@126.com> Date: Wed Mar 25 17:08:07 2015 +0800 finish all the documents commit a64ec4196eb1b41771ac2f7b2ba48845d22b6211 Author: andyque <guanghui8827@126.com> Date: Wed Mar 25 09:49:33 2015 +0800 finish scrollview commit 4ff76623230f19dd25c4de29e2816754524570b2 Author: andyque <guanghui8827@126.com> Date: Tue Mar 24 21:40:26 2015 +0800 add UIScale9Sprite comments Conflicts: cocos/ui/UIScale9Sprite.h commit e82a17b4e3cd07a03d4bfc906b0dc94d1fa08757 Author: andyque <guanghui8827@126.com> Date: Tue Mar 24 18:05:02 2015 +0800 add comments for UIRichText commit 7cbbcc6883ace0ef60a060f6c5808f4c296af4df Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 22:08:26 2015 +0800 add comments for UIPageView and UIRelativeBox commit 6fcf32a40d5407aefcba39e76aea5fb93a1a4e4a Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 21:12:27 2015 +0800 finish loadingbar comments commit 58e16b81dee833788018d913aef80e2ddd33d408 Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 20:51:30 2015 +0800 finished UiListView commit 8278b3f1ee905c34dbd9c461975b1b4491eb7977 Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 20:06:10 2015 +0800 add comments for LayoutManager and LayoutParameter. commit b2edfa06b83fbb0cdaf2f567c0d6f8d72e6f90c5 Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 17:09:17 2015 +0800 finish comments for UILayoutComponent commit 730b5bc9c1a18139fbdef331b16c58b928cf999f Author: andyque <guanghui8827@126.com> Date: Fri Mar 20 14:07:58 2015 +0800 add missing comments commit cecd97e830492e58dd07a2b1f5d0e87f19144856 Author: andyque <guanghui8827@126.com> Date: Fri Mar 20 09:31:51 2015 +0800 add comments commit ca0a6033bf61c7fc9caf70719ee5ea651953f580 Author: andyque <guanghui8827@126.com> Date: Thu Mar 19 21:02:36 2015 +0800 add missing docs for UIButton, UILayout, UIIMageview and UIWidget commit df98454583553e80d2ef4f72cc58de4b433f43c7 Author: andyque <guanghui8827@126.com> Date: Thu Mar 19 14:02:05 2015 +0800 add missing comments for UIHbox and UIHelper commit 4baf76dd92672b745d3d84e47e5fed8c680b01c7 Author: andyque <guanghui8827@126.com> Date: Thu Mar 19 11:28:32 2015 +0800 add comments for UICheckbox commit 77c4080b3c70268b6a07cfa12d1e9319c86a2f38 Author: andyque <guanghui8827@126.com> Date: Thu Mar 19 00:01:42 2015 +0800 update coments commit 4506327ace5b7786ee8b490aab1653462a834418 Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 20:32:57 2015 +0800 add comments for UIEditbox commit 4937f30adb8912a02ab10353b6cc5fe2eed9d4bf Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 10:51:20 2015 +0800 add missing comments for UIEditBox commit 64a48c6b09f4eaf6b84cc8446ef59d382cf8767b Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 10:12:08 2015 +0800 fix indentation problem commit b38c921c114bb4a707be0f29dcdf8c46e43a445a Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 10:08:46 2015 +0800 add missing comments for CCIMEDispatcher commit 4412cf52429f22351a5c9fbb7c392bca64c2a2c6 Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 09:57:52 2015 +0800 add missing documents for CCIMedelegate commit 53d3242f2cafde2bebedebe8353c6be625e5ce84 Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 09:43:33 2015 +0800 add missing documentation for CCTilemapatlas commit 1f6183086b6e21557e5b05bf4cede43d472611a1 Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 09:38:59 2015 +0800 add missing comments for CCTextfieldttf commit a7fe234153cebc4113cc97064d20dfd3515f9611 Author: andyque <guanghui8827@126.com> Date: Tue Mar 17 22:03:31 2015 +0800 supplement comments for ProtectedNode commit 3b02d22850b6a9e99e779ca09e5ce0b5bf24d602 Author: andyque <guanghui8827@126.com> Date: Tue Mar 17 21:55:03 2015 +0800 add comments to CCMenuitem.h commit 58e054c5cd28986e4420c2ae44af7e9a2beab4ce Author: andyque <guanghui8827@126.com> Date: Tue Mar 17 21:36:14 2015 +0800 add comments to Menu
2015-03-25 18:17:58 +08:00
/**
* A static global empty std::string install.
*/
extern const std::string CC_DLL STD_STRING_EMPTY;
/**
* Keyboard notification event type.
*/
typedef struct
{
Rect begin; // the soft keyboard rectangle when animation begins
Rect end; // the soft keyboard rectangle when animation ends
float duration; // the soft keyboard animation duration
} IMEKeyboardNotificationInfo;
/**
Add missing comments for UI modules Squashed commit of the following: commit eb23bf8972d1a580db537f3d341091eaeb99d626 Author: andyque <guanghui8827@126.com> Date: Wed Mar 25 17:08:07 2015 +0800 finish all the documents commit a64ec4196eb1b41771ac2f7b2ba48845d22b6211 Author: andyque <guanghui8827@126.com> Date: Wed Mar 25 09:49:33 2015 +0800 finish scrollview commit 4ff76623230f19dd25c4de29e2816754524570b2 Author: andyque <guanghui8827@126.com> Date: Tue Mar 24 21:40:26 2015 +0800 add UIScale9Sprite comments Conflicts: cocos/ui/UIScale9Sprite.h commit e82a17b4e3cd07a03d4bfc906b0dc94d1fa08757 Author: andyque <guanghui8827@126.com> Date: Tue Mar 24 18:05:02 2015 +0800 add comments for UIRichText commit 7cbbcc6883ace0ef60a060f6c5808f4c296af4df Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 22:08:26 2015 +0800 add comments for UIPageView and UIRelativeBox commit 6fcf32a40d5407aefcba39e76aea5fb93a1a4e4a Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 21:12:27 2015 +0800 finish loadingbar comments commit 58e16b81dee833788018d913aef80e2ddd33d408 Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 20:51:30 2015 +0800 finished UiListView commit 8278b3f1ee905c34dbd9c461975b1b4491eb7977 Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 20:06:10 2015 +0800 add comments for LayoutManager and LayoutParameter. commit b2edfa06b83fbb0cdaf2f567c0d6f8d72e6f90c5 Author: andyque <guanghui8827@126.com> Date: Mon Mar 23 17:09:17 2015 +0800 finish comments for UILayoutComponent commit 730b5bc9c1a18139fbdef331b16c58b928cf999f Author: andyque <guanghui8827@126.com> Date: Fri Mar 20 14:07:58 2015 +0800 add missing comments commit cecd97e830492e58dd07a2b1f5d0e87f19144856 Author: andyque <guanghui8827@126.com> Date: Fri Mar 20 09:31:51 2015 +0800 add comments commit ca0a6033bf61c7fc9caf70719ee5ea651953f580 Author: andyque <guanghui8827@126.com> Date: Thu Mar 19 21:02:36 2015 +0800 add missing docs for UIButton, UILayout, UIIMageview and UIWidget commit df98454583553e80d2ef4f72cc58de4b433f43c7 Author: andyque <guanghui8827@126.com> Date: Thu Mar 19 14:02:05 2015 +0800 add missing comments for UIHbox and UIHelper commit 4baf76dd92672b745d3d84e47e5fed8c680b01c7 Author: andyque <guanghui8827@126.com> Date: Thu Mar 19 11:28:32 2015 +0800 add comments for UICheckbox commit 77c4080b3c70268b6a07cfa12d1e9319c86a2f38 Author: andyque <guanghui8827@126.com> Date: Thu Mar 19 00:01:42 2015 +0800 update coments commit 4506327ace5b7786ee8b490aab1653462a834418 Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 20:32:57 2015 +0800 add comments for UIEditbox commit 4937f30adb8912a02ab10353b6cc5fe2eed9d4bf Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 10:51:20 2015 +0800 add missing comments for UIEditBox commit 64a48c6b09f4eaf6b84cc8446ef59d382cf8767b Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 10:12:08 2015 +0800 fix indentation problem commit b38c921c114bb4a707be0f29dcdf8c46e43a445a Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 10:08:46 2015 +0800 add missing comments for CCIMEDispatcher commit 4412cf52429f22351a5c9fbb7c392bca64c2a2c6 Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 09:57:52 2015 +0800 add missing documents for CCIMedelegate commit 53d3242f2cafde2bebedebe8353c6be625e5ce84 Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 09:43:33 2015 +0800 add missing documentation for CCTilemapatlas commit 1f6183086b6e21557e5b05bf4cede43d472611a1 Author: andyque <guanghui8827@126.com> Date: Wed Mar 18 09:38:59 2015 +0800 add missing comments for CCTextfieldttf commit a7fe234153cebc4113cc97064d20dfd3515f9611 Author: andyque <guanghui8827@126.com> Date: Tue Mar 17 22:03:31 2015 +0800 supplement comments for ProtectedNode commit 3b02d22850b6a9e99e779ca09e5ce0b5bf24d602 Author: andyque <guanghui8827@126.com> Date: Tue Mar 17 21:55:03 2015 +0800 add comments to CCMenuitem.h commit 58e054c5cd28986e4420c2ae44af7e9a2beab4ce Author: andyque <guanghui8827@126.com> Date: Tue Mar 17 21:36:14 2015 +0800 add comments to Menu
2015-03-25 18:17:58 +08:00
*@brief Input method editor delegate.
*/
class CC_DLL IMEDelegate
{
public:
/**
* @js NA
* @lua NA
*/
virtual ~IMEDelegate();
/**
* @js NA
* @lua NA
*/
virtual bool attachWithIME();
/**
* @js NA
* @lua NA
*/
virtual bool detachWithIME();
protected:
friend class IMEDispatcher;
/**
@brief Decide if the delegate instance is ready to receive an IME message.
Called by IMEDispatcher.
* @js NA
* @lua NA
*/
virtual bool canAttachWithIME() { return false; }
/**
@brief When the delegate detaches from the IME, this method is called by IMEDispatcher.
* @js NA
* @lua NA
*/
virtual void didAttachWithIME() {}
/**
@brief Decide if the delegate instance can stop receiving IME messages.
* @js NA
* @lua NA
*/
virtual bool canDetachWithIME() { return false; }
/**
@brief When the delegate detaches from the IME, this method is called by IMEDispatcher.
* @js NA
* @lua NA
*/
virtual void didDetachWithIME() {}
/**
@brief Called by IMEDispatcher when text input received from the IME.
* @js NA
* @lua NA
*/
2014-03-20 10:58:04 +08:00
virtual void insertText(const char * text, size_t len) {CC_UNUSED_PARAM(text);CC_UNUSED_PARAM(len);}
/**
@brief Called by IMEDispatcher after the user clicks the backward key.
* @js NA
* @lua NA
*/
virtual void deleteBackward() {}
/**
@brief Called by IMEDispatcher for text stored in delegate.
* @js NA
* @lua NA
*/
virtual const std::string& getContentText() { return STD_STRING_EMPTY; }
//////////////////////////////////////////////////////////////////////////
// keyboard show/hide notification
//////////////////////////////////////////////////////////////////////////
/**
* @js NA
* @lua NA
*/
virtual void keyboardWillShow(IMEKeyboardNotificationInfo& info) {CC_UNUSED_PARAM(info);}
/**
* @js NA
* @lua NA
*/
virtual void keyboardDidShow(IMEKeyboardNotificationInfo& info) {CC_UNUSED_PARAM(info);}
/**
* @js NA
* @lua NA
*/
virtual void keyboardWillHide(IMEKeyboardNotificationInfo& info) {CC_UNUSED_PARAM(info);}
/**
* @js NA
* @lua NA
*/
virtual void keyboardDidHide(IMEKeyboardNotificationInfo& info) {CC_UNUSED_PARAM(info);}
protected:
/**
* @js NA
* @lua NA
*/
IMEDelegate();
};
2012-06-20 18:09:11 +08:00
NS_CC_END
2015-03-27 12:01:20 +08:00
// end of base group
/// @}
#endif // __CC_IME_DELEGATE_H__