home *** CD-ROM | disk | FTP | other *** search
/ Big Green CD 8 / BGCD_8_Dev.iso / NEXTSTEP / Utilities / Fiend-1.4.1-src / Thinker.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-02-23  |  4.3 KB  |  213 lines

  1. #import <appkit/Application.h>
  2. #import <appkit/View.h>
  3. #import <dpsclient/dpsNeXT.h>
  4. #include <sys/resource.h>
  5. #import <drivers/event_status_driver.h>
  6.  
  7. #import "ModuleList.h"
  8.  
  9. #define NOWINDOW        (0)
  10. #define NORMALWINDOW    (1)
  11. #define BACKWINDOW        (2)
  12.  
  13. // sleeptier can't be higher than menus, unfortunately
  14. #define SAVERTIER (50)
  15. #define SLEEPTIER (18)
  16. #define BACKGROUNDTIER (-100)
  17.  
  18. // I'm not at all happy with BackSpace's time handling; it only works
  19. // for 49 days after rebooting (according to my calculations... I boot
  20. // a lot more often than that!) since it counds milliseconds in a
  21. // 32 bit unsigned int.  This problem would be solved if I stuffed the
  22. // time in a long long, but I think the compiler doesn't correctly do
  23. // 64 bit comparisons.  Time should probably stay in the unix
  24. // timeval struct.  Yuck! guess I should write functions for time
  25. // addition and comparison...
  26.  
  27. // typedef long long BStimeval;  //doesn't work
  28. typedef unsigned BStimeval;
  29.  
  30. // a function to return BackSpace's Thinker instance or it's equivalent
  31. id BSThinker();
  32.  
  33. enum BSEvents {BSDOSAVER, BSOPENFILE};
  34.  
  35. BStimeval currentTimeInMs();
  36.  
  37. float frandom();
  38. float randBetween(float a, float b);
  39.  
  40. @interface Thinker:Object
  41. {
  42.     id    spaceView;
  43.     id    settingsPanel;
  44.     id    spaceWindow;
  45.     id    normalWindow;
  46.     id    bigUnbufferedWindow;
  47.     id    bigBufferedWindow;
  48.  
  49.     BOOL timerValid, keepLooping;
  50.     BOOL doingSaver;
  51.     DPSTimedEntry timer;
  52.     
  53.     int windowType;
  54.     int realViewIndex;
  55.     int virtualViewIndex;
  56.     NXRect windowRect;
  57.     
  58.     NXZone *backZone;
  59.     
  60.     int screenCount;
  61.     id windMatrix;
  62.  
  63.     id screenSaver;
  64.     id screenLocker;
  65.     BOOL screenSaverVal;
  66.     id mySlider;
  67.  
  68.     id priorityLevel;
  69.     int priority;
  70.     
  71.     NXEventHandle evs;    //event driver file descriptor
  72.     double dimBrightness, normalBrightness;
  73.     
  74.     id viewSelectionBrowser;
  75.     ModuleList *moduleList;
  76.     id imageView;
  77.     NXScreen *screens;
  78.     id screenList;
  79.  
  80.     id image;
  81.     int globalTier;
  82.     
  83.     id password;
  84.     
  85.     id invisibleInspectorBox;
  86.     id commonImageInspector;
  87.     id nullInspector;
  88.     id spaceInspector;
  89.     id boinkInspector;
  90.     id currentInspector;
  91.     NXRect inspectorFrame;
  92.     id oldInspectorOwner;
  93.     BOOL browserValid;
  94.     id infoPanel;
  95.  
  96.     
  97.     char *fileToOpen;
  98.     BOOL openAnother;
  99.  
  100.     int windowHasBeenDisplayed;
  101.     id sleepWindow;
  102.     id cornerView;
  103. }
  104.  
  105. - appDidInit:sender;
  106. - appDidHide:sender;
  107. - appDidUnhide:sender;
  108. - createTimer;
  109. - removeTimer;
  110. - doDistributorLoop;
  111.  
  112. - installSpaceViewIntoWindow:w;
  113. - useNormalWindow;
  114. - (int) backingTypeForView:aView;
  115. - useBackWindow:(int)tier;
  116. - createBigWindowIfNecessaryForView:aView;
  117.  
  118. - getWindowType;
  119. - changeWindowType:sender;
  120. - changeWindowTypeAndRemember:(BOOL)rem;
  121.  
  122. - getScreenSaverSetting;
  123. - changeScreenSaverSetting:sender;
  124. - setScreenSaver:(BOOL)val andRemember:(BOOL)rem;
  125. - calcDimTime;
  126. - maybeDoScreenSaver:sender;
  127. - applicationDefined:(NXEvent *)theEvent;
  128. - showFakeScreenSaverAfterPause:sender;
  129. - showFakeScreenSaver:sender;
  130. - doScreenSaver:sender;
  131.  
  132. - getPrioritySetting;
  133. - changeSliderValue:sender;
  134. - saveSliderValue;
  135.  
  136. - setImageFromFile:(const char *)filename;
  137. - setImageFromName:(const char *)name;
  138. - commonImageInit;
  139. - getImageFile;
  140. - setImageFileFrom: sender;
  141.  
  142. @end
  143.  
  144.  
  145. @interface Thinker(thinkMore)
  146.  
  147. - getViewType;
  148. - selectRealViewIndex:sender;
  149. - setVirtualViewIndexAndIncrement:(BOOL)flag;
  150. - selectScreenSaverViews;
  151. - setWindowTitle;
  152.  
  153. - getScreenLockerSetting;
  154. - changeScreenLockerSetting:sender;
  155. - setScreenLocker:(BOOL)val andRemember:(BOOL)rem;
  156.  
  157. - backView;
  158. - showInfoPanel:sender;
  159. - showSettingsPanel: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.  
  213.