home *** CD-ROM | disk | FTP | other *** search
- /************************************************************************************
- * AboutBox.c
- *
- * from HexEdit, a simple hex editor
- * copyright 1993, Jim Bumgardner
- *
- ************************************************************************************/
-
- #include "HexEdit.h"
-
- pascal Boolean MyAboutFilter ( DialogPtr, EventRecord *, short *);
- long gStartTime;
-
- #define AboutDLOG 130
- #define AutoCloseTime 10*60 //LR :double display time
-
- void HexEditAboutBox( void ) //LR 960606 :fix warnings
- {
- GrafPtr savePort;
- DialogPtr dp;
- short itemHit;
- VersRecHndl vr;
- StringPtr myVersStr;
- ModalFilterUPP filterUPP = NewModalFilterProc( MyAboutFilter ); //LR :see below
-
- if ((vr = (VersRecHndl) GetResource('vers',1)) != NULL) {
- HLock((Handle) vr);
- myVersStr = (StringPtr) (((unsigned long) &(**vr).shortVersion[1]) +
- ((**vr).shortVersion[0]));
- }
- else
- myVersStr = "\p???";
-
- ParamText(myVersStr,"\p","\p","\p");
-
- GetPort(&savePort);
- dp = GetNewDialog(AboutDLOG, NULL, (WindowPtr) -1L);
- gStartTime = TickCount();
-
- ModalDialog( filterUPP, &itemHit ); //LR :Universal Headers (& PPC) compliant
-
- DisposeDialog(dp);
- SetPort(savePort);
- if (vr)
- {
- HUnlock((Handle) vr);
- ReleaseResource((Handle) vr);
- }
- }
-
- pascal Boolean MyAboutFilter(DialogPtr dp, EventRecord *ep, short *itemHit)
- {
- #pragma unused (itemHit) //LR :fix warnings
-
- switch (ep->what) {
- case mouseDown: // For About Box - trap all events.
- case keyDown:
- case autoKey:
- return true;
- break;
- case updateEvt:
- SetPort(dp);
- TextFont(1);
- TextSize(9);
- break;
- case nullEvent:
- if (TickCount() - gStartTime > AutoCloseTime)
- return true;
- default:
- break;
- }
- return false;
- }
-