zoukankan      html  css  js  c++  java
  • CCEditBox/CCEditBoxImplIOS

    #ifndef __CCEditBoxIMPLIOS_H__

    #define __CCEditBoxIMPLIOS_H__


    #include "cocos2d.h"


    #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)


    #include "ExtensionMacros.h"

    #include "CCEditBoxImpl.h"


    #import <Foundation/Foundation.h>

    #import <UIKit/UIKit.h>


    @interface CustomUITextField : UITextField

    {

    }


    @end



    @interface EditBoxImplIOS : NSObject <UITextFieldDelegate>

    {

        CustomUITextField* textField_;

        void* editBox_;

        BOOL editState_;

    }


    @property(nonatomic, retain) UITextField* textField;

    @property(nonatomic, readonly, getter = isEditState) BOOL editState;

    @property(nonatomic, assign) void* editBox;


    -(id) initWithFrame: (CGRect) frameRect editBox: (void*) editBox;

    -(void) doAnimationWhenKeyboardMoveWithDuration:(float)duration distance:(float)distance;

    -(void) setPosition:(CGPoint) pos;

    -(void) setContentSize:(CGSize) size;

    -(void) visit;

    -(void) openKeyboard;

    -(void) closeKeyboard;


    @end


    NS_CC_EXT_BEGIN


    class CCEditBox;


    class CCEditBoxImplIOS : public CCEditBoxImpl

    {

    public:

        CCEditBoxImplIOS(CCEditBox* pEditText);

        virtual ~CCEditBoxImplIOS();

        

        virtual bool initWithSize(const CCSize& size);

        virtual void setFont(const char* pFontName, int fontSize);

        virtual void setFontColor(const ccColor3B& color);

        virtual void setPlaceholderFont(const char* pFontName, int fontSize);

        virtual void setPlaceholderFontColor(const ccColor3B& color);

        virtual void setInputMode(EditBoxInputMode inputMode);

        virtual void setInputFlag(EditBoxInputFlag inputFlag);

        virtual void setMaxLength(int maxLength);

        virtual int  getMaxLength();

        virtual void setReturnType(KeyboardReturnType returnType);

        virtual bool isEditing();

        

        virtual void setText(const char* pText);

        virtual const char* getText(void);

        virtual void setPlaceHolder(const char* pText);

        virtual void setPosition(const CCPoint& pos);

        virtual void setVisible(bool visible);

        virtual void setContentSize(const CCSize& size);

    virtual void setAnchorPoint(const CCPoint& anchorPoint);

        virtual void visit(void);

    virtual void onEnter(void);

        virtual void doAnimationWhenKeyboardMove(float duration, float distance);

        virtual void openKeyboard();

        virtual void closeKeyboard();

    virtual void onEndEditing();

        

    private:

    voidinitInactiveLabels(const CCSize& size);

    voidsetInactiveText(const char* pText);

    voidadjustTextFieldPosition();

        void            placeInactiveLabels();

        CCLabelTTF*     m_pLabel;

        CCLabelTTF*     m_pLabelPlaceHolder;

        CCSize          m_tContentSize;

        CCPoint         m_obPosition;

        CCPoint         m_obAnchorPoint;

        EditBoxImplIOS* m_systemControl;

        int             m_nMaxTextLength;

        bool            m_bInRetinaMode;

    };



    NS_CC_EXT_END



    #endif /* #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) */


    #endif /* __CCEditBoxIMPLIOS_H__ */


  • 相关阅读:
    JavaScript : 零基础打造自己的类库
    Basler和Matrox的配置及调试
    StanFord ML 笔记 第十部分
    StanFord ML 笔记 第九部分
    凸优化&非凸优化问题
    一些误差的概念
    StanFord ML 笔记 第八部分
    StanFord ML 笔记 第六部分&&第七部分
    StanFord ML 笔记 第五部分
    大数定律和中心极限定律
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/3978840.html
Copyright © 2011-2022 走看看