diff --git a/Engine/source/platformPOSIX/POSIXState.h b/Engine/source/platformPOSIX/POSIXState.h index dec62b2ee..4aaa2fa43 100644 --- a/Engine/source/platformPOSIX/POSIXState.h +++ b/Engine/source/platformPOSIX/POSIXState.h @@ -33,12 +33,8 @@ typedef void (*LockFunc_t)(void); -class DisplayPtrManager; - class x86UNIXPlatformState { - friend class DisplayPtrManager; - private: Point2I mDesktopSize; Point2I mWindowSize; @@ -170,92 +166,4 @@ class x86UNIXPlatformState } }; -extern x86UNIXPlatformState * x86UNIXState; - -class DisplayPtrManager -{ - // static interface - private: - static bool sgDisplayLocked; - static LockFunc_t sgLockFunc; - static LockFunc_t sgUnlockFunc; - - static bool lockDisplay() - { - if (!sgDisplayLocked && sgLockFunc) - { - sgLockFunc(); - sgDisplayLocked = true; - return true; - } - else - return false; - } - static void unlockDisplay() - { - if (sgDisplayLocked && sgUnlockFunc) - { - sgUnlockFunc(); - sgDisplayLocked = false; - } - } - - //friend Display* x86UNIXPlatformState::getDisplayPointer(); - - public: - static void setDisplayLockFunction(LockFunc_t lockFunc) - { sgLockFunc = lockFunc; } - static void setDisplayUnlockFunction(LockFunc_t unlockFunc) - { sgUnlockFunc = unlockFunc; } - - // nonstatic interface - private: - bool mAcquiredLock; // true if this instance acquired the display lock - // (multiple instances of DisplayPtrManager can coexist, but only - // the first to access the display pointer will be responsible for - // acquiring and releasing the lock) - bool mOpenedDisplay; // true if this instance created a display pointer - // because the one in platform state was null. - Display* mDisplay; - - private: - Display* openDisplay() - { - return mDisplay; - } - - void closeDisplay() - { - if (mOpenedDisplay) - { - - } - } - public: - DisplayPtrManager() - { - mAcquiredLock = false; - mOpenedDisplay = false; - mDisplay = NULL; - } - - ~DisplayPtrManager() - { - if (mAcquiredLock) - { - DisplayPtrManager::unlockDisplay(); - mAcquiredLock = false; - } - closeDisplay(); - } - - Display* getDisplayPointer() - { - Display* display = x86UNIXState->getDisplayPointer(); - if (display == NULL) - return openDisplay(); - - mAcquiredLock = DisplayPtrManager::lockDisplay(); - return display; - } -}; +extern x86UNIXPlatformState * x86UNIXState; \ No newline at end of file