cocos2d-X 节点(CCTextFieldTTF.h)API
2013-11-08 10:37
411 查看
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
cocos2d-X 节点(CCTextFieldTTF.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记///cocos2d-x-3.0alpha0/cocos2dx/text_input_node #ifndef __CC_TEXT_FIELD_H__ #define __CC_TEXT_FIELD_H__ #include "label_nodes/CCLabelTTF.h" #include "text_input_node/CCIMEDelegate.h" NS_CC_BEGIN class TextFieldTTF; /** * @addtogroup input * @{ */ class CC_DLL TextFieldDelegate { public: /** @brief 如果 sender(发送者)不希望 attach(附加到) IME, return true; */ virtual bool onTextFieldAttachWithIME(TextFieldTTF * sender) { CC_UNUSED_PARAM(sender); return false; } /** @brief 如果 sender(发送者)不希望和 detach(分离) IME, return true; */ virtual bool onTextFieldDetachWithIME(TextFieldTTF * sender) { CC_UNUSED_PARAM(sender); return false; } /** @brief 如果 sender(发送者)不希望插入 text , return true; */ virtual bool onTextFieldInsertText(TextFieldTTF * sender, const char * text, int nLen) { CC_UNUSED_PARAM(sender); CC_UNUSED_PARAM(text); CC_UNUSED_PARAM(nLen); return false; } /** @brief 如果 sender(发送者)不希望删除 delText , return true; */ virtual bool onTextFieldDeleteBackward(TextFieldTTF * sender, const char * delText, int nLen) { CC_UNUSED_PARAM(sender); CC_UNUSED_PARAM(delText); CC_UNUSED_PARAM(nLen); return false; } /** @brief 如果 sender(发送者)不希望被绘制 , return true. */ virtual bool onDraw(TextFieldTTF * sender) { CC_UNUSED_PARAM(sender); return false; } }; /** @brief 一个简单的使用 TTF 字体的输入 field(文本). */ class CC_DLL TextFieldTTF : public LabelTTF, public IMEDelegate { public: /** * @js ctor */ TextFieldTTF(); /** * @js NA * @lua NA */ virtual ~TextFieldTTF(); //char * description(); //描述 /** 使用 fontname, alignment, dimension 、 font size 创建一个 TextFieldTTF*/ static TextFieldTTF * textFieldWithPlaceHolder(const char *placeholder, const Size& dimensions, TextHAlignment alignment, const char *fontName, float fontSize); /** 使用 fontname、 font size 创建一个 TextFieldTTF */ static TextFieldTTF * textFieldWithPlaceHolder(const char *placeholder, const char *fontName, float fontSize); /** 使用 fontname, alignment, dimension 、 font size 初始化一个 TextFieldTTF */ bool initWithPlaceHolder(const char *placeholder, const Size& dimensions, TextHAlignment alignment, const char *fontName, float fontSize); /** 使用 fontname、 font size 初始化一个 TextFieldTTF */ bool initWithPlaceHolder(const char *placeholder, const char *fontName, float fontSize); /** @brief 打开键盘和接收输入文本. */ virtual bool attachWithIME(); /** @brief 最终文本输入和关闭键盘. */ virtual bool detachWithIME(); ////////////////////////////////////////////////////////////////////////// // properties ////////////////////////////////////////////////////////////////////////// /** * @js NA * @lua NA */ inline TextFieldDelegate* getDelegate() const { return _delegate; }; /** * @js NA * @lua NA */ inline void setDelegate(TextFieldDelegate* delegate) { _delegate = delegate; }; inline int getCharCount() const { return _charCount; }; virtual const Color3B& getColorSpaceHolder(); virtual void setColorSpaceHolder(const Color3B& color); //输入文本属性 public: virtual void setString(const char *text); virtual const char* getString(void) const; protected: TextFieldDelegate * _delegate; int _charCount; std::string * _inputText; //文本属性的占位符 //如果文本字段为 nil 占位符将显示. public: virtual void setPlaceHolder(const char * text); virtual const char * getPlaceHolder(void); protected: std::string * _placeHolder; Color3B _colorSpaceHolder; public: virtual void setSecureTextEntry(bool value); virtual bool isSecureTextEntry(); protected: bool _secureTextEntry; protected: virtual void draw(); ////////////////////////////////////////////////////////////////////////// // IMEDelegate interface ////////////////////////////////////////////////////////////////////////// virtual bool canAttachWithIME(); virtual bool canDetachWithIME(); virtual void insertText(const char * text, int len); virtual void deleteBackward(); virtual const char * getContentText(); private: class LengthStack; LengthStack * _lens; }; // end of input group /// @} NS_CC_END #endif // __CC_TEXT_FIELD_H__
相关文章推荐
- Cocos2d-x中使用CCTextFieldTTF的简单应用显示文本和弹出软键盘
- Cocos2d-x学习笔记(9)(CCTextFieldTTF输入框的使用)
- Cocos2d-X中使用CCTextFieldTTF的简单应用显示文本和弹出软键盘
- cocos2d-X 节点(CCLabelTTF.h)API
- Cocos2d-x学习笔记(9)(CCTextFieldTTF使用输入框)
- cocos2d-X 节点(CCActionNode.h)API
- cocos2d-X 节点(UILabel.h)API
- cocos2d-x节点(b2RopeJoint.h)API
- cocos2d-x节点(b2Math.h)API
- cocos2d-x节点(CCNotificationCenter.h)API
- cocos2d-x节点(CCPhysicsContact.h)API
- cocos2d-x节点(ccConfig.h)API
- cocos2d-x节点(CCAutoreleasePool.h)API
- cocos2d-x节点(CCActionTiledGrid.h)API
- cocos2d-x学习笔记3:CCTextFieldTTF的使用和再封装
- cocos2d-X 节点(SpriteBatchNode.h.)API
- cocos2d-X 节点(CCActionObject.h)API
- cocos2d-X 节点(UILabelAtlas.h)API
- cocos2d-x节点(b2PrismaticJoint.h)API
- Cocos2d-js 学习:cc.LabelTTF 简单API记录