Procházet zdrojové kódy

Export fonts we use. Display % value.

Steve Thielemann před 2 roky
rodič
revize
48083bdc80
2 změnil soubory, kde provedl 27 přidání a 24 odebrání
  1. 2 1
      Makefile
  2. 25 23
      testdoor/testdoor.go

+ 2 - 1
Makefile

@@ -16,7 +16,8 @@ door32: door32.c
 testdoor/fonts.go: font-out
 	# echo "package main\n\nimport \"red-green/door\"\n\n" > testdoor/fonts.go
 	# ./font-out -f "Amazon Cyan,Medieval,Anarchy Blue,Unchained,Asylum,ArmageonRed,BrainDmgBlu,Boner,Descent,Remorse,Dungeon" TDFONTS.TDF TDFONTS2.TDF TDFONTS9.TDF > testdoor/fonts.go
-	./font-out -f "Amazon Cyan,Medieval,Anarchy Blue,Unchained,Asylum,Armageddon,ArmageonRed,BrainDmgBlu,Boner,Descent,Remorse,Dungeon" TDFONTS.TDF TDFONTS2.TDF TDFONTS9.TDF > testdoor/fonts.go
+	# ./font-out -f "Amazon Cyan,Medieval,Anarchy Blue,Unchained,Asylum,Armageddon,ArmageonRed,BrainDmgBlu,Boner,Descent,Remorse,Dungeon" TDFONTS.TDF TDFONTS2.TDF TDFONTS9.TDF > testdoor/fonts.go
+	./font-out -f "Amazon Cyan,Anarchy Blue,Unchained,Asylum,Armageddon,ArmageonRed,BrainDmgBlu,Boner,Descent,Remorse,Dungeon" TDFONTS.TDF TDFONTS2.TDF TDFONTS9.TDF > testdoor/fonts.go
 	# cat *_font.go >> testdoor/fonts.go    
 	# rm *_font.go
 

+ 25 - 23
testdoor/testdoor.go

@@ -80,34 +80,34 @@ func about_test_door(d *door.Door) {
 
 func MainMenu() door.Menu {
 	// Make the main menu
-	var m door.Menu = door.Menu{Panel: door.Panel{Width: 45,
+	var menu door.Menu = door.Menu{Panel: door.Panel{Width: 45,
 		X:           2,
 		Y:           5,
 		Style:       door.DOUBLE,
 		Title:       "[ Main Menu: ]",
 		TitleOffset: 3,
 		BorderColor: door.ColorText("BRI CYAN ON BLA")}}
-	m.SelectedR = door.MakeMenuRender(door.ColorText("BOLD CYAN"),
+	menu.SelectedR = door.MakeMenuRender(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"),
+	menu.UnselectedR = door.MakeMenuRender(door.ColorText("BOLD YEL ON BLUE"),
 		door.ColorText("BOLD WHI ON BLUE"),
 		door.ColorText("BOLD YEL ON BLUE"),
 		door.ColorText("BOLD CYAN ON BLUE"))
 
-	m.AddSelection("A", "ANSI Display")
+	menu.AddSelection("A", "ANSI Display")
 	// m.AddSelection("C", "Crash")
-	m.AddSelection("D", "Display Information (dropfile, screen)")
-	m.AddSelection("F", "Font Demo")
-	m.AddSelection("I", "Input Prompt Demo")
-	m.AddSelection("M", "Menu Demo")
-	m.AddSelection("P", "Progress Bars Demo")
-	m.AddSelection("S", "Show Panel")
-	m.AddSelection("T", "Test Door About")
-	m.AddSelection("W", "Screen Width")
+	menu.AddSelection("D", "Display Information (dropfile, screen)")
+	menu.AddSelection("F", "Font Demo")
+	menu.AddSelection("I", "Input Prompt Demo")
+	menu.AddSelection("M", "Menu Demo")
+	menu.AddSelection("P", "Progress Bars Demo")
+	menu.AddSelection("S", "Show Panel")
+	menu.AddSelection("T", "Test Door About")
+	menu.AddSelection("W", "Screen Width")
 
-	m.AddSelection("Q", "Quit")
+	menu.AddSelection("Q", "Quit")
 
 	var descriptions []string = []string{
 		// 12345678901234567890123456789012345678901234567890
@@ -124,7 +124,7 @@ func MainMenu() door.Menu {
 		"Exit this door.",
 	}
 
-	var widthLeft int = door.Width - (m.Width + m.X + 2)
+	var widthLeft int = door.Width - (menu.Width + menu.X + 2)
 	var panelWidth int = widthLeft - (2 + 2)
 	var maxLines int = 1
 	var maxLineLength int
@@ -144,25 +144,25 @@ func MainMenu() door.Menu {
 		// Ok! Everything fits into one line, SO use max line length as width of panel.
 		panelWidth = maxLineLength
 	}
-	var p door.Panel = door.Panel{X: m.Width + m.X + 2 + 1, Y: m.Y, Width: panelWidth, Style: door.SINGLE, BorderColor: door.ColorText("WHI ON BLU")}
+	// Position the description panel beside the menu. m.Width + m.X + 2 (1 one to give it a space)
+	var descPanel door.Panel = door.Panel{X: menu.Width + menu.X + 2 + 1, Y: menu.Y, Width: panelWidth, Style: door.SINGLE, BorderColor: door.ColorText("WHI ON BLU")}
 	for x := 0; x < maxLines; x++ {
-		p.Lines = append(p.Lines, door.Line{Text: ""})
+		descPanel.Lines = append(descPanel.Lines, door.Line{Text: ""})
 	}
 
-	// Target: 5, 20
-	m.Activated = func(item int, d *door.Door) {
+	menu.Activated = func(item int, d *door.Door) {
 		var line string = descriptions[item]
 		var lines []string = strings.Split(wordwrap.WrapString(line, uint(panelWidth)), "\n")
-		for idx, _ := range p.Lines {
+		for idx, _ := range descPanel.Lines {
 			if idx >= len(lines) {
-				p.Lines[idx].Text = strings.Repeat(" ", panelWidth)
+				descPanel.Lines[idx].Text = strings.Repeat(" ", panelWidth)
 			} else {
-				p.Lines[idx].Text = fmt.Sprintf("%-*s", panelWidth, lines[idx])
+				descPanel.Lines[idx].Text = fmt.Sprintf("%-*s", panelWidth, lines[idx])
 			}
 		}
-		d.Write(door.SavePos + p.Output() + door.RestorePos)
+		d.Write(door.SavePos + descPanel.Output() + door.RestorePos)
 	}
-	return m
+	return menu
 }
 
 func display_information(d *door.Door) {
@@ -451,6 +451,8 @@ func progress_bars(d *door.Door) {
 	bar_start := door.Goto(3, 15)
 
 	for f := 0; f <= 100; f++ {
+
+		d.Write(door.Goto(3, 10) + door.Reset + fmt.Sprintf("Value: %d", f))
 		percentage = int64(f * 100)
 
 		update_bars()