=== appgui API === The `appgui` API provides simple functions for drawing top bars and bottom bars in LeonOS applications, making it easy to create consistent user interfaces. == Introduction == The appgui API is designed to simplify the process of adding professional-looking UI elements to your applications. It provides two main functions for drawing centered text bars at the top or bottom of the screen. == Available Functions == - **appgui.topbar(text, [fgColor], [bgColor])**: Draws a top bar with centered text - **appgui.downbar(text, [fgColor], [bgColor])**: Draws a bottom bar with centered text == Function Parameters == Both functions accept the following parameters: - **text**: (string) The text to display in the bar - **fgColor**: (number, optional) The foreground color (default: white) - **bgColor**: (number, optional) The background color (default: blue) == Usage Examples == === Basic Usage === First, you need to import the appgui module: >>color yellow local appgui = require("appgui") >>color white Then you can use the functions to draw bars: 1. Draw a top bar with default colors (white text on blue background): >>color yellow appgui.topbar("My Application Title") >>color white 2. Draw a bottom bar with default colors: >>color yellow appgui.downbar("Status: Ready") >>color white === Custom Colors === You can specify custom colors using the `colors` module: >>color yellow local colors = require("colors") -- Red text on yellow background appgui.topbar("Warning Message", colors.red, colors.yellow) -- Green text on black background appgui.downbar("Success", colors.green, colors.black) >>color white === Complete Example === Here's a complete example showing how to use both top and bottom bars in an application: >>color yellow local appgui = require("appgui") local term = require("term") local colors = require("colors") -- Clear the screen term.clear() -- Draw top and bottom bars appgui.topbar("My Application") appgui.downbar("Press Q to quit") -- Add some content print() print("Welcome to my application!") print() print("This is a demonstration of the appgui API.") print() -- Wait for 'Q' key to exit while true do local event, key = os.pullEvent("key") if key == 16 then -- Q key break end end >>color white == Notes == - The text will be automatically centered in the bar - The functions will preserve the original terminal colors by saving and restoring them - After drawing a top bar, the cursor will be positioned below the bar - After drawing a bottom bar, the cursor will be positioned at the top of the screen - You can use any colors available in the `colors` module - If the text is longer than the terminal width, it will be truncated == See Also == - **colors**: For available color values - **term**: For other terminal manipulation functions - **appgui_demo**: A demonstration program showing the appgui API in action