WinMDI 2.5 is a rebuild of 2.4 with fewer code modules, which should help with some systems that experienced memory problems running versions 2.3 and 2.4. The number of annotations has been increased from 12 to 16 per graphical window. A memory lock bug was found and fixed within the format print page code that may have been responsible for some “hard to reproduce” problems with some systems. Additional code fixes were added to minimize potential memory problems when multiple windows are present and the user is busy setting regions among them.
The Print bug is gone and the PrintDlg() function is used to obtain a printer device context for printing. This allows the user to choose Print to File and other printer options on a print request by print request basis. The print code has been changed significantly.
If the number of colors in the graphics board is greater than 8 bits per pixel, WinMDI now uses 8 bits and no longer bothers telling you about it at startup.
The Preferences Dialog has 3 new radio buttons to control the I/O buffer size to help with situations when there are several statistics windows eating up local heap memory. For more information see the Preferences help section.
Build #5 (5/23/97) includes a patch for LARGE (> 6MB 4 parameter) listmode files that resulted in a divide by zero FP error trying to draw histograms. This patch also fixes an unreported WinMDI bug where the maximum histogram LogY number of events was 10,000. The Log Y histogram scale function now works properly.
Build #6 (5/28/97) has a file exist check added to the Next and Prev commands.
Build #7 (6/6/97) Increment All and Decrement All now works with minimized windows. This allows the Format Print Page to be viewed and the user to change its contents with the graphical (source) windows minimized. The Edit Stats Dialog Box is enabled - allows the user to choose which statistical fields to include in the output (enabled for histogram output only).
Build #8 (6/08/97) The Rotate Dialog box now gets updated if the user is rotating by using the ctrl+left mouse button. Enabled more Edit Stats widgets and added a Format button to the Stats window tool bar that will bring up the Edit Stats Dialog (in addition to the Edit Stats menu item). The update window function upon closing the Edit Stats Dialog box now only redraws statistical windows, and the dialog code was moved from the dialogs module to the stats module to improve memory usage. Many older routines from previous versions of Windows were dropped and replaced with new ones, helps with fewer WM_PAINT messages being sent if not needed. All code segments are now packed on 32 byte boundaries.
Build #9 (6/14/97) Help file expanded and recompiled with Windows 95 functionality with Hcw 4.00.095 (winmdi.cnt added to zip file). Removed 2 global memory reference bugs from the Format2D dialog box code that may have caused memory errors if contour colors were selected several times without a redraw. DensityPlots no longer need to be drawn with axis size restrictions, the plotting algorithm now handles the gridding artifact differently.
Build #10 (6/20/97) - changes and fixes:
a) Array smoothing/copying code improved for speed.
b) Fcshdr.exe ported to 32bit and included in zip file as fcshdr32.exe.
c) Bug fix in WinMDI’s LockWindowGlobal() and UnlockWindowGlobal() routines that could result in Global Memory errors over a period of time.
d) The DensityPlots sizing algorithms are now selectable from the modified Format Dialog Box. Size Method Window: the window size is limited to multiples of the array resolution (smaller drawing elements). Size Method Element (new default): allows for any size window, but the individual elements are 1 pixel larger. See Format Density Plot for more information.
e) The DATA segment has been made smaller allowing for a slightly larger HEAP size.
f) Color buttons have been added to the Region Tool to allow for user selectable region colors.
g) The SaveAs dialog now allows you to save Windows Bitmaps from graphical windows for later import into other applications.
Build #11 06/23/97 Help Menu command now gets Windows version to insure the main help is reached under Windows 3.1 when “Contents” is selected. Region color button drawing code moved to the DLL.
Build#12 06/27/97 The SaveAs dialog box now uses the Common Dialog Box routine and modified template. Several code modules moved from the dialogs to tools code for space reasons. Format 2D-dialog box bug fixed where existing plots didn’t pick up their X & Y defaults properly. Format 2D now is the same for Dotplots, Contour plots, and Density plots.
Build #13 07/01/97 Bug fix in HookProc for File List Dialog (overlooked one OPENFILENAME variable that needed changing in build #12)
Build #14 07/08/97 added another file format to SaveAs for desktop publishing. The window may be saved as a placeable Metafile for applications such as Adobe Illustrator and Microsoft Word. A placeable Windows metafile is a standard Windows metafile that has an additional 22-byte header. The header contains information about the aspect ratio and original size of the metafile, permitting applications to display the metafile in its intended form. The header for a placeable Windows metafile has the following form:
typedef struct {
DWORD key;
HANDLE hmf;
RECT bbox;
WORD inch;
DWORD reserved;
WORD checksum;
} METAFILEHEADER;
Replaced several GDI functions with their portable equivalents (MoveTo( ) to MoveToEx( ), GetBrushOrg( ) to GetBrushOrgEx( ), etc.).
Build #15 07/18/97 Fixed bug in dotplot display code for CyCLOPS and other 16 bit 65536 channel data where truncation to 12 bit 4096 channel data was AND 4095 instead of AND 65535 before the shift right. Flagged MSDOS CyCLOPS FCS2.0 files for $CELLS as SampleID and $PnN as parameter labels. Added $PROJ and $EXP keywords to window data and annotation dialog.
Build #16 07/22/97 Fixed a bug in Save Region routine that caused protection fault in release version of build 15 (ran error free in debug version).
Build #17 08/01/97 Added error checking routines into histogram overlay code. Fixed List bug that appeared in release version and not in debug version (compiler optimization error).
Build #18 08/21/97 Significant build changes. Extended AutoCalc Stats (Preferences dialog) to histogram stats so that a mouse up message during marker draws causes the sibling statistical window to be updated. Streamlined code that updates histogram stats and added more robust memory checking to histogram array routines. Improved memory handling of region code, WinMDI region data pointers are now all returned from new subroutines. Added Draw and Close buttons to the 3D rotate dialog box. The popup menu in 2D displays will now contain Paste Region or Paste Quadrant if either is present in the clipboard.
Changes for Isometric 3D displays:
1) Points allocated for Polyline() in iso3d routine are now Global (fixes possible memory problem with large arrays).
2) The minimum threshold for large smoothed arrays is now 0.1 instead of 0.5 to improve the appearance in iso3d displays.
3) The text color is now properly set to foreground when iso3d Show Scale is used.
Fixed bug in map code for contour displays that sometimes caused a protection fault if Map (dots) was selected.
Reworked region tool dialog box to handle longer text strings.
The List command file open dialog box now centers properly over the frame window.
Added an error trap to program code that starts the Recorder (Windows 3.1 application) - if error 2 is reported it means that the file (program) does not exist in the standard Windows directory or path. The Recorder is a Windows 3.1 utility and will not be present on Windows 95 systems unless it is specifically placed there from a Windows 3.1 system.
Latest Builds:
Build #19 09/09/97 - Minor build changes. Reworked several common dialogs to center over frame window instead of child window. Fixed Banner dialog in Format Print Page code to properly indicate fonts in the set font dialog box. The extra number that appeared in the dotplot title bar no longer appears. See the previous build information for more extensive changes if you did not get build 18.
Build #20 09/12/97 Minor changes. Fixed up more common dialog locations. Added a label change to the format histogram dialog box. The current parameter name now appears as the title to the color selection list box instead of Defined Colors.
Build #21 09/26/97 Minor changes. Increased maximum number of FCS file parameters from 12 to 16. Altered the bitmap drawing algorithms at startup.