Virtual screen XIMG viewer XIMGVIEW and XIMG snapshot utility XIMGSNAP 1994, 1995 (C) Eero Tamminen XIMGVIEW Viewer loads any IMG or XIMG picture and shows it. It's mainly intended for monochrome, but it should 'work' on any resolution. On monochrome it dithers color pictures. On color resolutions extra colors and bitplanes are just cut away (color quantization would be a hard thing to debug on a monochrome monitor that I have) so that images with more colors than the resolution supports won't look good at all (for more than 16 color pictures I recommend gif or jpeg encoded pictures as IMG format doesn't pack very efficiently). Program should be compatible as all screen access is done with AES or VDI functions. I use no windows (therefore this program is on 'top' all the time it runs) as programming them is a bore and adds 'unnecessary' code ;-). VIEWER USAGE - Drop viewer icon onto the desktop (or install it for IMGs). - Drag image files on the viewer's icon and/or click on an IMG file. - If picture doesn't fit into screen, you can scroll it around by moving the mouse. - By pressing a mouse button you'll get an alert box from which you can select either previous or next picture or quit. You could also just run the program as is. It will then give you a fileselector for selecting an IMG file to show. XIMGSNAP With the ximgsnap accessory you can save parts of the screen into a file as a standard GEM raster image (IMG). When run, the program will ask you which part of the screen you want to save: whole screen, top window workarea or the area that you'll define with a rubberband. After that the selected area is packed as a (X)IMG into a file. File will be saved into the folder pointed by CLIPBRD or SCRAPDIR enviroment variables or into C:\CLIPBRD, C:\ or A:\ (whatever will first meet the criteria) as SNAP_???.IMG. This program doesn't need any additional memory during the packing, so it can be used also with the programs that grab all the remaining memory at the startup. Snapshot 'should' work on all 2-256 color resolutions. Maximum width for the saved area is 2000 pixels. Pictures are converted, packed and saved one line at the time. Ximg-snapshot works both as an acessory (might not be able to get the enviroment variables?) and an application. DEVELOPEMENT These programs are programmed in Everest text-editor 3.3e and compiled with Sozobon C v. 2.0X. Some debugging is done with GCC 2.5.8. I'm in need of betatesters (please send me e-mail feedback!) and the Compedium... AIMS Small program size and memory usage while still having a nice(?) user interface. I like things to be functional without too much frills :-). TESTING ENVIROMENT A STfm with 4MB ram, KaosTOS 1.4, a SM124 monochrome editor, MH-MiNT v1.12-h3 and Thing 0.31d desktop. THANKS - To Gryf aka Thomas Binder (binder@rbg.informatik.th-darmstadt.de) for the IMG scanline packing code. - To Warwick Allison for doing those wonderful GEM conforming games / game ports (NetHack, AmiGo...). I recommend checking Warwick's GEM++ and AMS C++ libraries for GEM and game programming. I hope I would have seen these before I wrote these programs, as these contain a lot of interesting code... - To Arno Weasel for the Thing desktop. COPYRIGHT, DISCLAIMER AND DISTRIBUTION Ximgview.prg and ximgsnap.acc are copyright of Eero Tamminen. XIMG scanline packing in snapshot.c is copyright of Thomas Binder. These programs come with NO WARRANTY. Author cannot be held responsible for any damage done by proper or improper use of these programs. These programs are freeware and can be distributed on condition that all the files ximgview.prg, ximgview.c, makeview.mak, ximgsnap.prg, ximgsnap.c, makesnap.mak and img.txt (this text) are included unchanged and there's *no* charge taken. Contact Eero Tamminen if you want to include any of these files with another program or onto a coverdisk. You may include parts of the code in other freeware programs providing that your program documentation credits my and Thomas' efforts. Eero Tamminen t150315@cc.tut.fi puujalka@modeemi.cs.tut.fi 23600 Kalanti Finland Thomas Binder binder@rbg.informatik.th-darmstadt.de Johann-Valentin-May-Straže 7 64665 Alsbach-H„hnlein Germany CHANGES 05.09.1994, Viewer v1.0. 12.09.1994, Viewer v1.1. Added dialogs for showing what viewer does. 14.09.1994, 30% speed up in dithering. 10.11.1994, Viewer v1.2. Added color changing, screen redraw after showing an image and removed my own interleave routine from the viewer. 13.11.1994, Viewer color resolution picture conversion routine now does conversion a line by line, thus needing upto 30% less memory than before. 05.12.1994, Removed help from the viewer and added fileselector for use with the old desktops. 28.11.1994, Snapshot v0.8. 03.11.1994, Snapshot v1.0. Included Gryf's img scanline packing code. 05.12.1994, Removed fileselector from the snapshot as most fileselectors don't clean up the screen and doing the redraw myself (would need a screen sized backup buffer) or using events to give main application(s) time to do the redraw) would be impractical. 18.3.1995, Viewer 1.3 & snapshot 1.1. Added a color palette order conversion (palette saved before in VDI order, which doesn't correlate with h/w color order (A real bummer I say)). Snapshot will now save images to CLIPBOARD folder if possible. Viewer has now an alert box for image info and for loading the previous / next picture. 6.5.1995, snapshot 1.12. Fixed a bug in the saving path code and applied Thomas' patches to the source (eg. MagiC work-around).