Adjust the mode-switching code to provide smoother transitions.

This leaves the SHR screen active throughout the mode switch.
This commit is contained in:
Stephen Heumann 2016-09-28 23:22:16 -05:00
parent 26037d8c62
commit a11e065a35
2 changed files with 8 additions and 6 deletions

View File

@ -124,16 +124,18 @@ static void ChangeResolution(int rez) {
return; /* Already in right mode, so don't change things */ return; /* Already in right mode, so don't change things */
} }
/* Perform the basic procedure described in IIgs TN #4 */ /* Perform the basic procedure described in IIgs TN #4,
* with some adjustments to provide a smoother transition.
*/
CloseAllNDAs(); CloseAllNDAs();
QDAuxShutDown(); QDAuxShutDown();
SetMasterSCB(masterSCB | 0x100); /* To leave SHR screen active */
QDShutDown(); QDShutDown();
if (dpSpace == NULL) if (dpSpace == NULL)
dpSpace = NewHandle(0x0300, userid(), dpSpace = NewHandle(0x0300, userid(),
attrLocked|attrFixed|attrNoCross|attrBank, 0x00000000); attrLocked|attrFixed|attrNoCross|attrBank, 0x00000000);
QDStartUp((Word) *dpSpace, (rez == 640) ? 0xC087 : 0xC000, 0, userid()); QDStartUp((Word) *dpSpace, (rez == 640) ? 0xC187 : 0xC100, 0, userid());
/* SCB 0x87 gives 640 mode with our custom gray palette */ /* SCB 0x87 gives 640 mode with our custom gray palette */
GrafOff();
QDAuxStartUp(); QDAuxStartUp();
ClampMouse(0, (rez == 640) ? 639 : 319, 0, 199); ClampMouse(0, (rez == 640) ? 639 : 319, 0, 199);
HomeMouse(); HomeMouse();
@ -143,7 +145,6 @@ static void ChangeResolution(int rez) {
MenuNewRes(); MenuNewRes();
CtlNewRes(); CtlNewRes();
RefreshDesktop(NULL); RefreshDesktop(NULL);
GrafOn();
/* Position new connection window at default location for new mode */ /* Position new connection window at default location for new mode */
if (rez == 320) { if (rez == 320) {

View File

@ -124,13 +124,14 @@ void DoConnect (void) {
SysBeep(); SysBeep();
goto errorReturn; goto errorReturn;
} }
CloseConnectStatusWindow();
DoClose(newConnWindow);
InitVNCWindow(); InitVNCWindow();
CloseConnectStatusWindow();
InitCursor(); InitCursor();
DoClose(newConnWindow);
DisableMItem(fileNewConnection); DisableMItem(fileNewConnection);
myEvent.wmTaskMask = 0x001D79FE; /* don't let TaskMaster process keys */ myEvent.wmTaskMask = 0x001D79FE; /* don't let TaskMaster process keys */