📄 rev.hst
字号:
/*
** WINDOWS - Simple but Elegant Window Functions
** (Datalight, Lattice, CI86, Microsoft, Borland
** Zortech, Mix PowerC, Manx AZTEC C, WATCOM)
**
** Copyright (c) 1984 - 1990 - Philip A. Mongelluzzo
** All rights reserved.
**
** Revision History in reverse order:
**
** The following changes were incorporated in the 07.01.90 release:
**
** 06.16.90 - Cosmetic and misc changes: (BOSSDEMO.C,
** MAKELIB.BAT (LC6), include memory model directives
** for Lattice 6.XX batch files).
** Thanks again to Bill Hinkle. (V5.17)
**
** QuickC 2.5 Support.
**
** MSC 6.0 Support. Changed "windows.h" to CAST
** NULL as an int.
** (windows.h)
**
** 04.04.90 - wn_help was taught to use wn_putsa to enforce user
** specified help screen attributes. Tip of the hat
** to Chris Madsen.
** (wn_help.c) (V5.16)
**
** 03.23.90 - Added "wns_escape". This is set to TRUE by wn_input
** whenever ESCAPE has terimated the input. ESCAPE
** now terminates input for all input field types.
** (wn_gbool, wn_gdate, wn_double, wn_gfloat, wn_gphone)
** (wn_gtime, wn_guint, wn_gulong, wn_gint)
** Thanks Dexter!! (V5.15)
**
** 03.12.90 - Due to popular request, wn_open now range checks
** the window parameters to make sure that the window
** will actually fit on the screen. NULL is returned
** if not. This will prevent some cockpit "bad handle"
** error exits.
** (wn_open.c) (V5.14)
**
** 03.08.90 - Added wn_hlinit, wn_help, wn_popup, and wn_qpopup.
** These functions are close clones to the old sample
** code provided in help.c and popup.c. HELP.C and
** POPUP.C will no longer be distributed.
** (wn_help.c, wn_popup.c, windows.h)
** (genindex.c) (V5.13)
**
** 03.07.90 - Placed all "externals" in "windows.ext". This is
** being done to ease the burden of making changes
** to both global and external data. This will also
** keep all the constants in one place.
** (windows.c, windows.h, windows.ext) (V5.12)
**
** 03.06.90 - HELP Key is now user definable. The global wns_hkey
** has been added and defaults to F1. This global
** can be set directly of via the wn_shkey() function.
** (windows.c, wn_init.c) (V5.11)
**
** 03.04.90 - Added wn_stitle (Supertitle). wn_stitle provides
** (top, bottom) (centered, left, right) titles!
** wn_stitle.c (V5.10)
**
** 03.03.90 - Added wn_gatext - get ascii (ANY ascii text).
** Now you can input graphics characters!
** Tnx to Werner Schonber for the suggestion.
** wn_gtext.c (V5.09)
**
** 03.01.90 - Fine tuned overlap detection to improve performance.
** wn_activ.c (V5.08)
**
** 02.25.90 - Shadow window support. wn_activ.c, wn_close.c,
** wn_move.c, windows.h, windows.c, wn_open.c
** (V5.07)
**
** 02.24.90 - Eliminated most of the assembler functions. This
** was done to provide better support for the HUGE
** memory model.
** (c:{wn_bios, wn_mouse, wn_sup}, *.asm) (V5.06)
**
** 02.04.90 - Linked exploding windows to time of day clock.
** Added wns_gticks() in wn_open.c.
** nap() in BOSSDEMO now uses wns_gticks.
** (wn_open.c) (V5.05)
**
** 02.03.90 - wn_sdelspc was not handling requests to delete
** trailing and leading spaces from strings that were
** only spaces! Tnx es a tip-o-de-hat to Pat Elam,
** M. G. F. Gilliland, M.D., and Harold Jackson.
** (wn_string.c) (V5.04)
**
** 01.28.90 - wns_movscr was not allowing for 132 column or
** wider screens. It was taught how to allocate memory
** for user defined physical screen sizes. Thanks to the
** folks at Atomic Energy of Canada LTD.
** (wn_sup.c) (V5.03)
**
** - v_cls() in "wn_bios" was taught about wni_mxrows
** and wni_mxcols.
** (wn_bios.c) (V5.02)
**
** 01.20.90 - Pulldown code in BOSSDEMO would not work if called
** twice. The problem was traced to the "winopn" member
** of the static structure mainbar. Setting "mainbar.winopn"
** to FALSE before "wn_close(mainbar.wpsave)" in "pddemo()"
** solves the potential problem. Thanks to Russ Brown for
** reporting the problem.
** (bossdemo.c) (V5.01)
**
** Version conversion table:
**
** Base Release Base Version
** ??.??.86 1.00
** ??.??.87 2.00
** ??.??.88 3.00
** ??.??.89 4.00
** ??.??.90 5.00
**
** The following changes were incorporated in the 02.15.90 release:
** AKA Version 5.00
**
** 01.10.90 - WCVLIB.ASM created. This file contains the assembly
** language routines for WATCOM 7.0. Previous versions of
** WATCOM should use MSVLIB.ASM.
**
** 01.05.89 - Physical windows wider than 80 columns were not
** working correctly. Thanks to all who reported this
** problem. (wn_actic.c, wn_sup.c, windows.c, wn_init.c).
** The constant "4096" was not removed in wn_savres. It
** does not impact the physical sceen size logic but does
** allow the code of those who have "tinkered" with video
** pages to continue to work.
**
** 12.22.89 - Re-assembled all assembly language routines to insure
** that wni_mxcols, wni_mxrows, and wni_mxneed were being
** used correctly.
**
** 11.30.89 - ZORTECH 2.0 Support. Please note that ZORLIB version
** 2.0 can not create a usable LWIN.LIB. Microsoft's LIB
** works fine and should be used. ZORTECH has been notified
** of the problem.
**
** 11.24.89 - jeesh... One line exploding windows exploded again!
** This time we got the gremlin!! Tnx to Michael Canfield
** for suppling the test case.
**
** (11.15.89) **
**
** 10.28.89 - Modified wn_title to insure ALL compiliers process
** hex values that are imbedded into the title properly.
** (e.g. "Hello \xcd There!")
** Thanks to Don Wahl for pointing out the discrepancy.
**
** 10.25.89 - It would appear that the PC/PC_CLONE BIOS can not deal
** with scrolling single line windows. wn_insrow() was taught
** to erase single line windows and avoid using the
** BIOS for this special case. This problem does not exist
** on AT or PC/2 class machines. Thanks to Harold Jackson
** for reporting the problem.
**
** 10.24.89 - Eliminated a potential multiple cursor problem with
** the mouse cursor when a window is being saved/restored
** with an active mouse. Tip of the hat to Steve Thatcher
** of Attachmate.
**
** 10.20.89 - Corrected a bug in wn_open to allow 1 line exploding
** windows to function properly. Thanks to John F. La Fleur
** for reporting the problem.
**
** wn_puts was not handling borderless windows properly.
** Thanks to Tim Keane for reporting the problem.
**
** Lattice Version 6.0 Support
**
** 09.27.89 - Logic was added to wn_input to insure that user supplied
** non null editing buffers are the same lenth as their masks!
** This logic will prevent garbage from appearing when
** wn_input is called to peform data entry with a prefilled
** value in the user buffer (ubuff).
**
** 09.05.89 - The forms package now treats the ESCcape
** like most common applications do. That is to say that it
** causes the current operation to cease. Current
** Window BOSS users please note that this feature can
** be disabled by removing the code in wn_frmget that contains
** "ESC.001" as part of the comments.
**
** 09.05.89 - Added 1st character sensitivity to the sample popup menu
** code. ** NOTE ** -> For menu's that have different 1st
** character picks.
**
** (08.25.89) **
**
** 08.23.89 - Exploding window opens were failing on SOME
** adapters. Even size exploding windows were
** failing. Corrected!
** Thanks to Richard Allen for his assistance.
**
** The following changes were incorporated in the 07.01.89 release:
**
** 06.17.89 - Lattice 3.41!! ... The version release race is on!
**
** 05.29.89 - Mix Power C 1.30 Support.
**
** 05.25.89 - Added wn_gutext and wn_gltext. Get upper case only
** and lower case only text functions. Thanks to
** Charlie Munao for the suggestion. Improved code 6/6/89.
**
** 05.23.89 - wn_frmcls now sets the form pointer to the form being
** closed to NFRM and the individual field pointers to
** NFLD. This should help those who attempt to dectect
** if a form/field is active.
**
** 05.10.89 - wn_close now sets the window pointer to the window
** being closed to WNLPTR. This should help those who
** attempt to detect if a window is open.
**
** - Moved definition of FAR MEMORY marcos from "wn_sup.c"
** and "wn_activ.c" to "windows.h".
**
** 05.06.89 - By popular request... WN_FRMGET now displays both the
** field prompt and data entry mask for all fields prior
** to accepting input for the 1st field. Accomplished by
** introducing "wni_frmflg" which is used/tested by
** all the data entry functions, wn_input, and wn_frmget.
**
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -