Browse Source

Added HideCursor, ShowCursor to door.

Steve Thielemann 3 years ago
parent
commit
b781013a45
3 changed files with 10 additions and 4 deletions
  1. 1 0
      door/color_test.go
  2. 2 0
      door/door.go
  3. 7 4
      testdoor/testdoor.go

+ 1 - 0
door/color_test.go

@@ -38,6 +38,7 @@ func TestColorText(t *testing.T) {
 		"BLACK ON YELLOW":             {0, 30, 43},
 		"BLINK RED ON BLUE":           {0, 5, 31, 44},
 		"BRIGHT BLINKY BLUE ON GREEN": {0, 1, 5, 34, 42},
+		"BLI BOLD YEL ON BLUE":        {0, 5, 1, 33, 44},
 	}
 
 	for text, code := range ColorMap {

+ 2 - 0
door/door.go

@@ -32,6 +32,8 @@ import (
 
 const CRNL = "\r\n"                   // BBS Line Ending
 const Clrscr = "\x1b[0m\x1b[2J\x1b[H" // Clear screen, home cursor
+const HideCursor = "\x1b[?25l"        // Hide Cursor
+const ShowCursor = "\x1b[?25h"        // Show Cursor
 var Reset string = Color(0)           // ANSI Color Reset
 var Unicode bool                      // Unicode support detected
 var CP437 bool                        // CP437 support detected

+ 7 - 4
testdoor/testdoor.go

@@ -45,8 +45,8 @@ func MainMenu() door.Menu {
 		BorderColor: door.ColorText("BRI CYAN ON BLA")}}
 	m.SelectedR = door.MakeMenuRender(door.ColorText("BOLD CYAN"),
 		door.ColorText("BOLD BLUE"),
-		door.ColorText("BOLD CYAN"),
-		door.ColorText("BOLD BLUE"))
+		door.ColorText("BOLD WHITE"),
+		door.ColorText("BOLD CYAN"))
 	m.UnselectedR = door.MakeMenuRender(door.ColorText("BOLD YEL ON BLUE"),
 		door.ColorText("BOLD WHI ON BLUE"),
 		door.ColorText("BOLD YEL ON BLUE"),
@@ -83,6 +83,7 @@ func display_information(d *door.Door) {
 	d.Write(nice_format("Node #", strconv.Itoa(d.Config.Node)))
 	d.Write(nice_format("Unicode", strconv.FormatBool(door.Unicode)))
 	d.Write(nice_format("CP437", strconv.FormatBool(door.CP437)))
+	d.Write(nice_format("Full CP437", strconv.FormatBool(door.Full_CP437)))
 	d.Write(nice_format("Screen Size", fmt.Sprintf("%d X %d", door.Width, door.Height)))
 }
 
@@ -321,6 +322,7 @@ func progress_bars(d *door.Door) {
 	d.Write(door.Goto(3, 12) + "Half-Step")
 	d.Write(door.Goto(25, 12) + "% with space and Color Range")
 	d.Write(door.Goto(57, 12) + "Gradient")
+	d.Write(door.HideCursor)
 
 	bar_start := door.Goto(3, 15)
 
@@ -337,7 +339,7 @@ func progress_bars(d *door.Door) {
 
 		time.Sleep(time.Millisecond * 100)
 	}
-
+	d.Write(door.ShowCursor)
 }
 
 func panel_demo(d *door.Door) {
@@ -403,8 +405,9 @@ func main() {
 	var choice int
 
 	for choice >= 0 {
-		d.Write(door.Clrscr)
+		d.Write(door.Clrscr + door.HideCursor)
 		choice = mainmenu.Choose(&d)
+		d.Write(door.ShowCursor)
 
 		if choice < 0 {
 			break