📄 checkevent.c
字号:
/* Copyright 1995 William R. Pearson *//* used only in Mac versions to provide mac multitasking */#include <stdlib.h>#ifdef __MWERKS__#include <sioux.h>#endif#define SLEEP 2L#define NIL_MOUSE_REGION 0L#define WNE_TRAP_NUM 0x60#define UNIMPL_TRAP_NUM 0x9F#define SUSPEND_RESUME_BIT 0x0001#define ACTIVATING 1#define RESUMING 1Boolean gDone, gWNEImplemented=0;EventRecord gTheEvent;Rect gDragRect, gSizeRect;voidInitEvent(){ gWNEImplemented=(NGetTrapAddress(WNE_TRAP_NUM,ToolTrap)!= NGetTrapAddress(UNIMPL_TRAP_NUM,ToolTrap)); }#define hiword(x) (((short *) &(x))[0])#define loword(x) (((short *) &(x))[1])static MenuHandle aMenu;/*ChkEvent(){}*/#ifdef TPLOTextern WindowPtr gDrawWindow;extern PicHandle aPic;#endifstatic long checkTime=0;voidChkEvent(){ EventRecord event; WindowPeek wp; Boolean gotEvent, SIOUXDidEvent; long choice; Str255 buf; if (TickCount() < checkTime) return; checkTime = TickCount()+60L; if (gWNEImplemented) gotEvent=WaitNextEvent(everyEvent-diskMask,&event,SLEEP,NIL_MOUSE_REGION); else { SystemTask(); gotEvent=GetNextEvent(everyEvent-diskMask,&event); } if (gotEvent) SIOUXDidEvent=SIOUXHandleOneEvent(&event); if (SIOUXDidEvent) return; if (event.what == nullEvent) { if (FrontWindow() == 0) InitCursor(); return; } if (SystemEvent(&event)) return; if (event.what == mouseDown) { switch (FindWindow(event.where, (WindowPtr *)&wp)) { case inMenuBar: InitCursor(); choice = MenuSelect(event.where); goto doMenu; case inDrag : DragWindow((WindowPtr)wp, event.where, &gDragRect); break; case inSysWindow: SystemClick(&event, (WindowPtr)wp); break; } } return;doMenu: switch (hiword(choice)) { case 1: GetMenuItemText(aMenu, loword(choice), buf); OpenDeskAcc(buf); break; case 2: exit(0); case 3: SystemEdit(loword(choice) - 1); break; } HiliteMenu(0);}#ifdef TPLOTWaitkey(keyval) int keyval;{ int key; EventRecord event; WindowPeek wp; long choice; Str255 buf; SystemTask(); if (gWNEImplemented) WaitNextEvent(everyEvent-diskMask,&event,SLEEP,NIL_MOUSE_REGION); else { SystemTask(); GetNextEvent(everyEvent-diskMask,&event); } InitCursor(); if (event.what == nullEvent) { return 0; } if (SystemEvent(&event)) return 0; if (event.what == updateEvt) { if ((WindowPtr)event.message == gDrawWindow) { BeginUpdate((WindowPtr)event.message); DrawPicture(aPic,&gDrawWindow->portRect); EndUpdate((WindowPtr)event.message); } else { BeginUpdate((WindowPtr)event.message); EndUpdate((WindowPtr)event.message); } return 0; } if (event.what == keyDown) return 1; if (event.what == mouseDown) { switch (FindWindow(event.where, (WindowPtr *)&wp)) { case inMenuBar: InitCursor(); choice = MenuSelect(event.where); goto doMenu; case inDrag : DragWindow((WindowPtr)wp, event.where, &gDragRect); break; case inSysWindow: SystemClick(&event, (WindowPtr)wp); break; case inGoAway : return 1; case inContent: SelectWindow((WindowPtr)wp); SetPort(gDrawWindow); DrawPicture(aPic,&gDrawWindow->portRect); break; } } return 0;doMenu: switch (hiword(choice)) { case 1: GetItem(aMenu, loword(choice), buf); OpenDeskAcc(buf); break; case 2: return 1; case 3: SystemEdit(loword(choice) - 1); break; } HiliteMenu(0); return 0;}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -