{===========================================================================} { } { ллллллллллллл Unit LMouse ллллллллллллл } { ллллллллллллл Release 1.0 ллллллллллллл } {===========================================================================} { ллллллллллллл Unit LObjects ллллллллллллл } { ллллллллллллл Release 1.0 ллллллллллллл } { } { ллллллллллллл CREATED BY Dr. LUIS VACA ллллллллллллл } { ллллллллллллл All Rights Reserved ллллллллллллл } { } { " Promote Programming ... Register !!!" } {===========================================================================} { ллллллллллллл VIEWS ллллллллллллл } { ллллллллллллл Release 1.0 ллллллллллллл } {===========================================================================} These two units (Emouse and LObjects) form the Views library to create and manipulate graphic windows in Turbo Pascal (TP). This library IS NOT FREEWARE !!!!. If you find it usefull you can use it in your programs, I only ask two things in return: 1. Send me any changes that you make to the library (I mean the source code). In this way I can keep improving the library and everybody wins. This project is for the benefit of everyone who programs in TP and wants or needs to use graphic manipulations. You are encouraged to modify or add new code to the library, just keep me posted !!!. In fact, If you want to work in colaboration with me just let me know... Four hands work faster than two. E-Mail : lvaca@bcm.tmc.edu 2. Any contributions are wellcome... (yes, I mean money). This helps me to update my TP compiler and keep this project going. I donot like to put a fixed price to this library, but I think that $30.oo US is a reasonable amount. When you send the money, make sure to include your address (physical and Email), in this way I can keep you posted about new releases or new objects included in the library. Any comments are wellcome too !!!!. Send contributions to : Dr. Luis Vaca 5500 N. Braeswood #254 Houston, TX 77096 /////////////////THE BASIC FEATURES OF THIS LIBRARY ARE DESCRIBED BELOW\\\\\\\\\\\\\\\\\\\\\\\\\\ YOU CAN GET MORE INFORMATION INSPECTING THE CODE, I TRIED TO COMMENT ALMOST EVERY LINE OF CODE. /////////////////THE BASIC FEATURES OF THIS LIBRARY ARE DESCRIBED BELOW\\\\\\\\\\\\\\\\\\\\\\\\\\ 1. I do not save the area under the window, there is a limit on TP of 64 K for images and this is not enough for VGA and SVGA graphic modes. Instead I use the Viewport to redraw the regions of the screen that require so. Each window must send a paint message to the app.run loop indicating the rectangle area that needs to be repainted. 2. The heart of the library is the Event record, this is not an object. This record is used in a loop which will check for mouse events and keypresses. If you want to check for more events just add them to the record. Check Emouse.pas for details. 3. I do not use TP Readkey, this function can not catch keys like Cntrl-F1, etc. Instead I get the key directly from the keyboard buffer through INTERRUPT $16, SERVICES $2 AND $10, check Emouse.pas for details. 4. I used a pretty fast assembly routine to get mouse events from the mouse driver. This is interrupt driven. 5. You can create your own controls by deriving your objects from the LControl object. You must override the HandleEvent and Paint methods. The default methods do nothing. 6. The library do not support MDI (multiple document interface) yet... Give me some time and I'll get it going. 7. There are 12 mouse cursors included in the Emouse.pas unit. I'm working on a mouse editor that will allow the interactive (visual) creation of new mouse cursors. 8. The library do not support ICONS yet... My plans are to implement a visual editor that can create mouse cursors and icons and write the pascal constants to a file that you can later include in your program. This part might take a little while... so ... do not hold your breath. For this reason I did not implement the minimize (iconize) feature in the windows. Windows can be maximize and restore only. 9. This library is fully compatible with TP fonts and BGI drivers. You can use any of them. 10. There is A BIG BUG in clipping bit mapped fonts, they do not clip correctly. Use Stroked fonts when possible. Another BIG BUG is in clipping with the bar procedure. Sometimes the bar is not clipped correctly. Use the FillR method provided in the library to draw filled rectangles inside windows. I wonder when these people of Borland will give us a decent graphics library ? ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++ ABOUT THE DEMO INCLUDED ++++++++++++++++++++++++++++++++ <<<<<<<<< VIEWDEMO.EXE AND VIEWDEMO.PAS ARE EXAMPLES OF HOW TO USE THE LIBRARY >>>>>>>>>>>>> <<<<<<<<< NOTICE THAT VIEWDEMO.EXE IS OVER 111 Kb BECAUSE I LINKED ALL THE BGI AND FONT FILES IN IT >>>>>>>>>> <<<<<<<<< YOU CAN USE THE MOUSE OR THE KEYBOARD TO MOVE AROUND THE DIFFERENT WINDOWS >>>>>>>>>>>>> {===============================NOTE================================} { USE SHIFT-TAB TO CHANGE THE FOCUS AMONG WINDOWS } { USE ALT-X TO QUIT } { USE TAB TO CHANGE FOCUS BETWEEN BUTTONS } { USE CNTRL-SPACE BAR TO DISPLAY THE MENU IN FOCUSED WINDOW } { ALL COMMANDS WORK ONLY ON FOCUSED WINDOW } {===============================NOTE================================} +++++++++++++++++++++++ ABOUT THE DEMO INCLUDED ++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ THE LEGAL STUFF GOES HERE. I'm not liable in any way for any problem occured by the use or missuse of this library. I only work here !!!...