color_text

Types

ColorCharRef = ref object
  c*: char
  color*: ColorRef
  underline*: bool
ColorTextRef = ref object
  chars*: seq[ColorCharRef]

Procs

proc setColor(self: ColorTextRef; fromc, toc: int; value: ColorRef) {...}{.raises: [], tags: [].}

Changes text color.

Arguments:

  • fromc - from char position.
  • toc - to char position.
  • value - new color.

Examples:

import
  color

var
  text = clrtext"hello world"
  clr = Color(1, 0.6, 1)
text.setColor(5, text.chars.len() - 1, clr)
proc setColor(self: ColorTextRef; value: ColorRef) {...}{.raises: [], tags: [].}

Changes text color.

Arguments:

  • value - new color.

Examples:

import
  color

var
  text = clrtext"hello world"
  clr = Color(1, 0.6, 0.8)
text.setColor(clr)
proc setColor(self: ColorTextRef; index: int; value: ColorRef) {...}{.raises: [], tags: [].}

Changes text color.

Arguments:

  • index - char position.
  • value - new color.

Examples:

import
  color

var
  text = clrtext"hello world"
  clr = Color(1, 0.6, 1)
text.setColor(0, clr)
proc setUnderline(self: ColorTextRef; fromc, toc: int; value: bool) {...}{.raises: [], tags: [].}

Changes text underline.

Arguments:

  • fromc - from char position.
  • toc - to char position.

Examples:

var text = clrtext"hello world"
text.setUnderline(5, text.chars.len() - 1, true)
proc setUnderline(self: ColorTextRef; value: bool) {...}{.raises: [], tags: [].}
Changes text underline.

Examples:

var text = clrtext"hello world"
text.setUnderline(true)
proc setUnderline(self: ColorTextRef; index: int; value: bool) {...}{.raises: [], tags: [].}

Changes text underline.

Arguments:

  • index - char position.

Examples:

var text = clrtext"hello world"
text.setUnderline(0, true)
proc len(x: ColorTextRef): int {...}{.raises: [], tags: [].}
proc splitLines(x: ColorTextRef): seq[ColorTextRef] {...}{.raises: [], tags: [].}
Creates a new seq of ColorTextRef.
proc `$`(text: ColorTextRef): string {...}{.raises: [], tags: [].}
proc `$`(c: ColorCharRef): string {...}{.raises: [], tags: [].}
proc `==`(x, y: ColorTextRef): bool {...}{.raises: [], tags: [].}
proc `&`(x, y: ColorCharRef): ColorTextRef {...}{.raises: [], tags: [].}

Examples:

var
  a = clrchar 'a'
  b = clrchar 'b'
assert a & b == clrtext"ab"
proc `&`(x: ColorTextRef; y: ColorCharRef): ColorTextRef {...}{.raises: [], tags: [].}
proc `&`(x: ColorCharRef; y: ColorTextRef): ColorTextRef {...}{.raises: [], tags: [].}
proc `&`(x, y: ColorTextRef): ColorTextRef {...}{.raises: [], tags: [].}
proc contains(x: ColorTextRef; y: ColorCharRef): bool {...}{.raises: [], tags: [].}

Examples:

var
  text = clrtext"hello"
  c = clrchar 'o'
assert c in text
proc `[]`[U, V](self: ColorTextRef; i: HSlice[U, V]): ColorTextRef
proc `[]`(self: ColorTextRef; i: BackwardsIndex): ColorCharRef {...}{.raises: [], tags: [].}
proc `[]`(self: ColorTextRef; i: int): ColorCharRef {...}{.raises: [], tags: [].}
proc add(self: var ColorTextRef; other: ColorTextRef) {...}{.raises: [], tags: [].}
proc add(self: var ColorTextRef; other: ColorCharRef) {...}{.raises: [], tags: [].}

Funcs

func clrtext(text: string; color: ColorRef = Color(1.0'f32, 1.0'f32, 1.0'f32);
            underline: bool = false): ColorTextRef {...}{.raises: [], tags: [].}

Creates a new ColorText ref object.

Arguments:

  • color is a text color.
  • underline is a text underline.

Examples:

import
  color

var
  text = clrtext"hello"
  text1 = clrtext("hello", Color(1, 0.6, 1))
func clrchar(c: char; color: ColorRef = Color(1.0'f32, 1.0'f32, 1.0'f32);
            underline: bool = false): ColorCharRef {...}{.raises: [], tags: [].}

Creates a new ColorChar ref object.

Arguments:

  • color is a char color.
  • underline is a char underline.

Examples:

import
  color

var
  c = clrchar 's'
  c1 = clrchar('s', Color(1.0'f32, 1.0'f32, 1.0'f32), underline = true)

Converters

converter toChar(x: ColorCharRef): char {...}{.raises: [], tags: [].}