PageRenderTime 26ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/share/examples/bootforth/screen.4th

https://repo.or.cz/dfdiff.git
Forth | 37 lines | 28 code | 9 blank | 0 comment | 0 complexity | c557edb5f2591b58dd60e59df00dd7c9 MD5 | raw file
Possible License(s): AGPL-1.0, GPL-3.0, CC-BY-SA-3.0, BSD-3-Clause, ISC, GPL-2.0
  1. \ Screen manipulation related words.
  2. \ $FreeBSD: src/share/examples/bootforth/screen.4th,v 1.2 1999/08/28 00:19:10 peter Exp $
  3. \ $DragonFly: src/share/examples/bootforth/screen.4th,v 1.2 2003/06/17 04:36:57 dillon Exp $
  4. marker task-screen.4th
  5. : escc ( -- ) \ emit Esc-[
  6. 91 27 emit emit
  7. ;
  8. : ho ( -- ) \ Home cursor
  9. escc 72 emit \ Esc-[H
  10. ;
  11. : cld ( -- ) \ Clear from current position to end of display
  12. escc 74 emit \ Esc-[J
  13. ;
  14. : clear ( -- ) \ clear screen
  15. ho cld
  16. ;
  17. : at-xy ( x y -- ) \ move cursor to x rows, y cols (1-based coords)
  18. escc .# 59 emit .# 72 emit \ Esc-[%d;%dH
  19. ;
  20. : fg ( x -- ) \ Set foreground color
  21. escc 3 .# .# 109 emit \ Esc-[3%dm
  22. ;
  23. : bg ( x -- ) \ Set background color
  24. escc 4 .# .# 109 emit \ Esc-[4%dm
  25. ;
  26. : me ( -- ) \ Mode end (clear attributes)
  27. escc 109 emit
  28. ;