September 24, 1994 The GXL Graphical Interface Library version 2.1 Copyright (C) 1992-1995 Kevin Hise, Hise Development. All rights reserved. Introduction: ------------- The GXL graphical interface library provides the C++ programmer with software tools to create a powerful and flexible graphics interface. The library is built using an event driven architecture which allows program actions to be queued and processed as events. This approach allows an application to cooperatively share processor time between user-input polling, printing, and for example, updating a clock on the display. It also has the added advantage of allowing program functions to be initiated or handled generically. This means that your application doesn't need to concern itself with whether a mouse button was clicked or a touch-screen was pressed, it just responds to the event sent by an object selected on the screen. GXL is intended to serve as the foundation for a graphical application by providing the neccessary services to manage events and displayed objects. In addition to ready-to-use objects, simple base classes are provided from which customized objects can be created. The Demonstration Program: -------------------------- This shows many of the ready-to-use objects you can build an application with: - 3D 'chiseled-look' buttons and icons. - Windows that can be re-positioned (click-and-drag on title bar). - A desktop or canvas customizer. - Text with different fonts and justifcation. - Blinking text. - Analog and digital clocks. - Scroll bars and List boxes. - Text input fields. Some sample applications are also shown: - A screen saver. - A simple Point-Of-Sale interface. Running the Demo: ----------------- System Requirements: - An IBM or compatible computer. - MS-DOS 3.x or later. - At least 384kb of free RAM. - A VGA display card and monitor. - A Microsoft or compatible mouse (driver). Note: You may also run the demo as a full-screen DOS application in OS/2 2.x or MS-Windows 3.x. If you've downloaded the demo from a BBS, you must un-zip the executable, driver and font files (since your reading this, we can assume you've already done so!) If the demo program is located on a floppy diskette, it can be started directly from that disk, or copied to your hard disk. To run the the demo from the floppy disk: From a DOS prompt type in: 'A:DEMO' and press enter (note: use 'B:DEMO' if you inserted the disk in drive B). To run the demo from your hard disk: Copy the contents of the demo diskette into a temporary directory on your hard disk. Change to that directory and type in 'DEMO' and press enter. When the demo loads it should display the MetaWINDOW graphics hardware selection screen. Just press ENTER to use the selected display mode. If you're familiar with your graphics card chip-set, you can select a higher (or lower) resolution mode. It is not recommended that you run the demo on a lower resolution than VGA mode 12h (640x480x16 colors.) When the demo main screen appears a window with a few menu buttons should be visible. The mouse pointer should also be present on the screen. The demo requires a mouse. A tour of the demo: ------------------- From the main window, these options are available: Exit: End the demo. Selecting this button closes all windows and returns you to a DOS prompt. Windows: A simple dialog window containing a border, title bar, dialog text and a close button. Buttons: Sample button and icon types including vertical and horizontal scroll bar attatched to the window's edge. Moving the scroll bar updates the X and Y position text. Canvas: Allows you to change the desktop color and pattern. This window modifies the settings in the canvas object attatched to the the system and then tells the canvas to re-draw itself. A canvas can be of any type (solid color, pattern or a programmer defined type). Text: Sample text fonts and justification, including a blinking text object. The contents of a text object can be changed at any time without concern for the display (the text object knows how to display itself). Blinking text is created by simply setting an attribute flag. When blinking text is partialy obscured by an overlapped window, it continues to blink showing only the visible portion. All objects which contain text can use a default or programmer defined font. (Font support is provided by the DISPLAY_DEVVICE implementation. The BGI using .CHR files and MetaWINDOW uses bit-mapped .FNT files.) Clocks: Using GL2's event driven scheme, it becomes easy to create objects that perform functions on a timely basis. A graphical clock is one object that demonstrates this. The clock object has many options which are available to the programmer: - Analog or Digital format. - Portrait or Lanscape orientation (date on left or bottom). - Display seconds (or second hand.) - 12 or 24 hour formats. - Show date and day. - Color scheme and font. List: vertical list box with scroll bar. Input: window with some data entry fields and blinking cursor. Pick File: file selection dialog. POS: simple point-of-sale order entry screen. Some hints for using the interface during the demo: --------------------------------------------------- - In addition to selecting the Exit button, you may also press the Esc key to end the demo and return to DOS. - Objects are selected by positioning the mouse pointer over them and clicking the left mouse button. - You can reposition a window by clicking and dragging it's title bar (similar to Windows and OS/2) with the left mouse button. - If you've selected a sample window, you can create another one by selecting the same option from the main window. This becomes interesting after selecting the clock option several times. - Windows cannot be re-sized or positioned off the screen (not very useful in a touch-screen interface application). - The screen-saver feature will 'take over' after about 60 seconds of user inactivity. It displays a star field similiar to MS-Windows. Moving the mouse or pressing a key will restore the display. GXL Library Features: --------------------- - GXL is written entirely in C++, making it portable to any C++ compiler that supports templates. - Display hardware and software (3rd party graphics library) independence via a DISPLAY_DEVICE class. This allows you to employ your own graphics routines, use a 3rd party library, or the graphics library included with your compiler. - Objects overlapped by a window can write to the screen without disturbing the overlapping window (ie: blinking text or clock hands). - Objects are drawn directly on the screen - no 'virtual screen' to slow painting. - Complete programmer control over size, font, color scheme and position of objects. - Buttons, scroll bars, etc. can use a common 'system size' which determines their width and height. This value can be set at program start-up. - Supports unlimited number of windows active at any time (limited only by available memory.) - Allows windows to be moved and position on the "stack" changed. - Updates the display when a window is added, moved, or removed by drawing only the exposed regions. Included Library Objects: ------------------------- Event Devices: - BIOS keyboard input device. - Microsoft mouse input device. - Elographics touch screen input device. - Programmable event timer. - Screen saver timer. Window Objects: - Windows (supporting border, title bar, background, etc.) - Groups (an object collection similiar to a window). - Border (window borders). - Canvas (window and desktop backgrounds). - 3-D buttons with text and icons. - Icons with text. - Scroll bars (vertical or horizontal). - Vertical list box. - Text (blinking, selectable fonts) - Input fields with blinking cursor. Bonus Window Objects: - Analog and Digital Clocks with Date and Day display. - Starfield screen saver window. Additional support: ------------------- - Object storage and retrieval. Compiler: --------- GXL was developed with the Borland 3.1 compiler and includes DISPLAY_DEVICE support for the BGI and MetaWINDOW. Out-of-the-box support for Watcom and Microsoft's C++ compilers will be available in the future. If you need to port the library, your compiler should support templates. Currently, GXL is shipped with a library compiled with Borland's 4.02 compiler. Support is also provided for VROOM, or overlays. Support for the DOS PowerPack (both DMPI16 and DPMI32) will be available soon. Service and Support: -------------------- Technical support is provided 9 to 5 (Pacific time) Monday thru Friday via our toll number. There is no fee for support and you become eligible when your order is recieved. Development assistance and programming services are also available. Library QA: ----------- We use (and highly recommend) Bounds Checker to locate and squash memory bugs before shipping. About GXL: ---------- Now in it's second version, GXL is a complete re-write of the original "GL" which was designed as an interface library for Point-Of-Sale applications. GL was used to develop several kiosk products. Now, GXL is currently being used in public information kiosk applications by Hise Development. NOTE: Be sure to ask about our ready to use Video Brochure product called Vid-Master 2000 !! Kiosk and Demo disk Ready!! Copyright and Trademark Acknowledgement: ---------------------------------------- MetaWINDOW is a product of Metagraphics Software Corporation. BGI (Borland-Graphics-Interface) is a product of Borland International. OS/2 is a product of International Business Machines. MS Windows is product of Microsoft Corporation. Bounds Checker is a product of Nu-Mega Technologies, Inc. Inside Advantage is a product of Parlet Data Systems. GL, GXL and Vid-Master 2000 are products of Kevin Hise and Hise Development. +=====================================================================+ | | | Ordering Information: | | | +---------------------------------------------------------------------+ | GXL Graphical Interface Library with source w/examples | | | and 140+ Page Manual! | | | | | | Send me ______ copies at $79.95 (US Funds Only) each | | | | | |---------------------------------------------------------------------| | GXL Graphical Interface Library DPMI 16 and DPMI 32 | | | (Protected Mode) with source w/examples | | | and 140+ Page Manual! | | | | | | | | Send me ______ copies at $124.95 (US Funds Only) each| | | | | |---------------------------------------------------------------------| | [ ] UPS ground 5.00 | | | |----------------------------------| | | | [ ] UPS Blue 2nd-Day-Air 10.00 | | | |----------------------------------| | | | [ ] UPS Red Next-Day-Air 15.00 | | | |---------------------------------------------------------------------| | Check shipping method above, place amount here | | |---------------------------------------------------------------------| | CA residents add 7.25 % sales tax | | |---------------------------------------------------------------------| | [ ] COD charges $4.75 | | |=====================================================================| | | | | Total: | | | | | +=====================================================================+ | | | | | Phone, mail or fax your order to: | | | | GeNT Computer Services | | Attn: Brian A. George | | 114-C S. Gemstone Ave. | | Ridgecrest, CA 93555 | | | | Voice: 619-384-2847 Fax: 619-371-1054 | | | | | +=====================================================================+