48 #ifndef __CU_TEXT_FIELD_H__
49 #define __CU_TEXT_FIELD_H__
51 #include <cugl/2d/CULabel.h>
52 #include <cugl/input/CUTextInput.h>
53 #include <cugl/input/CUKeyboard.h>
59 #pragma mark TextFieldListener
79 typedef std::function<void (const std::string& name, const std::string& current)>
TextFieldListener;
82 #pragma mark TextField
144 #pragma mark Constructors
172 virtual void dispose()
override;
176 #pragma mark Static Constructors
188 static std::shared_ptr<TextField>
alloc(
const Size& size,
const std::shared_ptr<Font>& font) {
189 std::shared_ptr<TextField> result = std::make_shared<TextField>();
190 return (result->Label::init(size,font) ? result :
nullptr);
210 static std::shared_ptr<TextField>
alloc(
const std::string& text,
const std::shared_ptr<Font>& font) {
211 std::shared_ptr<TextField> result = std::make_shared<TextField>();
212 return (result->initWithText(text,font) ? result :
nullptr);
232 static std::shared_ptr<TextField>
alloc(
const char* text,
const std::shared_ptr<Font>& font) {
233 std::shared_ptr<TextField> result = std::make_shared<TextField>();
234 return (result->initWithText(text,font) ? result :
nullptr);
268 const std::shared_ptr<JsonValue> data) {
269 std::shared_ptr<TextField> node = std::make_shared<TextField>();
270 if (!node->initWithData(loader,data)) { node =
nullptr; }
271 return std::dynamic_pointer_cast<
Node>(node);
276 #pragma mark Listener
393 virtual void setText(
const std::string& text,
bool resize=
false)
override;
482 #pragma mark Rendering
502 virtual void draw(
const std::shared_ptr<SpriteBatch>& batch,
const Mat4& transform,
Color4 tint)
override;
506 #pragma mark Internal Helpers
517 bool validate(
const std::string& value);
TextFieldListener _typeListener
Definition: CUTextField.h:128
TextFieldListener _exitListener
Definition: CUTextField.h:130
std::function< void(const std::string &name, const std::string ¤t)> TextFieldListener
Definition: CUTextField.h:79
const TextFieldListener getExitListener() const
Definition: CUTextField.h:345
bool _altDown
Definition: CUTextField.h:133
const TextFieldListener getTypeListener() const
Definition: CUTextField.h:298
bool deactivate(bool dispose=false)
Uint32 _backCount
Definition: CUTextField.h:139
float _textLength
Definition: CUTextField.h:115
void updateKey(const KeyEvent &Event, bool focus, bool down)
void updateInput(const TextInputEvent &event, bool focus)
Uint32 _inputKey
Definition: CUTextField.h:125
bool _active
Definition: CUTextField.h:119
bool _focused
Definition: CUTextField.h:121
bool hasTypeListener() const
Definition: CUTextField.h:286
void setExitListener(TextFieldListener listener)
Definition: CUTextField.h:357
static std::shared_ptr< TextField > alloc(const std::string &text, const std::shared_ptr< Font > &font)
Definition: CUTextField.h:210
bool hasFocus() const
Definition: CUTextField.h:477
bool validate(const std::string &value)
bool _backDown
Definition: CUTextField.h:137
bool activate(Uint32 key)
void updatePress(Vec2 pos, bool focus)
bool hasExitListener() const
Definition: CUTextField.h:333
Definition: CUTextInput.h:51
bool removeTypeListener()
void setTypeListener(TextFieldListener listener)
Definition: CUTextField.h:310
bool deleteMany(Uint32 counter)
bool isActive() const
Definition: CUTextField.h:442
int _cursorBlink
Definition: CUTextField.h:111
Definition: CUTextField.h:104
Definition: CUKeyboard.h:289
bool _metaDown
Definition: CUTextField.h:135
Definition: CUSceneLoader.h:77
Rect _cursor
Definition: CUTextField.h:109
virtual void dispose() override
virtual void draw(const std::shared_ptr< SpriteBatch > &batch, const Mat4 &transform, Color4 tint) override
static std::shared_ptr< Node > allocWithData(const SceneLoader *loader, const std::shared_ptr< JsonValue > data)
Definition: CUTextField.h:267
Definition: CUColor4.h:1084
static std::shared_ptr< TextField > alloc(const char *text, const std::shared_ptr< Font > &font)
Definition: CUTextField.h:232
bool _mouse
Definition: CUTextField.h:123
Definition: CUAction.h:51
int skipWord(bool forward)
~TextField()
Definition: CUTextField.h:161
int _cursorIndex
Definition: CUTextField.h:113
bool removeExitListener()
virtual void setText(const std::string &text, bool resize=false) override
static std::shared_ptr< TextField > alloc(const Size &size, const std::shared_ptr< Font > &font)
Definition: CUTextField.h:188