
  epforms.dl
  ----------

This is a library of 4 form-related functions all designed by
Ernest Pazera. He is the man who wrote the book 'Game Programming
for the Cybiko' among others. I've used the FileListForm function
at least 10 times in various projects and thought it was time to
save some flash space and compile them into a single library. Besides
it could serve as an example of a bytecode .dl being that the rest
(cy3d, ComPort and gamelib etc) are native code. These functions do
seem slightly quicker as a library, probably a slightly higher
priority. I'm guessing because there's little documentation. In fact
this is the only bytecode .dl other than the simple SDK example.

The functions are:

FileListForm gets a list of files according to the wildcard filter
(ex. *.txt) that you provide when calling it in a form that you
can simply scroll through and select. The other parameters are easy
to figure out from the prototype:

int FileListForm(
 char* title,    // (IN) Title of the form
 char* filter,   // (IN) Filter for file list
 char* filename, // (OUT) Filename selected
 struct cWinApp* ptr_win_app, // (IN) app pointer(main_module.m_process)
 int x,          // Upper left corner, x pos
 int y,          // Upper left corner, y pos
 int w,          // Width of form
 int h           // Height of form
)

SimpleMenuForm pops up a form with text line options that you can scroll
through and select. Here's the prototype:

int SimpleMenuForm(
 char* title,     // (IN) Title of the menu
 char** ItemList, // (IN) List of items (array of char*, with last item being "")
 int x,           // (IN) X coordinate of upperleft
 int y,           // (IN) Y coordinate of upperleft
 int width,       // (IN) Width of form
 int height,      // (IN) Height of form
 bool round,      // (IN) TRUE=rounded, FALSE=rectangular
 struct cWinApp* ptr_win_app // (IN) App pointer(main_module.m_process)
)

MessageBox is the easiest to use and it is your standard pop up message
with buttons to press. It's prototype is:

int MessageBox(
 char *title,   // (IN) Title of the message box
 char *message, // (IN) Message for this message box
 long style,    // (IN) Style (combination of mbXXXX constants)
 struct cWinApp *ptr_win_app // (IN) App pointer (main_module.m_process)
)

InputBox is similar is MessageBox except that it has an input
area to enter a line of text. It's prototype is:

int InputBox(
 char* title,     // (IN) Title of the input box
 char* message,   // (IN) Message for this input box
 long style,      // (IN) Style (combination of mbXXXX constants)--NOTE: mbEdit does NOT need to be specified
 int edit_size,   // (IN) Max length of the string for input box
 char* edit_text, // (IN/OUT) Input box text
 struct  cWinApp *ptr_win_app // (IN) App pointer (main_module.m_process)
)

Just make sure you have the epforms.h header file in your current folder.

Athlor