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

    #ifndef __CCEditBoxIMPLMAC_H__

    #define __CCEditBoxIMPLMAC_H__


    #include "cocos2d.h"


    #if (CC_TARGET_PLATFORM == CC_PLATFORM_MAC)


    #import <Foundation/Foundation.h>

    #import <AppKit/AppKit.h>


    #include "ExtensionMacros.h"

    #include "CCEditBoxImpl.h"


    @interface CustomNSTextField : NSTextField

    {

    }


    @end


    @interface EditBoxImplMac : NSObject <NSTextFieldDelegate>

    {

        CustomNSTextField* textField_;

        void* editBox_;

        BOOL editState_;

    }


    @property(nonatomic, retain) NSTextField* textField;

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

    @property(nonatomic, assign) void* editBox;


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

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

    -(void) setPosition:(NSPoint) pos;

    -(void) setContentSize:(NSSize) size;

    -(void) visit;

    -(void) openKeyboard;

    -(void) closeKeyboard;


    @end


    NS_CC_EXT_BEGIN


    class CCEditBox;


    class CCEditBoxImplMac : public CCEditBoxImpl

    {

    public:

        CCEditBoxImplMac(CCEditBox* pEditText);

        virtual ~CCEditBoxImplMac();

        

        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 doAnimationWhenKeyboardMove(float duration, float distance);

        virtual void openKeyboard();

        virtual void closeKeyboard();

        virtual void onEnter(void);

    private:

        NSPoint    convertDesignCoordToScreenCoord(const CCPoint& designCoord, bool bInRetinaMode);

        void       adjustTextFieldPosition();

        CCSize     m_tContentSize;

        CCPoint    m_obPosition;

        CCPoint    m_obAnchorPoint;

        int        m_nMaxTextLength;

        bool       m_bInRetinaMode;

        EditBoxImplMac*  m_pSysEdit;

    };



    NS_CC_EXT_END


    #endif // #if (CC_TARGET_PLATFORM == CC_PLATFORM_MAC)


    #endif /* __CCEditBoxIMPLMAC_H__ */


  • 相关阅读:
    你都这么拼了,面试官TM怎么还是无动于衷
    js中string转map的方法
    如何使用jmeter做一个功能的性能测试
    如何看待远程办公?
    vue.js指令v-for使用以及下标索引的获取
    v-charts x轴字体斜显示
    Linux-(inotify-tools&rsync)
    Linux-(type,vim)
    zab协议
    数据库的规范一览
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6910307.html
Copyright © 2011-2022 走看看