It provides convenient text input. With it, you can set color and underlie for specific chars.
Types
RichEditTextObj = object of ControlPtr blit_caret*: bool blit_speed*: float blit_time*: float caret_position*: int font*: pointer ## Glut font data. spacing*: float ## Font spacing. size*: float ## Font size. text*: ColorTextRef hint_text*: ColorTextRef caret_color*: ColorRef text_align*: AnchorRef ## Text align. on_edit*: proc (pressed_key: string): void ## This called when user press any key.
RichEditTextPtr = ptr RichEditTextObj
Procs
proc RichEditText(name: string; variable: var RichEditTextObj): RichEditTextPtr {...}{. raises: [], tags: [].}
-
Creates a new RichEditText pointer.
Arguments:
- name is a node name.
- variable is a RichEditTextObj variable.
Examples:
var textobj: RichEditTextObj text = RichEditText("RichEditText", textobj)
proc RichEditText(obj: var RichEditTextObj): RichEditTextPtr {...}{.inline, raises: [], tags: [].}
-
Creates a new RichEditText pointer with default node name "RichEditText".
Arguments:
- variable is a RichEditTextObj variable.
Examples:
var textobj: RichEditTextObj text = RichEditText(textobj)
Methods
method getTextSize(self: RichEditTextPtr): Vector2Ref {...}{.base, raises: [], tags: [].}
- Returns text size.
method getLine(self: RichEditTextPtr): int {...}{.base, raises: [], tags: [].}
- Returns current caret line.
method draw(self: RichEditTextPtr; w, h: GLfloat) {...}{.raises: [GLerror, Exception], tags: [RootEffect].}
- This uses in the window.nim.
method duplicate(self: RichEditTextPtr; obj: var RichEditTextObj): RichEditTextPtr {...}{. base, raises: [], tags: [].}
- Duplicates RichEditText and create a new RichEditText pointer.
method handle(self: RichEditTextPtr; event: InputEvent; mouse_on: var NodePtr) {...}{. raises: [Exception], tags: [RootEffect].}
- Handles user input. This uses in the window.nim.
method setTextAlign(self: RichEditTextPtr; align: AnchorRef) {...}{.base, raises: [], tags: [].}
- Changes text align.
method setTextAlign(self: RichEditTextPtr; x1, y1, x2, y2: float) {...}{.base, raises: [], tags: [].}
- Changes text align.
method setText(self: RichEditTextPtr; value: ColorTextRef) {...}{.base, raises: [], tags: [].}
- Changes RichEditText text.