nodesnim/nodescontrol/edittext

It provides primitive text input.

Types

EditTextObj = 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*: string                ## EditText text.
  hint_text*: string
  color*: ColorRef             ## Text color.
  hint_color*: ColorRef        ## Hint color.
  caret_color*: ColorRef
  text_align*: AnchorRef       ## Text align.
  on_edit*: proc (pressed_key: string): void ## This called when user press any key.
  
EditTextPtr = ptr EditTextObj

Procs

proc EditText(name: string; variable: var EditTextObj): EditTextPtr {...}{.raises: [],
    tags: [].}

Creates a new EditText pointer.

Arguments:

  • name is a node name.
  • variable is a EditTextObj variable.

Examples:

var
  editobj: EditTextObj
  edit = EditText("EditText", editobj)
proc EditText(obj: var EditTextObj): EditTextPtr {...}{.inline, raises: [], tags: [].}

Creates a new EditText pointer with default name "EditText".

Arguments:

  • name is a node name.
  • variable is a EditTextObj variable.

Examples:

var
  editobj: EditTextObj
  edit = EditText(editobj)

Methods

method getTextSize(self: EditTextPtr): Vector2Ref {...}{.base, raises: [], tags: [].}
Returns text size.
method getLine(self: EditTextPtr): int {...}{.base, raises: [], tags: [].}
Returns current caret line.
method draw(self: EditTextPtr; w, h: GLfloat) {...}{.raises: [GLerror, Exception],
    tags: [RootEffect].}
This method uses in the window.nim
method duplicate(self: EditTextPtr; obj: var EditTextObj): EditTextPtr {...}{.base,
    raises: [], tags: [].}
Duplicates EditText object and create a new EditText pointer.
method handle(self: EditTextPtr; event: InputEvent; mouse_on: var NodePtr) {...}{.
    raises: [Exception], tags: [RootEffect].}
Handles user input. Thi uses in the window.nim.
method setTextAlign(self: EditTextPtr; align: AnchorRef) {...}{.base, raises: [], tags: [].}
Changes text align.
method setTextAlign(self: EditTextPtr; x1, y1, x2, y2: float) {...}{.base, raises: [], tags: [].}
Changes text align.
method setText(self: EditTextPtr; value: string) {...}{.base, raises: [], tags: [].}
Changes EditText text.