Pararena2/Sources/Idle.c

1 line
4.6 KiB
C
Raw Normal View History

/*============================================================*/ /*============================================================*/ /*== ==*/ /*== Idle Routines ==*/ /*== ==*/ /*== (event handling routines) ==*/ /*== ==*/ /*============================================================*/ /*============================================================*/ /*======================================================== Includes */ #include "AppleEvents.h" #include "Globals.h" #include "UnivUtilities.h" #include "Idle.h" #include "Menu.h" #include "MainWindow.h" #include "SoundUtils.h" #include <Sound.h> #include "Show_help.h" /*======================================================== DoMouseEvent */ void DoMouseEvent (void) { WindowPtr whichWindow; GrafPtr wasPort; Point tempPt; Rect sizeRect; long menuChoice, windSize; short thePart; thePart = FindWindow(theEvent.where, &whichWindow); switch (thePart) { case inMenuBar: menuChoice = MenuSelect(theEvent.where); DoMenuChoice(menuChoice); break; case inSysWindow: SystemClick(&theEvent, whichWindow); break; case inDrag: break; case inContent: break; case inGrow: break; case inGoAway: break; case inZoomIn: break; case inZoomOut: break; default: break; } } /*======================================================== DoKeyDown */ void DoKeyDown (void) { register char theChar; theChar = theEvent.message & charCodeMask; if ((theEvent.modifiers & cmdKey) != 0) DoMenuChoice(MenuKey(theChar)); else { if ((theChar == kTabKeyASCII) && (primaryMode == kPlayMode) && (pausing)) { pausing = FALSE; } else if (theChar == kHelpKeyASCII) { Show_help(rHelpDialogID, (StringPtr)"\pParaHelp", rHelpBasePictID, (StringPtr)"\pPararena Help", (StringPtr)"\p"); } } } /*======================================================== DoUpdateEvent */ void DoUpdateEvent (WindowPtr theWindow) { GrafPtr wasPort; GetPort(&wasPort); SetPort((GrafPtr)theWindow); BeginUpdate((GrafPtr)theWindow); if (theWindow == mainWndo) { if (splashIsUp) DoSplashScreen(); else RefreshMainWindow(); } EndUpdate(theWindow); SetPort((GrafPtr)wasPort); } /*======================================================== DoDiskEvent */ void DoDiskEvent (void) { Point dialogPt; short theErr; if (HiWrd(theEvent.message) != noErr) { SetPt(&dialogPt, kDILeft, kDITop); theErr = DIBadMount(dialogPt, theEvent.message); } } /*======================================================== WindowType */ short WindowType (WindowPtr theWindow) { if (theWindow == kNilPointer) return (kIsNilWindow); if (((WindowPeek)theWindow)->windowKind < 0) return (kIsDAWindow); return (kIsUnknownWindow); } /*======================================================== DoActivate */ void DoActivate (WindowPtr theWindow, Boolean isToActivate) { short typeIs; typeIs = WindowType(theWindow); } /*======================================================== DoActivateEvent */ void DoActivateEvent (void) { DoActivate((GrafPtr)theEvent.message, (theEvent.modifiers & activeFlag) != 0); } /*======================================================== DoSuspendResumeEvent */ void DoSuspendResumeEvent (void) { short nowVolume; switch ((theEvent.message >> 24) & 0x0FF) /* high byte of message */ { case kSuspendResumeMssg: inBackground = ((theEvent.message & kResumeMask) == 0); DoActivate(FrontWindow(), !inBackground); if (inBackground) { TurnSMSOff(); } else { GetSoundVol(&nowVolume); if (nowVolume != soundVolume) { wasSoundVolume = nowVolume; } } break; default: break; } } /*======================================================== HandleEvent */ void HandleEvent (void) { RgnHandle mouseRgn; Boolean gotEvent; if ( thisMac.hasWNE ) { mouseRgn = kNilPointer; gotEvent = WaitNextEvent(everyEvent, &theEvent, kSleepTime, mouseRgn); } else { SystemTask(); g