76 lines
2.5 KiB
C
76 lines
2.5 KiB
C
/**
|
|
* @file lv_textarea_private.h
|
|
*
|
|
*/
|
|
|
|
#ifndef LV_TEXTAREA_PRIVATE_H
|
|
#define LV_TEXTAREA_PRIVATE_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*********************
|
|
* INCLUDES
|
|
*********************/
|
|
|
|
#include "../../core/lv_obj_private.h"
|
|
#include "lv_textarea.h"
|
|
|
|
#if LV_USE_TEXTAREA != 0
|
|
|
|
/*********************
|
|
* DEFINES
|
|
*********************/
|
|
|
|
/**********************
|
|
* TYPEDEFS
|
|
**********************/
|
|
|
|
/** Data of text area */
|
|
struct _lv_textarea_t {
|
|
lv_obj_t obj;
|
|
lv_obj_t * label; /**< Label of the text area */
|
|
char * placeholder_txt; /**< Place holder label. only visible if text is an empty string */
|
|
char * pwd_tmp; /**< Used to store the original text in password mode */
|
|
char * pwd_bullet; /**< Replacement characters displayed in password mode */
|
|
const char * accepted_chars; /**< Only these characters will be accepted. NULL: accept all */
|
|
uint32_t max_length; /**< The max. number of characters. 0: no limit */
|
|
uint32_t pwd_show_time; /**< Time to show characters in password mode before change them to '*' */
|
|
struct {
|
|
int32_t valid_x; /**< Used when stepping up/down to a shorter line.
|
|
*(Used by the library) */
|
|
uint32_t pos; /**< The current cursor position
|
|
*(0: before 1st letter; 1: before 2nd letter ...) */
|
|
lv_area_t area; /**< Cursor area relative to the Text Area */
|
|
uint32_t txt_byte_pos; /**< Byte index of the letter after (on) the cursor */
|
|
uint8_t show : 1; /**< Cursor is visible now or not (Handled by the library) */
|
|
uint8_t click_pos : 1; /**< 1: Enable positioning the cursor by clicking the text area */
|
|
} cursor;
|
|
#if LV_LABEL_TEXT_SELECTION
|
|
uint32_t sel_start; /**< Temporary values for text selection */
|
|
uint32_t sel_end;
|
|
uint8_t text_sel_in_prog : 1; /**< User is in process of selecting */
|
|
uint8_t text_sel_en : 1; /**< Text can be selected on this text area */
|
|
#endif
|
|
uint8_t pwd_mode : 1; /**< Replace characters with '*' */
|
|
uint8_t one_line : 1; /**< One line mode (ignore line breaks) */
|
|
};
|
|
|
|
|
|
/**********************
|
|
* GLOBAL PROTOTYPES
|
|
**********************/
|
|
|
|
/**********************
|
|
* MACROS
|
|
**********************/
|
|
|
|
#endif /* LV_USE_TEXTAREA != 0 */
|
|
|
|
#ifdef __cplusplus
|
|
} /*extern "C"*/
|
|
#endif
|
|
|
|
#endif /*LV_TEXTAREA_PRIVATE_H*/
|