Annotation of Examples/AppKit/Backspace/Thinker.h, revision 1.1.1.1

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.