Numerous changes, either bug fixes or changes to accomodate the new
authorStephen Adams <edu/mit/csail/zurich/adams>
Tue, 25 Oct 1994 15:36:18 +0000 (15:36 +0000)
committerStephen Adams <edu/mit/csail/zurich/adams>
Tue, 25 Oct 1994 15:36:18 +0000 (15:36 +0000)
commit5c13557cd2642b8c0a4fdd0129bf0951a4b5b303
treee6ab8924d692dc2cbc895808b19881f7a73239d6
parent4674c3c6d58f83483bc7a85d9063092527d8628f
Numerous changes, either bug fixes or changes to accomodate the new
Edwin Win32 Screen.

The events have been tweaked.

Several entry points have been exported or written to allow
efficient update of the display character grid by the new Edwin
Win32 Screen driver.

The display code has been fixed.  It was seriously broken and then
heavily kludged-upon.  Now it does the right thing for WM_PAINT and
WM_ERASEBKGND.  This fixes the windows 3.1 problem of repainting the
whole screen of a resize.  It would probably be even better to
eliminate WM_ERASEBKGND completely and make the resize code invalidate
the orphan pixels which do not correspond to a character position.
This would prevent the `flash' as the screen is repainted after a
resize and then repainted again after Edwin has decided (or not) to
change the display (line wraps etc) to fit the new size.

Keyboard.  Added direct code for all the `function' keys (like PgUp,
f5 etc).  Removed MIT_TranslateMessage, which was the wrong thing
because it screwed non-edwin windows (like buttons, dialogs, menus,
...).  Most of the keys are now handled specially at the WM_KEYDOWN
level, avoiding WM_CHAR.  This makes it possible to generate something
for C-7 and M-C-<key>.  This is done in a very US keybaord layout
specific way.  The right thing is to ask what the key normally does
(the KEYMAP program on the Developer's network does this) and then do
the emacs thing only if the key is not o-umlaut or
grave-accent-modifier (`deadkey') or whatever.
v7/src/microcode/ntscreen.c