This structure includes all the information about content changes.

It's meant to be used to implement undo/redo.


  • content - The content added/removed
  • position - The position where it was added/removed
  • length - The length of content in characters (not bytes, actual unicode characters)
  • insert - true if the content was inserted, false if removei
  • merge - true if can be merged with the previous one. Used for example with insertion when something is already selected


struct Efl.Ui.Text_Change_Info {
    content: string;
    position: size;
    length: size;
    insert: bool;
    merge: bool;

C signature

typedef struct _Efl_Ui_Text_Change_Info {
    const char *content;
    size_t position;
    size_t length;
    Eina_Bool insert;
    Eina_Bool merge;
} Efl_Ui_Text_Change_Info;