|
|
1.1 ! root 1: ! 2: #import <appkit/Application.h> ! 3: #import <appkit/View.h> ! 4: #import <dpsclient/dpsNeXT.h> ! 5: #include <sys/resource.h> ! 6: #import <drivers/event_status_driver.h> ! 7: ! 8: #import "ModuleList.h" ! 9: ! 10: #define NOWINDOW (0) ! 11: #define NORMALWINDOW (1) ! 12: #define BACKWINDOW (2) ! 13: ! 14: // sleeptier can't be higher than menus, unfortunately ! 15: #define SAVERTIER (50) ! 16: #define SLEEPTIER (18) ! 17: #define BACKGROUNDTIER (-100) ! 18: ! 19: // I'm not at all happy with BackSpace's time handling; it only works ! 20: // for 49 days after rebooting (according to my calculations... I boot ! 21: // a lot more often than that!) since it counds milliseconds in a ! 22: // 32 bit unsigned int. This problem would be solved if I stuffed the ! 23: // time in a long long, but I think the compiler doesn't correctly do ! 24: // 64 bit comparisons. Time should probably stay in the unix ! 25: // timeval struct. Yuck! guess I should write functions for time ! 26: // addition and comparison... ! 27: ! 28: // typedef long long BStimeval; //doesn't work ! 29: typedef unsigned BStimeval; ! 30: ! 31: // a function to return BackSpace's Thinker instance or it's equivalent ! 32: id BSThinker(); ! 33: ! 34: enum BSEvents {BSDOSAVER, BSOPENFILE}; ! 35: ! 36: BStimeval currentTimeInMs(); ! 37: ! 38: float frandom(); ! 39: float randBetween(float a, float b); ! 40: ! 41: @interface Thinker:Object ! 42: { ! 43: id spaceView; ! 44: ! 45: id spaceWindow; ! 46: id normalWindow; ! 47: id bigUnbufferedWindow; ! 48: id bigBufferedWindow; ! 49: ! 50: BOOL timerValid, keepLooping; ! 51: BOOL doingSaver; ! 52: DPSTimedEntry timer; ! 53: ! 54: int windowType; ! 55: int realViewIndex; ! 56: int virtualViewIndex; ! 57: NXRect windowRect; ! 58: ! 59: NXZone *backZone; ! 60: ! 61: int screenCount; ! 62: id windMatrix; ! 63: ! 64: id screenSaver; ! 65: id screenLocker; ! 66: BOOL screenSaverVal; ! 67: id mySlider; ! 68: ! 69: id priorityLevel; ! 70: int priority; ! 71: ! 72: NXEventHandle evs; //event driver file descriptor ! 73: double dimBrightness, normalBrightness; ! 74: ! 75: id viewSelectionBrowser; ! 76: ModuleList *moduleList; ! 77: id imageView; ! 78: NXScreen *screens; ! 79: id screenList; ! 80: ! 81: id image; ! 82: int globalTier; ! 83: ! 84: id password; ! 85: ! 86: id invisibleInspectorBox; ! 87: id commonImageInspector; ! 88: id nullInspector; ! 89: id spaceInspector; ! 90: id boinkInspector; ! 91: id currentInspector; ! 92: NXRect inspectorFrame; ! 93: id oldInspectorOwner; ! 94: BOOL browserValid; ! 95: id infoPanel; ! 96: ! 97: ! 98: char *fileToOpen; ! 99: BOOL openAnother; ! 100: ! 101: int windowHasBeenDisplayed; ! 102: id sleepWindow; ! 103: id cornerView; ! 104: } ! 105: ! 106: - appDidInit:sender; ! 107: - appDidHide:sender; ! 108: - appDidUnhide:sender; ! 109: - createTimer; ! 110: - removeTimer; ! 111: - doDistributorLoop; ! 112: ! 113: - installSpaceViewIntoWindow:w; ! 114: - useNormalWindow; ! 115: - (int) backingTypeForView:aView; ! 116: - useBackWindow:(int)tier; ! 117: - createBigWindowIfNecessaryForView:aView; ! 118: ! 119: - getWindowType; ! 120: - changeWindowType:sender; ! 121: - changeWindowTypeAndRemember:(BOOL)rem; ! 122: ! 123: - getScreenSaverSetting; ! 124: - changeScreenSaverSetting:sender; ! 125: - setScreenSaver:(BOOL)val andRemember:(BOOL)rem; ! 126: - calcDimTime; ! 127: - maybeDoScreenSaver:sender; ! 128: - applicationDefined:(NXEvent *)theEvent; ! 129: - showFakeScreenSaverAfterPause:sender; ! 130: - showFakeScreenSaver:sender; ! 131: - doScreenSaver:sender; ! 132: ! 133: - getPrioritySetting; ! 134: - changeSliderValue:sender; ! 135: - saveSliderValue; ! 136: ! 137: - setImageFromFile: (const char *) filename; ! 138: - setImageFromName: (const char *) name; ! 139: - commonImageInit; ! 140: - getImageFile; ! 141: - setImageFileFrom: sender; ! 142: ! 143: @end ! 144: ! 145: ! 146: @interface Thinker(thinkMore) ! 147: ! 148: - getViewType; ! 149: - selectRealViewIndex:sender; ! 150: - setVirtualViewIndexAndIncrement:(BOOL)flag; ! 151: - selectScreenSaverViews; ! 152: - setWindowTitle; ! 153: ! 154: - getScreenLockerSetting; ! 155: - changeScreenLockerSetting:sender; ! 156: - setScreenLocker:(BOOL)val andRemember:(BOOL)rem; ! 157: ! 158: - backView; ! 159: - showInfoPanel:sender; ! 160: ! 161: - createSleepWindow; ! 162: - setSleepCorner:(int)val; ! 163: - getHotCornerSetting; ! 164: ! 165: @end ! 166: ! 167: ! 168: @interface Thinker(ioctls) ! 169: ! 170: - normalMode; ! 171: - screenSaverMode; ! 172: ! 173: - blackOutAllScreens; ! 174: - unBlackOutAllScreens; ! 175: ! 176: - getDimBrightness:(double *)b; ! 177: - _setDimBrightness :(double *)b; ! 178: ! 179: - getNormalBrightness :(double *)b; ! 180: ! 181: - getDimTime :(double *)t; ! 182: ! 183: @end ! 184: ! 185: @interface Thinker(inspector) ! 186: ! 187: - commonImageInspector; ! 188: - nullInspector; ! 189: - spaceInspector; ! 190: - boinkInspector; ! 191: - revertToDefaultImage:sender; ! 192: - (BOOL)browser:sender columnIsValid:(int)column; ! 193: - addCellWithString:(const char *)str at:(int)row toMatrix:matrix; ! 194: - (int)browser:sender fillMatrix:matrix inColumn:(int)column; ! 195: ! 196: - loadViewsFrom: (const char *) dirname; ! 197: - doDelayedOpenFile; ! 198: ! 199: - (const char *) appDirectory; ! 200: - (const char *) moduleDirectory:(const char *)name; ! 201: - (struct mach_header *) headerForModule:(const char *)name; ! 202: ! 203: @end ! 204: ! 205: @interface View(someOptionalMethods) ! 206: ! 207: - newWindow; ! 208: - enteredScreenSaverMode; ! 209: - willExitScreenSaverMode; ! 210: ! 211: @end ! 212:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.