! This is just a demo script for text_functions.h, compile it for examples on ! using text_functions.h. Include "text_functions.h"; Constant def_fg white; Constant def_bg blue; [ main i; .loop; TextColour(def_fg,def_bg); @erase_window 0; new_line; print (TextStyle) bold, "TEXT FUNCTIONS", (TextStyle) roman; new_line; print "A collection of functions for dealing with text in Inform.^"; print "Copyright (c) 1998, Patrick Kellum ^^"; print "Choose your path...^"; print " 1. TextStyle Examples^"; print " 2. TextColour, FGColour, and BGColour Examples^"; print " 3. List styles^"; print " 4. List colours^"; print " Q. Quit^"; print "^> "; @read_char 1 ->i; switch(i) { '1': test_textstyle(); '2': test_textcolour(); '3': list_styles(); '4': list_colours(); 'q', 'Q': quit; default: jump loop; } jump loop; ]; [ test_textstyle i; @erase_window 0; new_line; print " The following line of code...^^"; print (TextStyle) fixed, "print ~This text will be in ~, (TextStyle) reverse, ~reversed~, (TextStyle) roman, ~ text.@@94~;", (TextStyle) roman, "^^"; print " Will produce the following output...^^"; print "This text will be in ", (TextStyle) reverse, "reversed", (TextStyle) roman, " text.^^^"; print " The following line of code...^^"; print (TextStyle) fixed, "print ~This text will be in ~, (TextStyle) bold, ~bold~, (TextStyle) roman, ~ text.@@94~;", (TextStyle) roman, "^^"; print " Will produce the following output...^^"; print "This text will be in ", (TextStyle) bold, "bold", (TextStyle) roman, " text.^^^"; print " The following line of code...^^"; print (TextStyle) fixed, "print ~This text will be in ~, (TextStyle) italic, ~italic~, (TextStyle) roman, ~ text.@@94~;", (TextStyle) roman, "^^"; print " Will produce the following output...^^"; print "This text will be in ", (TextStyle) italic, "italic", (TextStyle) roman, " text.^^^"; print " The following line of code...^^"; print (TextStyle) fixed, "print ~This text will be in ~, (TextStyle) fixed, ~fixed-width~, (TextStyle) roman, ~ text.@@94~;", (TextStyle) roman, "^^"; print " Will produce the following output...^^"; print "This text will be in ", (TextStyle) fixed, "fixed-width", (TextStyle) roman, " text.^^^"; print "[Hit any key to go back to the menu]"; @read_char 1 ->i; ]; [ test_textcolour i; @erase_window 0; new_line; print " The following line of code...^^"; print (TextStyle) fixed, "print ~This text will be in ~, (FGColour) red, ~red~, (FGColour) default_colour, ~ and this will be in ~, (FGColour) magenta, ~magenta~, (FGColour) default_colour, ~.@@94~;", (TextStyle) roman, "^^"; print " Will produce the following output...^^"; print "This text will be in ", (FGColour) red, "red", (FGColour) def_fg, " and this will be in ", (FGColour) magenta, "magenta", (FGColour) def_fg, ".^^^"; print " The following line of code...^^"; print (TextStyle) fixed, "print ~The background of this text will be in ~, (BGColour) red, ~red~, (BGColour) default_colour, ~ and this will be in ~, (BGColour) magenta, ~magenta~, (BGColour) default_colour, ~.@@94~;", (TextStyle) roman, "^^"; print " Will produce the following output...^^"; print "The background of this text will be in ", (BGColour) red, "red", (BGColour) def_bg, " and this will be in ", (BGColour) magenta, "magenta", (BGColour) def_bg, ".^^^"; print " The following line of code...^^"; print (TextStyle) fixed, "print ~This text will be ~, (FGColour) green, ~green~, (FGColour) default_colour, ~ on a ~, (FGColour) black, (BGColour) white, ~white~, (FGColour) default_colour, (BGColour) default_colour, ~ background. ~, (FGColour) green, (BGColour) white, ~See, I told you so :-)~, (FGColour) default_colour, (BGColour) default_colour, ~@@94~;", (TextStyle) roman, "^^"; print " Will produce the following output...^^"; print "This text will be ", (FGColour) green, "green", (FGColour) def_fg, " on a ", (FGColour) black, (BGColour) white, "white", (FGColour) def_fg, (BGColour) def_bg, " background. ", (FGColour) green, (BGColour) white, "See, I told you so :-)", (FGColour) def_fg, (BGColour) def_bg, "^^^"; print " The following line of code...^^"; print (TextStyle) fixed, "TextColour(red,white); print ~This should be red text on a white background~; TextColour(default_colour,default_colour); print ~.@@94~;", (TextStyle) roman, "^^"; print " Will produce the following output...^^"; TextColour(red,white); print "This should be red text on a white background"; TextColour(def_fg,def_bg); print ".^^^"; print "[Hit any key to go back to the menu]"; @read_char 1 ->i; ]; [ list_styles i; @erase_window 0; new_line; print "Style Values Available In The Z-Machine^^"; TextStyle(fixed); print (TextStyle) reverse, "number value description", (TextStyle) roman, (TextStyle) fixed, "^"; print " 0 roman The default style.^"; print " 1 reverse Reversed text.^"; print " 2 bold Bold text.^"; print " 4 italic Italics, underlined, emphasied.^"; print " 8 fixed Fixed-width text.^"; TextStyle(roman); new_line; print (TextStyle) bold, "Examples:", (TextStyle) roman, ".^"; print "This should appear in ", (TextStyle) reverse, "reversed", (TextStyle) roman, " text.^"; print "This should appear in ", (TextStyle) bold, "bold", (TextStyle) roman, " text.^"; print "This should appear in ", (TextStyle) italic, "emphasied ", (TextStyle) roman, " text.^"; print "This should appear in ", (TextStyle) fixed, "fixed_width", (TextStyle) roman, " text.^"; new_line; print "[Hit any key to go back to the menu]"; @read_char 1 ->i; ]; [ list_colours i; @erase_window 0; new_line; print "Colour Values Available In The Z-Machine^^"; TextStyle(fixed); print (TextStyle) reverse, "number value colour description", (TextStyle) roman, (TextStyle) fixed, "^"; print " 0 current_colour The current setting of this colour.^"; print " 1 default_colour The default setting of this colour^"; print " 2 black ", (FGColour) black, (BGColour) black, " ", (FGColour) white, (BGColour) blue, "^"; print " 3 red ", (FGColour) red, (BGColour) red, " ", (FGColour) def_fg, (BGColour) def_bg, "^"; print " 4 green ", (FGColour) green, (BGColour) green, " ", (FGColour) def_fg, (BGColour) def_bg, "^"; print " 5 yellow ", (FGColour) yellow, (BGColour) yellow, " ", (FGColour) def_fg, (BGColour) def_bg, "^"; print " 6 blue ", (FGColour) blue, (BGColour) blue, " ", (FGColour) def_fg, (BGColour) def_bg, "^"; print " 7 magenta ", (FGColour) magenta, (BGColour) magenta, " ", (FGColour) def_fg, (BGColour) def_bg, "^"; print " 8 cyan ", (FGColour) cyan, (BGColour) cyan, " ", (FGColour) def_fg, (BGColour) def_bg, "^"; print " 9 white ", (FGColour) white, (BGColour) white, " ", (FGColour) def_fg, (BGColour) def_bg, "^"; print " 10 light_grey ", (FGColour) light_grey, (BGColour) light_grey, " ", (FGColour) def_fg, (BGColour) def_bg, " Version 6, Amiga and PC interpreters only.^"; print " 11 medium_grey ", (FGColour) medium_grey, (BGColour) medium_grey, " ", (FGColour) def_fg, (BGColour) def_bg, " Version 6, Amiga interpreters only.^"; print " 12 dark_grey ", (FGColour) dark_grey, (BGColour) dark_grey, " ", (FGColour) def_fg, (BGColour) def_bg, " Version 6, Amiga interpreters only.^"; TextStyle(roman); new_line; print "[Hit any key to go back to the menu]"; @read_char 1 ->i; ];