• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cynchanpin

  • 博客园
  • 联系
  • 订阅
  • 管理

View Post

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__ */


posted on 2017-05-26 20:20  cynchanpin  阅读(301)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3