home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / NextDeveloper / Examples / AppKit / BackspaceViews / Life / Thinker.h < prev   
Text File  |  1991-12-09  |  4KB  |  199 lines

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