cocos2d-x节点(CCIMEDispatcher.h)API

本文来自http://blog.csdn.net/runaying ,引用必须注明出处!

cocos2d-x节点(CCIMEDispatcher.h)API

温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记

IME调度

//cocos2d-x-3.0alpha0/cocos2dx/text_input_node
//IME调度


#ifndef __CC_IME_DISPATCHER_H__
#define __CC_IME_DISPATCHER_H__

#include "CCIMEDelegate.h"

NS_CC_BEGIN

/**
 * @addtogroup input
 * @{
 */

/**
@brief    输入法编辑调度信息.
*/
class CC_DLL IMEDispatcher
{
public:
    /**
     * @js NA
     * @lua NA
     */
    ~IMEDispatcher();

    /**
     @brief Returns 系统共享的 IMEDispatcher 对象
     * @js NA
     * @lua NA
     */
    static IMEDispatcher* sharedDispatcher();

//     /**
//     @brief 从共享的 dispatcher 释放所有的 IMEDelegates
//     */
//     static void purgeSharedDispatcher();

    /**
     @brief 调度 IME 输入文字.
     * @js NA
     * @lua NA
     */
    void dispatchInsertText(const char * pText, int nLen);

    /**
     @brief 调度 delete-backward 操作
     * @js NA
     * @lua NA
     */
    void dispatchDeleteBackward();

    /**
     @brief 从 IMEDelegate 获取内容文本, 
     * @js NA
     * @lua NA
     */
    const char * getContentText();

    //////////////////////////////////////////////////////////////////////////
    // dispatch keyboard notification           //调度键盘通知
    //////////////////////////////////////////////////////////////////////////
    /**
     * @js NA
     * @lua NA
     */
    void dispatchKeyboardWillShow(IMEKeyboardNotificationInfo& info);
    /**
     * @js NA
     * @lua NA
     */
    void dispatchKeyboardDidShow(IMEKeyboardNotificationInfo& info);
    /**
     * @js NA
     * @lua NA
     */
    void dispatchKeyboardWillHide(IMEKeyboardNotificationInfo& info);
    /**
     * @js NA
     * @lua NA
     */
    void dispatchKeyboardDidHide(IMEKeyboardNotificationInfo& info);

protected:
    friend class IMEDelegate;

    /**
    @brief 添加代理接受 IME 消息.
    */
    void addDelegate(IMEDelegate * pDelegate);

    /**
    @brief 把 pDelegate 关联到 IME.
    @return 如果旧的 delegate 可以脱离 IME, 新的 delegate
            可以关联到 IME, return true, otherwise false.
    */
    bool attachDelegateWithIME(IMEDelegate * pDelegate);
    bool detachDelegateWithIME(IMEDelegate * pDelegate);

    /**
    @brief 从接收 IME 消息的 delegates 移除制定 delegate
    */
    void removeDelegate(IMEDelegate * pDelegate);

private:
    IMEDispatcher();
    
    class Impl;
    Impl * _impl;
};

// end of input group
/// @}

NS_CC_END

#endif    // __CC_IME_DISPATCHER_H__



你可能感兴趣的:(api,cocos2d,cocos2dx,cocos2d-x)