Changeset 9895

Show
Ignore:
Timestamp:
03/11/09 11:34:29 (5 years ago)
Author:
robert
Message:

Converted tabs to four spaces

Location:
OpenSceneGraph/trunk/src/osgViewer
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/src/osgViewer/DarwinUtils.h

    r9879 r9895  
    3030 
    3131    public: 
    32                 class WindowAdapter : public osg::Referenced { 
    33                          
    34                         public: 
    35                                 WindowAdapter() : osg::Referenced() {} 
    36                                  
    37                                 virtual bool valid() = 0; 
    38                                 virtual void getWindowBounds(CGRect& rect) = 0; 
    39                                 virtual osgViewer::GraphicsWindow* getWindow() = 0; 
    40                                  
    41                         protected: 
    42                                 virtual ~WindowAdapter() {} 
    43                 }; 
    44                  
     32        class WindowAdapter : public osg::Referenced { 
     33             
     34            public: 
     35                WindowAdapter() : osg::Referenced() {} 
     36                 
     37                virtual bool valid() = 0; 
     38                virtual void getWindowBounds(CGRect& rect) = 0; 
     39                virtual osgViewer::GraphicsWindow* getWindow() = 0; 
     40                 
     41            protected: 
     42                virtual ~WindowAdapter() {} 
     43        }; 
     44         
    4545        MenubarController();         
    4646        static MenubarController* instance(); 
     
    5252    private:  
    5353        typedef std::list< osg::ref_ptr< WindowAdapter > > WindowList; 
    54         WindowList                              _list; 
    55         bool                                    _menubarShown; 
    56         CGRect                                  _availRect; 
    57         CGRect                                  _mainScreenBounds; 
    58         OpenThreads::Mutex              _mutex; 
     54        WindowList          _list; 
     55        bool                _menubarShown; 
     56        CGRect              _availRect; 
     57        CGRect              _mainScreenBounds; 
     58        OpenThreads::Mutex  _mutex; 
    5959         
    6060}; 
     
    6565{ 
    6666    public: 
    67                 DarwinWindowingSystemInterface(); 
    68                  
    69                 /** dtor */ 
    70                 ~DarwinWindowingSystemInterface(); 
    71                  
    72         /** @return a CGDirectDisplayID for a ScreenIdentifier */ 
    73         CGDirectDisplayID getDisplayID(const osg::GraphicsContext::ScreenIdentifier& si); 
    74          
    75         /** @return count of attached screens */ 
    76         virtual unsigned int getNumScreens(const osg::GraphicsContext::ScreenIdentifier& si) ; 
    77          
    78         virtual void getScreenSettings(const osg::GraphicsContext::ScreenIdentifier& si, osg::GraphicsContext::ScreenSettings & resolution); 
     67        DarwinWindowingSystemInterface(); 
    7968 
    80         virtual void enumerateScreenSettings(const osg::GraphicsContext::ScreenIdentifier& screenIdentifier, osg::GraphicsContext::ScreenSettingsList & resolutionList); 
     69        /** dtor */ 
     70        ~DarwinWindowingSystemInterface(); 
    8171 
    82         /** return the top left coord of a specific screen in global screen space */ 
    83         void getScreenTopLeft(const osg::GraphicsContext::ScreenIdentifier& si, int& x, int& y); 
    84          
    85         /** implementation of setScreenResolution */ 
    86         virtual bool setScreenResolution(const osg::GraphicsContext::ScreenIdentifier& screenIdentifier, unsigned int width, unsigned int height) ; 
     72        /** @return a CGDirectDisplayID for a ScreenIdentifier */ 
     73        CGDirectDisplayID getDisplayID(const osg::GraphicsContext::ScreenIdentifier& si); 
    8774 
    88         /** implementation of setScreenRefreshRate */ 
    89         virtual bool setScreenRefreshRate(const osg::GraphicsContext::ScreenIdentifier& screenIdentifier, double refreshRate); 
    90          
    91          
    92         /** returns screen-ndx containing rect x,y,w,h */ 
    93         unsigned int getScreenContaining(int x, int y, int w, int h); 
    94          
    95         protected: 
    96          
    97                 template<class PixelBufferImplementation, class GraphicsWindowImplementation> 
    98                 osg::GraphicsContext* createGraphicsContextImplementation(osg::GraphicsContext::Traits* traits) 
    99                 { 
    100                         if (traits->pbuffer) 
    101                         { 
    102                                 osg::ref_ptr<PixelBufferImplementation> pbuffer = new PixelBufferImplementation(traits); 
    103                                 if (pbuffer->valid()) return pbuffer.release(); 
    104                                 else return 0; 
    105                         } 
    106                         else 
    107                         { 
    108                                 osg::ref_ptr<GraphicsWindowImplementation> window = new GraphicsWindowImplementation(traits); 
    109                                 if (window->valid()) return window.release(); 
    110                                 else return 0; 
    111                         } 
    112                 } 
    113          
     75        /** @return count of attached screens */ 
     76        virtual unsigned int getNumScreens(const osg::GraphicsContext::ScreenIdentifier& si) ; 
     77 
     78        virtual void getScreenSettings(const osg::GraphicsContext::ScreenIdentifier& si, osg::GraphicsContext::ScreenSettings & resolution); 
     79 
     80        virtual void enumerateScreenSettings(const osg::GraphicsContext::ScreenIdentifier& screenIdentifier, osg::GraphicsContext::ScreenSettingsList & resolutionList); 
     81 
     82        /** return the top left coord of a specific screen in global screen space */ 
     83        void getScreenTopLeft(const osg::GraphicsContext::ScreenIdentifier& si, int& x, int& y); 
     84 
     85        /** implementation of setScreenResolution */ 
     86        virtual bool setScreenResolution(const osg::GraphicsContext::ScreenIdentifier& screenIdentifier, unsigned int width, unsigned int height) ; 
     87 
     88        /** implementation of setScreenRefreshRate */ 
     89        virtual bool setScreenRefreshRate(const osg::GraphicsContext::ScreenIdentifier& screenIdentifier, double refreshRate); 
     90 
     91 
     92        /** returns screen-ndx containing rect x,y,w,h */ 
     93        unsigned int getScreenContaining(int x, int y, int w, int h); 
    11494     
    115         private: 
     95    protected: 
     96     
     97        template<class PixelBufferImplementation, class GraphicsWindowImplementation> 
     98        osg::GraphicsContext* createGraphicsContextImplementation(osg::GraphicsContext::Traits* traits) 
     99        { 
     100            if (traits->pbuffer) 
     101            { 
     102                osg::ref_ptr<PixelBufferImplementation> pbuffer = new PixelBufferImplementation(traits); 
     103                if (pbuffer->valid()) return pbuffer.release(); 
     104                else return 0; 
     105            } 
     106            else 
     107            { 
     108                osg::ref_ptr<GraphicsWindowImplementation> window = new GraphicsWindowImplementation(traits); 
     109                if (window->valid()) return window.release(); 
     110                else return 0; 
     111            } 
     112        } 
     113     
     114     
     115    private: 
    116116        CGDisplayCount        _displayCount; 
    117117        CGDirectDisplayID*    _displayIds; 
  • OpenSceneGraph/trunk/src/osgViewer/DarwinUtils.mm

    r9879 r9895  
    1818static inline CGRect toCGRect(NSRect nsRect) 
    1919{ 
    20         CGRect cgRect; 
    21  
    22         cgRect.origin.x = nsRect.origin.x; 
    23         cgRect.origin.y = nsRect.origin.y; 
    24         cgRect.size.width = nsRect.size.width; 
    25         cgRect.size.height = nsRect.size.height; 
    26  
    27         return cgRect; 
     20    CGRect cgRect; 
     21 
     22    cgRect.origin.x = nsRect.origin.x; 
     23    cgRect.origin.y = nsRect.origin.y; 
     24    cgRect.size.width = nsRect.size.width; 
     25    cgRect.size.height = nsRect.size.height; 
     26 
     27    return cgRect; 
    2828} 
    2929 
    3030 
    3131MenubarController::MenubarController() 
    32 :       osg::Referenced(),  
     32:    osg::Referenced(),  
    3333    _list(),  
    3434    _menubarShown(false), 
    3535    _mutex()  
    3636{ 
    37         // the following code will query the system for the available rect on the main-display (typically the displaying showing the menubar + the dock 
    38  
    39         NSRect rect = [[[NSScreen screens] objectAtIndex: 0] visibleFrame]; 
    40         _availRect = toCGRect(rect); 
    41          
    42         // now we need the rect of the main-display including the menubar and the dock 
    43         _mainScreenBounds = CGDisplayBounds( CGMainDisplayID() ); 
    44  
    45  
    46         // NSRect 0/0 is bottom/left, _mainScreenBounds 0/0 is top/left 
    47         _availRect.origin.y = _mainScreenBounds.size.height - _availRect.size.height - _availRect.origin.y; 
    48          
    49                  
    50         // hide the menubar initially 
    51         SetSystemUIMode(kUIModeAllHidden, kUIOptionAutoShowMenuBar); 
     37    // the following code will query the system for the available rect on the main-display (typically the displaying showing the menubar + the dock 
     38 
     39    NSRect rect = [[[NSScreen screens] objectAtIndex: 0] visibleFrame]; 
     40    _availRect = toCGRect(rect); 
     41     
     42    // now we need the rect of the main-display including the menubar and the dock 
     43    _mainScreenBounds = CGDisplayBounds( CGMainDisplayID() ); 
     44 
     45 
     46    // NSRect 0/0 is bottom/left, _mainScreenBounds 0/0 is top/left 
     47    _availRect.origin.y = _mainScreenBounds.size.height - _availRect.size.height - _availRect.origin.y; 
     48     
     49         
     50    // hide the menubar initially 
     51    SetSystemUIMode(kUIModeAllHidden, kUIOptionAutoShowMenuBar); 
    5252} 
    5353 
     
    9090    unsigned int windowsIntersectingMainScreen = 0; 
    9191    for(WindowList::iterator i = _list.begin(); i != _list.end(); ) { 
    92                 WindowAdapter* wi = (*i).get(); 
     92        WindowAdapter* wi = (*i).get(); 
    9393        if (wi->valid()) { 
    9494            CGRect windowBounds; 
    95                         wi->getWindowBounds(windowBounds); 
    96                          
    97                         if (CGRectIntersectsRect(_mainScreenBounds, windowBounds)) 
     95            wi->getWindowBounds(windowBounds); 
     96             
     97            if (CGRectIntersectsRect(_mainScreenBounds, windowBounds)) 
    9898            { 
    9999                ++windowsIntersectingMainScreen; 
    100100                // osg::notify(osg::ALWAYS) << "testing rect " << windowBounds.origin.x << "/" << windowBounds.origin.y << " " << windowBounds.size.width << "x" << windowBounds.size.height << std::endl; 
    101                                 // osg::notify(osg::ALWAYS) << "against      " << _availRect.origin.x << "/" << _availRect.origin.y << " " << _availRect.size.width << "x" << _availRect.size.height << std::endl; 
     101                // osg::notify(osg::ALWAYS) << "against      " << _availRect.origin.x << "/" << _availRect.origin.y << " " << _availRect.size.width << "x" << _availRect.size.height << std::endl; 
    102102                // the window intersects the main-screen, does it intersect with the menubar/dock? 
    103103                if (((_availRect.origin.y > _mainScreenBounds.origin.y) && (_availRect.origin.y > windowBounds.origin.y)) || 
     
    133133static double getDictDouble (CFDictionaryRef refDict, CFStringRef key) 
    134134{ 
    135         double value; 
    136         CFNumberRef number_value = (CFNumberRef) CFDictionaryGetValue(refDict, key); 
    137         if (!number_value) // if can't get a number for the dictionary 
    138                 return -1;  // fail 
    139         if (!CFNumberGetValue(number_value, kCFNumberDoubleType, &value)) // or if cant convert it 
    140                 return -1; // fail 
    141         return value; // otherwise return the long value 
     135    double value; 
     136    CFNumberRef number_value = (CFNumberRef) CFDictionaryGetValue(refDict, key); 
     137    if (!number_value) // if can't get a number for the dictionary 
     138        return -1;  // fail 
     139    if (!CFNumberGetValue(number_value, kCFNumberDoubleType, &value)) // or if cant convert it 
     140        return -1; // fail 
     141    return value; // otherwise return the long value 
    142142} 
    143143 
     
    145145static long getDictLong(CFDictionaryRef refDict, CFStringRef key)        // const void* key? 
    146146{ 
    147         long value = 0; 
    148         CFNumberRef number_value = (CFNumberRef)CFDictionaryGetValue(refDict, key);  
    149         if (!number_value) // if can't get a number for the dictionary 
    150                 return -1;  // fail 
    151         if (!CFNumberGetValue(number_value, kCFNumberLongType, &value)) // or if cant convert it 
    152                 return -1; // fail 
    153         return value; 
     147    long value = 0; 
     148    CFNumberRef number_value = (CFNumberRef)CFDictionaryGetValue(refDict, key);  
     149    if (!number_value) // if can't get a number for the dictionary 
     150        return -1;  // fail 
     151    if (!CFNumberGetValue(number_value, kCFNumberLongType, &value)) // or if cant convert it 
     152        return -1; // fail 
     153    return value; 
    154154} 
    155155 
     
    158158/** ctor, get a list of all attached displays */ 
    159159DarwinWindowingSystemInterface::DarwinWindowingSystemInterface() : 
    160         _displayCount(0), 
    161         _displayIds(NULL) 
    162 { 
    163         ProcessSerialNumber sn = { 0, kCurrentProcess }; 
    164         TransformProcessType(&sn,kProcessTransformToForegroundApplication); 
    165         SetFrontProcess(&sn); 
    166          
    167         if( CGGetActiveDisplayList( 0, NULL, &_displayCount ) != CGDisplayNoErr ) 
    168                 osg::notify(osg::WARN) << "DarwinWindowingSystemInterface: could not get # of screens" << std::endl; 
    169                  
    170         _displayIds = new CGDirectDisplayID[_displayCount]; 
    171         if( CGGetActiveDisplayList( _displayCount, _displayIds, &_displayCount ) != CGDisplayNoErr ) 
    172                 osg::notify(osg::WARN) << "DarwinWindowingSystemInterface: CGGetActiveDisplayList failed" << std::endl; 
    173          
    174         } 
     160    _displayCount(0), 
     161    _displayIds(NULL) 
     162{ 
     163    ProcessSerialNumber sn = { 0, kCurrentProcess }; 
     164    TransformProcessType(&sn,kProcessTransformToForegroundApplication); 
     165    SetFrontProcess(&sn); 
     166     
     167    if( CGGetActiveDisplayList( 0, NULL, &_displayCount ) != CGDisplayNoErr ) 
     168        osg::notify(osg::WARN) << "DarwinWindowingSystemInterface: could not get # of screens" << std::endl; 
     169         
     170    _displayIds = new CGDirectDisplayID[_displayCount]; 
     171    if( CGGetActiveDisplayList( _displayCount, _displayIds, &_displayCount ) != CGDisplayNoErr ) 
     172        osg::notify(osg::WARN) << "DarwinWindowingSystemInterface: CGGetActiveDisplayList failed" << std::endl; 
     173     
     174    } 
    175175 
    176176/** dtor */ 
    177177DarwinWindowingSystemInterface::~DarwinWindowingSystemInterface() 
    178178{ 
    179         if (osg::Referenced::getDeleteHandler()) 
    180         { 
    181                 osg::Referenced::getDeleteHandler()->setNumFramesToRetainObjects(0); 
    182                 osg::Referenced::getDeleteHandler()->flushAll(); 
    183         } 
    184  
    185         if (_displayIds) delete[] _displayIds; 
    186         _displayIds = NULL; 
     179    if (osg::Referenced::getDeleteHandler()) 
     180    { 
     181        osg::Referenced::getDeleteHandler()->setNumFramesToRetainObjects(0); 
     182        osg::Referenced::getDeleteHandler()->flushAll(); 
     183    } 
     184 
     185    if (_displayIds) delete[] _displayIds; 
     186    _displayIds = NULL; 
    187187} 
    188188 
    189189/** @return a CGDirectDisplayID for a ScreenIdentifier */ 
    190190CGDirectDisplayID DarwinWindowingSystemInterface::getDisplayID(const osg::GraphicsContext::ScreenIdentifier& si) { 
    191         if (si.screenNum < static_cast<int>(_displayCount)) 
    192                 return _displayIds[si.screenNum]; 
    193         else { 
    194                 osg::notify(osg::WARN) << "GraphicsWindowCarbon :: invalid screen # " << si.screenNum << ", returning main-screen instead" << std::endl; 
    195                 return _displayIds[0]; 
    196         } 
     191    if (si.screenNum < static_cast<int>(_displayCount)) 
     192        return _displayIds[si.screenNum]; 
     193    else { 
     194        osg::notify(osg::WARN) << "GraphicsWindowCarbon :: invalid screen # " << si.screenNum << ", returning main-screen instead" << std::endl; 
     195        return _displayIds[0]; 
     196    } 
    197197} 
    198198 
     
    200200unsigned int DarwinWindowingSystemInterface::getNumScreens(const osg::GraphicsContext::ScreenIdentifier& si)  
    201201{ 
    202         return _displayCount; 
     202    return _displayCount; 
    203203} 
    204204 
    205205void DarwinWindowingSystemInterface::getScreenSettings(const osg::GraphicsContext::ScreenIdentifier& si, osg::GraphicsContext::ScreenSettings & resolution) 
    206206{ 
    207         CGDirectDisplayID id = getDisplayID(si); 
    208         resolution.width = CGDisplayPixelsWide(id); 
    209         resolution.height = CGDisplayPixelsHigh(id); 
    210         resolution.colorDepth = CGDisplayBitsPerPixel(id); 
    211         resolution.refreshRate = getDictDouble (CGDisplayCurrentMode(id), kCGDisplayRefreshRate);        // Not tested 
    212         if (resolution.refreshRate<0) resolution.refreshRate = 0; 
     207    CGDirectDisplayID id = getDisplayID(si); 
     208    resolution.width = CGDisplayPixelsWide(id); 
     209    resolution.height = CGDisplayPixelsHigh(id); 
     210    resolution.colorDepth = CGDisplayBitsPerPixel(id); 
     211    resolution.refreshRate = getDictDouble (CGDisplayCurrentMode(id), kCGDisplayRefreshRate);        // Not tested 
     212    if (resolution.refreshRate<0) resolution.refreshRate = 0; 
    213213} 
    214214 
     
    241241/** return the top left coord of a specific screen in global screen space */ 
    242242void DarwinWindowingSystemInterface::getScreenTopLeft(const osg::GraphicsContext::ScreenIdentifier& si, int& x, int& y) { 
    243         CGRect bounds = CGDisplayBounds( getDisplayID(si) ); 
    244         x = static_cast<int>(bounds.origin.x); 
    245         y = static_cast<int>(bounds.origin.y); 
    246          
    247         // osg::notify(osg::DEBUG_INFO) << "topleft of screen " << si.screenNum <<" " << bounds.origin.x << "/" << bounds.origin.y << std::endl; 
     243    CGRect bounds = CGDisplayBounds( getDisplayID(si) ); 
     244    x = static_cast<int>(bounds.origin.x); 
     245    y = static_cast<int>(bounds.origin.y); 
     246     
     247    // osg::notify(osg::DEBUG_INFO) << "topleft of screen " << si.screenNum <<" " << bounds.origin.x << "/" << bounds.origin.y << std::endl; 
    248248} 
    249249 
     
    253253bool DarwinWindowingSystemInterface::setScreenResolution(const osg::GraphicsContext::ScreenIdentifier& screenIdentifier, unsigned int width, unsigned int height)  
    254254{  
    255         CGDirectDisplayID displayID = getDisplayID(screenIdentifier); 
    256          
    257         // add next line and on following line replace hard coded depth and refresh rate 
    258         CGRefreshRate refresh =  getDictDouble (CGDisplayCurrentMode(displayID), kCGDisplayRefreshRate);   
    259         CFDictionaryRef display_mode_values = 
    260                 CGDisplayBestModeForParametersAndRefreshRate( 
    261                                                 displayID,  
    262                                                 CGDisplayBitsPerPixel(displayID),  
    263                                                 width, height,   
    264                                                 refresh,   
    265                                                 NULL); 
    266  
    267                                                                            
    268         CGDisplaySwitchToMode(displayID, display_mode_values);     
    269         return true;  
     255    CGDirectDisplayID displayID = getDisplayID(screenIdentifier); 
     256     
     257    // add next line and on following line replace hard coded depth and refresh rate 
     258    CGRefreshRate refresh =  getDictDouble (CGDisplayCurrentMode(displayID), kCGDisplayRefreshRate);   
     259    CFDictionaryRef display_mode_values = 
     260        CGDisplayBestModeForParametersAndRefreshRate( 
     261                        displayID,  
     262                        CGDisplayBitsPerPixel(displayID),  
     263                        width, height,   
     264                        refresh,   
     265                        NULL); 
     266 
     267                                       
     268    CGDisplaySwitchToMode(displayID, display_mode_values);     
     269    return true;  
    270270} 
    271271 
    272272/** implementation of setScreenRefreshRate */ 
    273273bool DarwinWindowingSystemInterface::setScreenRefreshRate(const osg::GraphicsContext::ScreenIdentifier& screenIdentifier, double refreshRate) {  
    274          
    275         boolean_t  success(false); 
    276         unsigned width, height; 
    277         getScreenResolution(screenIdentifier, width, height); 
    278          
    279         CGDirectDisplayID displayID = getDisplayID(screenIdentifier); 
    280          
    281         // add next line and on following line replace hard coded depth and refresh rate 
    282         CFDictionaryRef display_mode_values = 
    283                 CGDisplayBestModeForParametersAndRefreshRate( 
    284                                                 displayID,  
    285                                                 CGDisplayBitsPerPixel(displayID),  
    286                                                 width, height,   
    287                                                 refreshRate,   
    288                                                 &success); 
    289  
    290                                                                            
    291         if (success) 
    292                 CGDisplaySwitchToMode(displayID, display_mode_values);     
    293                  
    294         return (success != 0); 
     274     
     275    boolean_t  success(false); 
     276    unsigned width, height; 
     277    getScreenResolution(screenIdentifier, width, height); 
     278     
     279    CGDirectDisplayID displayID = getDisplayID(screenIdentifier); 
     280     
     281    // add next line and on following line replace hard coded depth and refresh rate 
     282    CFDictionaryRef display_mode_values = 
     283        CGDisplayBestModeForParametersAndRefreshRate( 
     284                        displayID,  
     285                        CGDisplayBitsPerPixel(displayID),  
     286                        width, height,   
     287                        refreshRate,   
     288                        &success); 
     289 
     290                                       
     291    if (success) 
     292        CGDisplaySwitchToMode(displayID, display_mode_values);     
     293         
     294    return (success != 0); 
    295295} 
    296296 
     
    298298unsigned int DarwinWindowingSystemInterface::getScreenContaining(int x, int y, int w, int h) 
    299299{ 
    300         CGRect rect = CGRectMake(x,y,w,h); 
    301         for(unsigned int i = 0; i < _displayCount; ++i) { 
    302                 CGRect bounds = CGDisplayBounds( getDisplayID(i) ); 
    303                 if (CGRectIntersectsRect(bounds, rect)) { 
    304                         return i; 
    305                 } 
    306         } 
    307          
    308         return 0; 
    309 } 
    310  
    311  
    312  
    313  
    314  
    315  
    316 } 
     300    CGRect rect = CGRectMake(x,y,w,h); 
     301    for(unsigned int i = 0; i < _displayCount; ++i) { 
     302        CGRect bounds = CGDisplayBounds( getDisplayID(i) ); 
     303        if (CGRectIntersectsRect(bounds, rect)) { 
     304            return i; 
     305        } 
     306    } 
     307     
     308    return 0; 
     309} 
     310 
     311 
     312 
     313 
     314 
     315 
     316} 
  • OpenSceneGraph/trunk/src/osgViewer/GraphicsWindowCocoa.mm

    r9879 r9895  
    143143std::ostream& operator<<(std::ostream& os, const NSRect& rect)  
    144144{ 
    145         os << rect.origin.x << "/" << rect.origin.y << " " << rect.size.width << "x" << rect.size.height; 
    146         return os; 
     145    os << rect.origin.x << "/" << rect.origin.y << " " << rect.size.width << "x" << rect.size.height; 
     146    return os; 
    147147} 
    148148 
     
    158158    NSRect frame = [[[NSScreen screens] objectAtIndex: 0] frame]; 
    159159    float y = frame.size.height - rect.origin.y - rect.size.height; 
    160         NSRect converted = NSMakeRect(rect.origin.x, y, rect.size.width, rect.size.height); 
    161          
    162         // std::cout << "converting from Quartz " << rect << " to " << converted << " using screen rect " << frame << std::endl; 
    163          
     160    NSRect converted = NSMakeRect(rect.origin.x, y, rect.size.width, rect.size.height); 
     161     
     162    // std::cout << "converting from Quartz " << rect << " to " << converted << " using screen rect " << frame << std::endl; 
     163     
    164164    return converted; 
    165165} 
     
    170170     
    171171    float y = frame.size.height - (rect.origin.y + rect.size.height); 
    172         NSRect converted = NSMakeRect(rect.origin.x, y, rect.size.width, rect.size.height); 
    173          
    174         // std::cout << "converting To Quartz   " << rect << " to " << converted << " using screen rect " << frame << std::endl; 
    175          
     172    NSRect converted = NSMakeRect(rect.origin.x, y, rect.size.width, rect.size.height); 
     173     
     174    // std::cout << "converting To Quartz   " << rect << " to " << converted << " using screen rect " << frame << std::endl; 
     175     
    176176    return converted; 
    177177} 
     
    245245        BOOL _isUsingCtrlClick, _isUsingOptionClick; 
    246246        unsigned int _cachedModifierFlags; 
    247                 BOOL _handleTabletEvents; 
     247        BOOL _handleTabletEvents; 
    248248         
    249249} 
     
    362362 
    363363- (void)flagsChanged:(NSEvent *)theEvent { 
    364         [self handleModifiers: theEvent]; 
     364    [self handleModifiers: theEvent]; 
    365365} 
    366366 
     
    393393        [self doLeftMouseButtonDown:theEvent]; 
    394394    } 
    395          
    396         if ([theEvent subtype] == NSTabletPointEventSubtype) { 
    397                 _handleTabletEvents = true; 
    398                 [self handleTabletEvents:theEvent]; 
    399         } 
     395     
     396    if ([theEvent subtype] == NSTabletPointEventSubtype) { 
     397        _handleTabletEvents = true; 
     398        [self handleTabletEvents:theEvent]; 
     399    } 
    400400} 
    401401 
     
    405405    NSPoint converted_point = [self getLocalPoint: theEvent];     
    406406    _win->getEventQueue()->mouseMotion(converted_point.x, converted_point.y); 
    407          
    408         if (_handleTabletEvents) 
    409                 [self handleTabletEvents:theEvent]; 
     407     
     408    if (_handleTabletEvents) 
     409        [self handleTabletEvents:theEvent]; 
    410410} 
    411411 
     
    431431        [self doLeftMouseButtonUp:theEvent]; 
    432432    } 
    433         _handleTabletEvents = false; 
     433    _handleTabletEvents = false; 
    434434} 
    435435 
     
    449449{ 
    450450    [self doRightMouseButtonUp:theEvent]; 
    451         _handleTabletEvents = false; 
     451    _handleTabletEvents = false; 
    452452} 
    453453 
     
    638638- (void)tabletPoint:(NSEvent *)theEvent 
    639639{ 
    640         //_handleTabletEvents = YES; 
    641         //[self handleTabletEvents:theEvent]; 
     640    //_handleTabletEvents = YES; 
     641    //[self handleTabletEvents:theEvent]; 
    642642} 
    643643 
    644644-(void)handleTabletEvents:(NSEvent *)theEvent 
    645645{ 
    646         float pressure = [theEvent pressure]; 
    647         _win->getEventQueue()->penPressure(pressure); 
    648         NSPoint tilt = [theEvent tilt]; 
    649          
    650         _win->getEventQueue()->penOrientation (tilt.x, tilt.y, [theEvent rotation]); 
     646    float pressure = [theEvent pressure]; 
     647    _win->getEventQueue()->penPressure(pressure); 
     648    NSPoint tilt = [theEvent tilt]; 
     649     
     650    _win->getEventQueue()->penOrientation (tilt.x, tilt.y, [theEvent rotation]); 
    651651} 
    652652 
     
    654654- (void)tabletProximity:(NSEvent *)theEvent 
    655655{ 
    656         osgGA::GUIEventAdapter::TabletPointerType pt(osgGA::GUIEventAdapter::UNKNOWN); 
    657         switch ([theEvent pointingDeviceType]) { 
    658                 case NSPenPointingDevice: 
    659                         pt = osgGA::GUIEventAdapter::PEN; 
    660                         break; 
    661                 case NSCursorPointingDevice: 
    662                         pt = osgGA::GUIEventAdapter::PUCK; 
    663                         break; 
    664                 case NSEraserPointingDevice: 
    665                         pt = osgGA::GUIEventAdapter::ERASER; 
    666                         break; 
    667                 default: 
    668                         break; 
    669         } 
    670         _win->getEventQueue()->penProximity(pt, [theEvent isEnteringProximity]);  
     656    osgGA::GUIEventAdapter::TabletPointerType pt(osgGA::GUIEventAdapter::UNKNOWN); 
     657    switch ([theEvent pointingDeviceType]) { 
     658        case NSPenPointingDevice: 
     659            pt = osgGA::GUIEventAdapter::PEN; 
     660            break; 
     661        case NSCursorPointingDevice: 
     662            pt = osgGA::GUIEventAdapter::PUCK; 
     663            break; 
     664        case NSEraserPointingDevice: 
     665            pt = osgGA::GUIEventAdapter::ERASER; 
     666            break; 
     667        default: 
     668            break; 
     669    } 
     670    _win->getEventQueue()->penProximity(pt, [theEvent isEnteringProximity]);  
    671671} 
    672672 
     
    762762     
    763763    virtual bool valid() { return (_win.valid() && _win->valid()); } 
    764          
     764     
    765765    virtual void getWindowBounds(CGRect& rect)  
    766766    { 
     
    773773        rect.size.height = nsrect.size.height; 
    774774    } 
    775          
     775     
    776776    virtual osgViewer::GraphicsWindow* getWindow() {return _win.get(); } 
    777777private: 
     
    808808 
    809809    [win setReleasedWhenClosed:NO]; 
    810         [win setDisplaysWhenScreenProfileChanges:YES];   
     810    [win setDisplaysWhenScreenProfileChanges:YES];     
    811811    GraphicsWindowCocoaDelegate* delegate = [[GraphicsWindowCocoaDelegate alloc] initWith: this]; 
    812812    [win setDelegate: delegate ]; 
    813813    //[delegate autorelease]; 
    814              
     814         
    815815    [win makeKeyAndOrderFront:nil]; 
    816816    [win setAcceptsMouseMovedEvents: YES]; 
     
    836836            style |= NSResizableWindowMask; 
    837837    } 
    838          
     838         
    839839    DarwinWindowingSystemInterface* wsi = dynamic_cast<DarwinWindowingSystemInterface*>(osg::GraphicsContext::getWindowingSystemInterface()); 
    840840    int screenLeft(0), screenTop(0); 
     
    843843    } 
    844844     
    845         NSRect rect = NSMakeRect(_traits->x + screenLeft, _traits->y + screenTop, _traits->width, _traits->height); 
    846      
    847         _window = [[GraphicsWindowCocoaWindow alloc] initWithContentRect: rect styleMask: style backing: NSBackingStoreBuffered defer: NO]; 
    848          
     845    NSRect rect = NSMakeRect(_traits->x + screenLeft, _traits->y + screenTop, _traits->width, _traits->height); 
     846     
     847    _window = [[GraphicsWindowCocoaWindow alloc] initWithContentRect: rect styleMask: style backing: NSBackingStoreBuffered defer: NO]; 
     848     
    849849    if (!_window) { 
    850850        osg::notify(osg::WARN) << "GraphicsWindowCocoa::realizeImplementation :: could not create window" << std::endl; 
     
    854854    rect = convertFromQuartzCoordinates(rect); 
    855855    [_window setFrameOrigin: rect.origin]; 
    856          
    857         NSOpenGLPixelFormatAttribute attr[32]; 
     856     
     857    NSOpenGLPixelFormatAttribute attr[32]; 
    858858    int i = 0; 
    859859     
     
    902902        } 
    903903    } 
    904          
    905         NSOpenGLPixelFormat* pixelformat = [[NSOpenGLPixelFormat alloc] initWithAttributes:attr ]; 
     904     
     905    NSOpenGLPixelFormat* pixelformat = [[NSOpenGLPixelFormat alloc] initWithAttributes:attr ]; 
    906906    _context = [[NSOpenGLContext alloc] initWithFormat: pixelformat shareContext: sharedContext]; 
    907907     
     
    910910        return false; 
    911911    } 
    912         GraphicsWindowCocoaGLView* theView = [[ GraphicsWindowCocoaGLView alloc ] initWithFrame:[ _window frame ] ]; 
     912    GraphicsWindowCocoaGLView* theView = [[ GraphicsWindowCocoaGLView alloc ] initWithFrame:[ _window frame ] ]; 
    913913    [theView setAutoresizingMask:  (NSViewWidthSizable | NSViewHeightSizable) ]; 
    914914    [theView setGraphicsWindowCocoa: this]; 
    915915    [theView setOpenGLContext:_context]; 
    916         [_window setContentView: theView]; 
    917          
     916    [_window setContentView: theView]; 
     917     
    918918    setupNSWindow(_window); 
    919919     
    920920    [theView release]; 
    921921    [pool release]; 
    922          
     922     
    923923    MenubarController::instance()->attachWindow( new CocoaWindowAdapter(this) ); 
    924924     
     
    951951    if (mbc) mbc->detachWindow(this); 
    952952     
    953         [_window close]; 
     953    [_window close]; 
    954954    [_window release]; 
    955955} 
     
    962962bool GraphicsWindowCocoa:: makeCurrentImplementation() 
    963963{ 
    964         [_context makeCurrentContext]; 
    965         return true; 
     964    [_context makeCurrentContext]; 
     965    return true; 
    966966} 
    967967 
     
    973973bool GraphicsWindowCocoa::releaseContextImplementation() 
    974974{ 
    975         [NSOpenGLContext clearCurrentContext]; 
    976         return true; 
     975    [NSOpenGLContext clearCurrentContext]; 
     976    return true; 
    977977} 
    978978 
     
    984984void GraphicsWindowCocoa::swapBuffersImplementation() 
    985985{ 
    986         [_context flushBuffer]; 
     986    [_context flushBuffer]; 
    987987} 
    988988 
     
    994994void GraphicsWindowCocoa::checkEvents() 
    995995{ 
    996         NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
     996    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    997997     
    998998    while(1) 
     
    10131013            break; 
    10141014        [[NSApplication sharedApplication] sendEvent: event]; 
    1015     }    
     1015    }     
    10161016     
    10171017    if (_closeRequested) 
     
    10231023    } 
    10241024         
    1025         [pool release]; 
     1025    [pool release]; 
    10261026} 
    10271027 
     
    10381038{ 
    10391039    if (!_realized) return false; 
    1040          
     1040     
    10411041    unsigned int style(NSBorderlessWindowMask); 
    10421042     
     
    10481048            style |= NSResizableWindowMask; 
    10491049    } 
    1050         NSRect rect = [_window contentRectForFrameRect: [_window frame] ]; 
    1051         GraphicsWindowCocoaWindow* new_win = [[GraphicsWindowCocoaWindow alloc] initWithContentRect: rect styleMask: style backing: NSBackingStoreBuffered defer: NO]; 
     1050    NSRect rect = [_window contentRectForFrameRect: [_window frame] ]; 
     1051    GraphicsWindowCocoaWindow* new_win = [[GraphicsWindowCocoaWindow alloc] initWithContentRect: rect styleMask: style backing: NSBackingStoreBuffered defer: NO]; 
    10521052     
    10531053    if (new_win) { 
     
    10621062    } 
    10631063     
    1064         return true; 
     1064    return true; 
    10651065} 
    10661066 
     
    10711071void GraphicsWindowCocoa::grabFocus() 
    10721072{ 
    1073         [_window makeKeyAndOrderFront: nil]; 
     1073    [_window makeKeyAndOrderFront: nil]; 
    10741074} 
    10751075 
     
    10801080void GraphicsWindowCocoa::grabFocusIfPointerInWindow() 
    10811081{ 
    1082         osg::notify(osg::INFO) << "GraphicsWindowCocoa :: grabFocusIfPointerInWindow not implemented yet " << std::endl; 
     1082    osg::notify(osg::INFO) << "GraphicsWindowCocoa :: grabFocusIfPointerInWindow not implemented yet " << std::endl; 
    10831083} 
    10841084 
     
    10901090void GraphicsWindowCocoa::resizedImplementation(int x, int y, int width, int height) 
    10911091{ 
    1092         std::cout << "resized implementation" << x << " " << y << " " << width << " " << height << std::endl;  
    1093         GraphicsContext::resizedImplementation(x, y, width, height); 
     1092    std::cout << "resized implementation" << x << " " << y << " " << width << " " << height << std::endl;  
     1093    GraphicsContext::resizedImplementation(x, y, width, height); 
    10941094    
    10951095    [_context update]; 
    10961096    MenubarController::instance()->update(); 
    1097         getEventQueue()->windowResize(x,y,width, height, getEventQueue()->getTime()); 
     1097    getEventQueue()->windowResize(x,y,width, height, getEventQueue()->getTime()); 
    10981098} 
    10991099 
     
    11061106bool GraphicsWindowCocoa::setWindowRectangleImplementation(int x, int y, int width, int height) 
    11071107{ 
    1108         DarwinWindowingSystemInterface* wsi = dynamic_cast<DarwinWindowingSystemInterface*>(osg::GraphicsContext::getWindowingSystemInterface()); 
     1108    DarwinWindowingSystemInterface* wsi = dynamic_cast<DarwinWindowingSystemInterface*>(osg::GraphicsContext::getWindowingSystemInterface()); 
    11091109    int screenLeft(0), screenTop(0); 
    11101110    if (wsi) { 
     
    11311131{ 
    11321132 
    1133         DarwinWindowingSystemInterface* wsi = dynamic_cast<DarwinWindowingSystemInterface*>(osg::GraphicsContext::getWindowingSystemInterface()); 
     1133    DarwinWindowingSystemInterface* wsi = dynamic_cast<DarwinWindowingSystemInterface*>(osg::GraphicsContext::getWindowingSystemInterface()); 
    11341134    int screenLeft(0), screenTop(0); 
    11351135    if (wsi) { 
    1136                  
    1137                 // get the screen containing the window 
    1138                 unsigned int screenNdx = wsi->getScreenContaining(x,y,w,h); 
    1139                  
    1140                 // update traits 
    1141                 _traits->screenNum = screenNdx; 
    1142                  
    1143                 // get top left of screen 
     1136         
     1137        // get the screen containing the window 
     1138        unsigned int screenNdx = wsi->getScreenContaining(x,y,w,h); 
     1139         
     1140        // update traits 
     1141        _traits->screenNum = screenNdx; 
     1142         
     1143        // get top left of screen 
    11441144        wsi->getScreenTopLeft((*_traits), screenLeft, screenTop); 
    11451145    } 
    1146          
    1147         resized(x-screenLeft,y-screenTop,w,h); 
     1146     
     1147    resized(x-screenLeft,y-screenTop,w,h); 
    11481148} 
    11491149 
     
    11551155void GraphicsWindowCocoa::setWindowName (const std::string & name) 
    11561156{ 
    1157         NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
     1157    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    11581158     
    11591159    NSString* title = [NSString stringWithCString: name.c_str() encoding: NSUTF8StringEncoding]; 
    1160         [_window setTitle: title]; 
    1161         [title release]; 
     1160    [_window setTitle: title]; 
     1161    [title release]; 
    11621162    [pool release]; 
    11631163} 
     
    11701170void GraphicsWindowCocoa::useCursor(bool cursorOn) 
    11711171{ 
    1172         if (_traits.valid()) 
     1172    if (_traits.valid()) 
    11731173        _traits->useCursor = cursorOn; 
    11741174    DarwinWindowingSystemInterface* wsi = dynamic_cast<DarwinWindowingSystemInterface*>(osg::GraphicsContext::getWindowingSystemInterface()); 
     
    12011201void GraphicsWindowCocoa::setCursor(MouseCursor mouseCursor) 
    12021202{ 
    1203         switch (mouseCursor)  
     1203    switch (mouseCursor)  
    12041204    { 
    12051205 
     
    12331233{ 
    12341234    GLint VBL(f?1:0); 
    1235         [_context setValues:&VBL forParameter:NSOpenGLCPSwapInterval]; 
     1235    [_context setValues:&VBL forParameter:NSOpenGLCPSwapInterval]; 
    12361236} 
    12371237 
     
    12541254 
    12551255struct CocoaWindowingSystemInterface : public DarwinWindowingSystemInterface { 
    1256          
    1257         CocoaWindowingSystemInterface() 
    1258         :       DarwinWindowingSystemInterface()  
    1259         { 
    1260                 localPool = [[NSAutoreleasePool alloc] init]; 
     1256     
     1257    CocoaWindowingSystemInterface() 
     1258    :    DarwinWindowingSystemInterface()  
     1259    { 
     1260        localPool = [[NSAutoreleasePool alloc] init]; 
    12611261        [[NSApplication sharedApplication] setDelegate: [[CocoaAppDelegate alloc] init] ]; 
    1262         } 
    1263          
    1264         virtual osg::GraphicsContext* createGraphicsContext(osg::GraphicsContext::Traits* traits)  
    1265         { 
    1266                 return createGraphicsContextImplementation<PixelBufferCocoa, GraphicsWindowCocoa>(traits); 
    1267         } 
    1268          
    1269         virtual ~CocoaWindowingSystemInterface()  
    1270         { 
    1271                 [localPool release]; 
    1272         } 
    1273          
    1274         NSAutoreleasePool *localPool; 
     1262    } 
     1263     
     1264    virtual osg::GraphicsContext* createGraphicsContext(osg::GraphicsContext::Traits* traits)  
     1265    { 
     1266        return createGraphicsContextImplementation<PixelBufferCocoa, GraphicsWindowCocoa>(traits); 
     1267    } 
     1268     
     1269    virtual ~CocoaWindowingSystemInterface()  
     1270    { 
     1271        [localPool release]; 
     1272    } 
     1273     
     1274    NSAutoreleasePool *localPool; 
    12751275 
    12761276};