Changes in ProWesS : -------------------- Bugfix cfr improper handling of IOPutBytes when bytecount==0 or >32768. Added support for WINEventWait & WINEventSend. Software interrupts now also suported in ProWesS. Added and keystrokes in standard quit window. Scrolling larger than screen windows now possible by hitting the edge of the screen with the pointer when using SMSQ/E 2.72 or higher. PWAllocate, PWRemove and PWHandleDefine added in ProWesS core. Fixed a bug in PROforma which caused too many fontcaches to be allocated. LaserJet and LaserJetII PROforma drivers added. Added pixel oriented commands to PROforma. These start with the PFP prefix. For more details see the PROforma_ddf file. Also PFPGstateReAssign added. This speeds up the execution of PROforma. ProWesS now uses pixel values internally, which allows better and slightly faster pixel optimizations. The ProWesS types are also adjusted to reflect this. The ProWesS canvas type now always sets the WindowSub when the CanvasInfo structure is passed. The ProWesS scroll object now reacts on a HIT/DO on the scroll bar. ProWesS calculator now first clears the display or when the display is already cleared, it quits the program when pressing . Added button and mbutton tools to ProWesS. syslib now works on Minerva. There was a problem with JOBLoad and THINGExec which was caused by different handling of odd dataspace values. PWRemove is fixed. It could not propoerly remove the top and sleep objects. Scrolling larger than screen windows now alsways scrolls at most 3/4 of the current screen size. Also for very small windows. ProWesS system defaults for font, fontsize, foreground, background and middleground colour added. This should ease configuration of ProWesS. The standard types now use these defaults when appropriate. ERR_NOMS & ERR_ACCD added to syslib (and supported by ERRMessageGet). (distribution 13.04.1996) ProWesS : - now properly traps software events and wake events. - edline type now clears keypresses at the end - can now query for the objects in the outline (for SBASIC if) - PW_EDLINE_ACTIVATE added - PW_SCROLL_BIG/SMALL_KEYPRESSES added - PWRemove(NULL) is now safe - Pointer limits are now set while dragging. The distance to scroll can only be passed if the applic window is not at the border of the window (in that direction). - PW_FILESELECT_FILENAME added (for SBASIC if) ProWesS loader now allows scrolling with keypresses (alt up/down & alt shift up/down). ProWesS loader : if the loader file is an executable, then that program is just executed. Added the following loader applications : delenv, copy, copyname, delete, makedir. syslib : - IOMedium now fills in more data (cfr changes in SMSQ/E). The MediumInfo has been changed to reflect this (and now also allows for the future changes). - added IOFileInfoGet, IOFileInfoSet, IOPutRawBytes - IOName was bugged when used on 'ram1_', fixed - IOMakeDirectory now return ERR_OK if already existed - IO/WINPutStringAddNewLineGet/Set added - some WINxxx calls with only a Window id parameter (like WINClear) did not fill in the Window id properly when calling the OS (oops) - KBDDirect, KBDPressedAlt/Shift/Ctrl added - WINPointerLimits added PROforma drivers now all use IOPutRawBytes, so on SMSQ/E v2.74+ it is no longer necessary to switch off translates when printing. Drivers now also always use OPEN_OVER. Fixed some spelling errors in the ProWesS programming documentation, thanks to Wolfgang Lenerz. (distribution 22.05.1996) syslib : - WINEventWait fixed (a0 is also corrupted by OS call - undocumented) - DIRNext now returns the correct file length - WINPointerRead now handled window request in a secondary window properly, including correct sprite etc. ProWesS : - errors returned by event handlers now all passed back properly - PW_MENU_ADD_xxx now set current item properly - bug in PWRelease fixed - types when loaded are now owned by ProWesS (was system) - menu, item, itemp typse now use default colours when needed - PW_MENU_KEYPRESSES added - PW_EDLINE_ACTION_TEST added, including standard actions for natural, integer and float - PW_MENU_xxx_NUMBER & PW_MENU_STATUS_ALL added (thanks to Wolfgang Lenerz) - PW_LOOSE_AUTOREPEAT added (partly by Wolfgang Lenerz) PROforma : - widthtable of a font now always owned by PROforma - PFGstateRelease now releases everything allocated (there were some memeory leaks before) - picture now have to start with a FileInfo structure. This allows the detection of end-of-file when necessary (and some extra checking for the PFPictureRecognize routines). - PFPictureElement now clips correctly - PFDisplayMode added ProWesS reader now displays progress report when loading a page and when printing. Also, you can now choose whether subdocuments should be included when printing. Printing can now also be cancelled (if you have SMSQ/E that is). The ProWesS reader now also supports the inclusion of pictures () (distribution 21.06.1996) ProWesS : - infostring used wrong y size - canvas handled SIZE tags wrong, fixed - DO in fileselect now does nothing if no files indicated and not multiple - PW_MENU_STATUS was bugged when PW_MENU_UNIQUE - PW_EDLINE_CATCH now also called before start - windows in button frame are now a multiple of 4 pixels wide PROforma : - thick lines now drawn differently (faster) - picture drivers now also have to fill in the aspect ratio - CompressMode2 was bugged on pcl and esc/p2 printer drivers - when the default driver is selected, that driver will get the config constants as well syslib : - MUTEXCall lost parameters when waiting (oops) - IOFileInfoGet now also works on a directory - use of Global Variables in IOOpen can now be nested - DIROpen now appends a '_' if not there The global variables thing has changes interface and is now 100% safe. ProWesS loader can now also start a thing as filename. Started adding an installation procedure. (HD distribution 30.07.1996) mbutton and install now have '-terminate' option. ProWesS loader now has PASSPATH and NOPASSPATH options PROforma : - searchpath can now be constructive (e.g. "S +flp2_") - Canon BJ10 driver hopefully now works on all Canons - introduced colour caching. This makes especially the drawing of pictures a lot faster (test case now 3s versus 24s before). syslib : - IOMakeDirectory could sometimes fail with the error ERR_FDIU or ERR_IPAR onr "ram1_" or "flp1_". This should no longer cause an error. PWbasic_rext has some extra commands and cann now be loaded before ProWesS. Installation procedure finished for both DD and HD distributions. (distribution 14.08.1996) - rfile utility added - install was bugged when name longer than 32 chars ProWesS reader : - directory can now config - times and sup1 entities fixed ProWesS : - loose item keypress selection now also ok when item unavailable - PW_MENU_UNIQUE now also maintained when status set explicitly - all PW_MENU_ITEMWIDTH_xxx were xxx_MAX - PW_CANVAS_ACTION_TIMEOUT added PROforma : - PFP draw routines wre incorrect when PageOrigin<>(0,0) - GstateInit/ReAssign could have problems with initializing the ColourCache for the dummy driver syslib : - Falkenberg harddisk bug fixed, iop.xinf writes 36 bytes too much PWbasic_rext : DATAdesign and PROforma Sbasic interface included DATAdesign engine : - IDEL was bugged, when followed by indexsave, the deleted record is still saved (distribution 19.09.1996) syslib : - MEMHeapZap(NULL) and MEMUserZap(NULL) now possible - IODelete now also uses global variable replacement - SMSBreakHard and SMSBreakSoft added - IOMakeDirectory now works around a bug in some WIN driver which do not build directories when the name ends in underscore(s) ProWesS : - PW_MENU_ITEMWIDTH_COLUMNS added - PW_MENU_UNIQUE should now really be fixed (??) - PW_MENU_SELECTED/AVAILABLE/UNAVAILABLE_NUMBER added PROforma : - handling of char code between backslashes now correct - QLpict driver now gives better aspect ratio guess - all pcl printer drivers now position the allocate area correctly even when not the entire page - curve drawing commands adjusted for PageOrigin twice - stroked lines/curves no longer perform implicit PFPathClose - PFPageOriginSet now remains effective even when rendering the second or following page of a multi-pass document mbutton had problems when name>31 chars Some installation problems solved (Deskjet drivers and on DD disks the Epson drivers as well). reader : - now always a small margin on each side (5pt) - IMG tag now also accepts "cw" (column width) as unit, this is an extension of HTML which is more sensible - IMG tag pixels are now approximated by pt. This is much more sensible, especially when printing. - IMG setting height used to overwrite the width instead. fixed - "perforation skip" option when printing extra utility program : PFconfig, to configure PROforma and printer drivers, add fonts and change memory options. install should now scale better. (distribution 25.10.1996) PROforma : - much improved hinting - better stem alignment on grid - better handling of stem snap values - better (and fixed) flatness when rendering (1/16 pixel) - missing pixels in vertical stretches which do not contain pixel center now still drawn in cache - restructured gstate structure for better hiding of internal structures towards external modules. - PFGstateSave & PFGstateRestore introduced - PFWindowSubRestore did not restore CTM properly - PFFontSelect of current font now faster - PFPictureDisplay and variants now adjust PageOrigin for picture to be displayed at (0,0) + drawing picture is now embedded in PFGstateSave/Restore - pictures with fixed colours now work correctly - LINEdesign v2 picture driver added - mode 4 sprite picture driver added (thanks to Wolfgang Lenerz) - PFLineWidth now properly allows going to hairline from a thick line + now also works when CTM scaled to factor<1 - PF(P)ArcTo/R, PFCircle, PFPie, PF(P)Rectangle added - PFCTMRestoreKeep added - PFP(String)Show, PFP(String)Width, PFPFontBbox added - flattening of curves now much faster - rendering of cached chars faster because special fill routine - better building of colours using a PetternMask - PFPatternMask & PFPatternMaskUser added - speed up with added fixdiv and fixsqrt routines - monopic printer driver available - DeskJet 500 printer driver problem fixed. Seems a certain pcl command behaved differently on several printer models. syslib : - MEMSwap was VERY bugged. This also caused problems for ARRAYSort. - newmin/newmax added in sms.h ProWesS : - loose-item type now supports sprites (thanks to Wolfgang Lenerz) ( the sprite picture driver has to be available for this ! ) - all types now use PFPStringShow/Width for better font quality on screen (distribution 08.12.1996) ProWesS reader had a wrong count for the tags. This caused the reader to crash for example on the tag. PROforma : - A divide by zero could occur when displaying some fonts (particularly on the 'Complete' font). - PFPWidth commands now faster because pixel width also cached separately (not in slower font cache). - PFPFontBbox now also uses underscore. - drawing text with disabled cache works again. - PFFontCalculate added (pre-calculate + make resident) - the font cache was not very efficient because characters could get lost. This bugfix causes a good speed increase. - fixed width fonts now remain fixed width when using PFP commands. ProWesS : - Button fram window now always a multiple of two pixels heigh. - PW_MENU_STATUS_CURRENT query added. - SYSTEM-FONT-CALCULATED definition added syslib : - DIRSieveExtension now always requires the extension to be preceded by a dot or underscore. If the extension itself starts with a dot or underscore, then the first character of the extension is skipped. ProWesS clock now displays date and time, but no seconds. The clock is updated approx. each half minute, not each second. Some problems in PWbasic_rext which were caused by the linker fixed. (distribution 27.12.1996) waitProWesS added in startup file. This waits until ProWesS is completely initialised. PROforma : - addflatcurve routine replaced by a non-recursive routine which uses a fixed amount of stack (the previous version sometimes used excessive stack) - PFPageBboxSet exchanged xorg and ysiz - PF(P)PageBbox adjusted the PageOrigin a pixel too little - QVME driver now only updates the area inside the PageBbox and WindowSub when calling PFPageShow - PFFontCount/Next now also cycle the resident fonts - making the font resident in PFFontCalculate now correct ProWesS : - PWActivate(NULL) now possible - menu type replaced by a revamped version from Wolfgang Lenerz which does not rely on the applic type. Apart from that you can now also indicate several items by dragging, and only the current item is redrawn (and not always the entire menu) - edline type adjusted by Wolfgang Lenerz, it now allows several lines in the item - PWDoCreate introduced - menu and item types now use the newly introduced part of window PFPageShow to make the drawing of the borders around items faster (distribution 17.01.1997) procon and PWconfig no longer contain the Qliberator runtimes. They are now distributed separate and loaded in the boot file (you may have to add this in your boot file ('ext_Qlib_run' in the ProWesS directory). ProWesS : - some small improvements in menu type (wl) - loose item now underlines selection keystroke (wl) - label allows underlining (PW_LABEL_UNDERLINE) - edline and dedline types now integrated (wl). You can now choose to make sure only edline or dedline objects are used, even when the other type was created. Also some other small improvements. (you may have to delete the 'T dedline' line from the 'mine_ProWesS_cfg' file in the ProWesS directory. PROforma : - PFPArcR fixed. Caused buggy PFArcR & PFPie. - PFCharPathInit now works properly - many problems with div by zero fixed - fixsqrt(0) now works - fixdist added, safe calculation of sqrt(a*a+b*b) - fixed a problem which could make curves (and circles incorrect). syslib : - ERROR_BUILD definition fixed - IOOpenPath(For) now stops scanning the search path on ERR_FEX. PWbasic_rext : - fixed PFPie routine ProWesS reader now allows you to choose which pages have to be printed. (distribution 11.03.1997) On ProWesS there is now an "update installation" option. This will also automatically reconfigure the programs. ProWesS : - PW_INFOSTRING_TEXT_UPDATE added. - improved the event loop, works better now. fixes problem about indicating the move/scale border & drawing borders. - save/restore pointer position on window activate & close. - restructured determinesize routine for dynamic sizing and setting pointer position. - pointer position can be set to be centered in an object. This defaults to centered in the window (PW_OBJECT_POINTER_START tag). - fixed problem where a sleep button could cause DO event for window. - ProWesS type no longer see all the ProWesS data structures. - new PW_EVENT_AUTOSIZE & PW_EVENT_REFRESH defined. - allow one object in system to autosize the window (PW_OBJECT_AUTOSIZE tag). - menu type can now autoscale the window. This will both increase and decrease the window size when necessary. - scrolling larger than screen windows works properly again (was bugged since PROforma only updates inside the PageBbox using the PFPageShow call). - Quit window now has the pointer default on the abort item. - fileselect & dirselect now autosize the menus Pointer now centered in display in ProWesS calculator. ProWesS reader can now properly handle a picture file not being found (doesn't abort the load any more). (distribution 23.04.1997) ProWesS : - listselect type added - allows you to select an item from a list (you should add the line 'T dedline' line in the 'mine_ProWesS_cfg' file in the ProWesS directory when updating). - menu type now properly displays a border around the current item when entering the window. - PW_LOOSE_OFFSET(_PIX) added in loose item type - menu type can now reduve the width of the window when the object autosizes. - menu type now display the items in a more natural order (by column, and not by row). (distribution 21.05.1997) PROforma : - different memory handling, should cause less fragmentation - better flattening of curves - some tests for checking memory usage on GstateInit improved - hinting now only applied when character <50 pixels ProWesS : - some problems with WINDOW_DO in menu type fixed syslib : - KBDDirect routine was bugged. This actually caused strange problems on some systems when trying to print or preview in LINEdesign. (distribution 09.07.1997) syslib : - bugfix in MEMHeapRelease - IORename now correctly prepends directory when necessary PROforma : - probably were 'm' got lost occasionally fixed - PFStringShow(Kern)Just fixed - use to loose characters and now counts spaces properly when ExtraEOS set - problem were divzero could be caused in flattening a curve fixed - PFWindowSubSet switched some parameters - mono_pfd now also contains 3 plane bitmap driver (already contained 1 and 4 plane (1 bit/plane) drivers) ProWesS : - listselect type now reduces size properly - listselect allow PW_MENU_xx queries for embedded menu setenv can now accept -recurse parameter install now properly replaces PWSDIR global variable to the installation directory before calling PFconfig (distribution 15.11.1997) syslib : - IOMedium now fills in formattype properly - included new style ieee double support routines, so it is now finally possible to use the latest version of c68 to compile ProWesS applications (with improved optimizations) - THINGUserNext smashed A2 (caused by undocumented behaviour of the actual thing system call) PROforma : - PFWindowSubRestore did not restore CTM when PageScale was changed but not the CTM itself, fixed - PFStringShow(Kern)Just now counts spaces properly - PF(String)ShowTrack now uses ExtraEOS properly - added 'v' dynamic config option to test for required version - BJ10 driver different handling of top skip - hope it now works properly - three plane bitmap driver fixed (for CMY printers, in test) - QVME driver no longer opens a window when a device passed - PFPWindowLink added (only supported by QVME driver, of course) ProWesS : - PW_APPLIC_REDRAW added - added 'v' dynamic config option to test for required version - PW_CANVAS_ACTION_CATCH(START/END) added - PW_APPLIC_CANVAS_CATCH added (distribution 18.01.1998) PROforma : - PFPGstateReAssign geregeld - QVME driver works properly again (bug introduced in 18.01.1998 distribution) - PCL drivers now handle multiple copies properly (return error if not supported or ERR_OK otherwise). ProWesS : - PW_LISTSELECT_CLEAR no longer affects current item ProWesS reader now properly handles acute and acirc entities and also entity numbers between 1690 and 255. (distribution 28.11.1998) - changed caching handling in the DLL manager to properly work on the Q40. This requires SMSQ/E 2.94 or higher (or compqtible caching support). - added a new mode 33 bitmap driver for the Q40 and support for mode 33 detection in the screen driver. - startup file has undergone some minor changes (adding some extra pauses) to make loading zork properly on the Q40. - distribution change, ProWesS is now freely distributable on the QL and derivates. Copyright still remains with the author Joachim Van der Auwera. (distribution 13.02.2000) - change in the "wait" program. The wait for a thing to exist was not entirely correct before. This makes "waitProWesS" obsolete in the startup file and also assures that no strange wait for a period things have to be introduced (specifically on the Q40). - the QVME driver now also zorks on QPC/QXL 16 bit colour mode (thanks to Marcel Kilgus) - the mode33 bitmap driver used by 16 bit colour drivers has been fixed. When displaing fonts it only drew 7 out of 8 bits. - the win.h file has some extra WINDOWMODE definitions. (distribution 23.10.2000) Sbasic interface, some bugs and fixes noticed by Wolfgang Lenerz. PROforma Basic Interface Code for PFPFontBBox, PFPPageBboxGet and PFPPageBboxFullGet was wrong (they use similar code). DATAdesign Basic Interface - Sortfile did not correctly get all 10 parameters. - Indexfind bug fixed. This could someti;es crash the machine, as it was writing before an allocated zone. PROforma : - internal changes (a.o. to cache) for supersampling fonts - QVME and mode33 drivers modified for using anti-aliased fonts in high colour mode (distribution 08.11.2000) PROforma : - mode33 driver colour calculations were wrongon QPC, fixed by Marcel Kilgus - PFWidth(Kern)String fixed when using anti-aliased fonts DATAdesign : added an extra IndexFindString command (IDFS), by Wolfgang Lenerz and fixed faulty intermediate version (distribution 13.01.2002) PROforma : proper handling of fonts with euro character