Blender  V3.3
Public Member Functions | Protected Attributes | List of all members
GHOST_WindowManager Class Reference

#include <GHOST_WindowManager.h>

Public Member Functions

 GHOST_WindowManager ()
 
 ~GHOST_WindowManager ()
 
GHOST_TSuccess addWindow (GHOST_IWindow *window)
 
GHOST_TSuccess removeWindow (const GHOST_IWindow *window)
 
bool getWindowFound (const GHOST_IWindow *window) const
 
bool getFullScreen (void) const
 
GHOST_IWindowgetFullScreenWindow (void) const
 
GHOST_TSuccess beginFullScreen (GHOST_IWindow *window, const bool stereoVisual)
 
GHOST_TSuccess endFullScreen (void)
 
GHOST_TSuccess setActiveWindow (GHOST_IWindow *window)
 
GHOST_IWindowgetActiveWindow (void) const
 
void setWindowInactive (const GHOST_IWindow *window)
 
const std::vector< GHOST_IWindow * > & getWindows () const
 
GHOST_IWindowgetWindowAssociatedWithOSWindow (void *osWindow)
 

Protected Attributes

std::vector< GHOST_IWindow * > m_windows
 
GHOST_IWindowm_fullScreenWindow
 
GHOST_IWindowm_activeWindow
 
GHOST_IWindowm_activeWindowBeforeFullScreen
 

Detailed Description

Manages system windows (platform independent implementation).

Definition at line 19 of file GHOST_WindowManager.h.

Constructor & Destructor Documentation

◆ GHOST_WindowManager()

GHOST_WindowManager::GHOST_WindowManager ( )

Constructor.

Copyright (C) 2001 NaN Technologies B.V.

Definition at line 17 of file GHOST_WindowManager.cpp.

◆ ~GHOST_WindowManager()

GHOST_WindowManager::~GHOST_WindowManager ( )

Destructor.

Definition at line 22 of file GHOST_WindowManager.cpp.

Member Function Documentation

◆ addWindow()

GHOST_TSuccess GHOST_WindowManager::addWindow ( GHOST_IWindow window)

Add a window to our list. It is only added if it is not already in the list.

Parameters
windowPointer to the window to be added.
Returns
Indication of success.

Definition at line 27 of file GHOST_WindowManager.cpp.

References getWindowFound(), GHOST_kFailure, GHOST_kSuccess, and m_windows.

Referenced by GHOST_SystemWayland::createWindow(), GHOST_SystemWin32::createWindow(), GHOST_SystemX11::createWindow(), and GHOST_SystemCocoa::createWindow().

◆ beginFullScreen()

GHOST_TSuccess GHOST_WindowManager::beginFullScreen ( GHOST_IWindow window,
const bool  stereoVisual 
)

Activates full-screen mode for a window.

Parameters
windowThe window displayed full-screen.
Returns
Indication of success.

Definition at line 88 of file GHOST_WindowManager.cpp.

References GHOST_IWindow::beginFullScreen(), getActiveWindow(), getFullScreen(), GHOST_IWindow::getValid(), GHOST_ASSERT, GHOST_kFailure, GHOST_kSuccess, m_activeWindowBeforeFullScreen, m_fullScreenWindow, and setActiveWindow().

Referenced by GHOST_System::beginFullScreen().

◆ endFullScreen()

GHOST_TSuccess GHOST_WindowManager::endFullScreen ( void  )

◆ getActiveWindow()

GHOST_IWindow * GHOST_WindowManager::getActiveWindow ( void  ) const

◆ getFullScreen()

bool GHOST_WindowManager::getFullScreen ( void  ) const

Returns whether one of the windows is full-screen.

Returns
A boolean indicator.

Definition at line 78 of file GHOST_WindowManager.cpp.

References m_fullScreenWindow.

Referenced by GHOST_System::beginFullScreen(), beginFullScreen(), GHOST_System::endFullScreen(), endFullScreen(), GHOST_System::getFullScreen(), getWindowFound(), and GHOST_System::updateFullScreen().

◆ getFullScreenWindow()

GHOST_IWindow * GHOST_WindowManager::getFullScreenWindow ( void  ) const

Returns pointer to the full-screen window.

Returns
The full-screen window (NULL if not in full-screen).

Definition at line 83 of file GHOST_WindowManager.cpp.

References m_fullScreenWindow.

Referenced by GHOST_System::disposeWindow().

◆ getWindowAssociatedWithOSWindow()

GHOST_IWindow * GHOST_WindowManager::getWindowAssociatedWithOSWindow ( void osWindow)

Finds the window associated with an OS window object/handle.

Parameters
osWindowThe OS window object/handle.
Returns
The associated window, null if none corresponds.

Definition at line 154 of file GHOST_WindowManager.cpp.

References m_windows.

Referenced by GHOST_SystemCocoa::getWindowUnderCursor(), GHOST_SystemCocoa::handleKeyEvent(), GHOST_SystemCocoa::handleMouseEvent(), and GHOST_SystemCocoa::handleTabletEvent().

◆ getWindowFound()

bool GHOST_WindowManager::getWindowFound ( const GHOST_IWindow window) const

Returns whether the window is in our list.

Parameters
windowPointer to the window to query.
Returns
A boolean indicator.

Definition at line 60 of file GHOST_WindowManager.cpp.

References getFullScreen(), m_fullScreenWindow, m_windows, and result.

Referenced by addWindow(), GHOST_System::disposeWindow(), setActiveWindow(), and GHOST_System::validWindow().

◆ getWindows()

const std::vector< GHOST_IWindow * > & GHOST_WindowManager::getWindows ( ) const

◆ removeWindow()

GHOST_TSuccess GHOST_WindowManager::removeWindow ( const GHOST_IWindow window)

Remove a window from our list.

Parameters
windowPointer to the window to be removed.
Returns
Indication of success.

Definition at line 40 of file GHOST_WindowManager.cpp.

References endFullScreen(), GHOST_kFailure, GHOST_kSuccess, m_fullScreenWindow, m_windows, result, and setWindowInactive().

Referenced by GHOST_System::disposeWindow().

◆ setActiveWindow()

GHOST_TSuccess GHOST_WindowManager::setActiveWindow ( GHOST_IWindow window)

Sets new window as active window (the window receiving events). There can be only one window active which should be in the current window list.

Parameters
windowThe new active window.

Definition at line 123 of file GHOST_WindowManager.cpp.

References getWindowFound(), GHOST_kFailure, GHOST_kSuccess, and m_activeWindow.

Referenced by GHOST_WindowWayland::activate(), beginFullScreen(), GHOST_SystemWayland::createWindow(), GHOST_SystemWin32::createWindow(), GHOST_SystemX11::createWindow(), GHOST_SystemCocoa::createWindow(), endFullScreen(), GHOST_SystemCocoa::handleWindowEvent(), and GHOST_SystemWin32::processWindowEvent().

◆ setWindowInactive()

void GHOST_WindowManager::setWindowInactive ( const GHOST_IWindow window)

Set this window to be inactive (not receiving events).

Parameters
windowThe window to deactivate.

Definition at line 142 of file GHOST_WindowManager.cpp.

References m_activeWindow.

Referenced by GHOST_WindowWayland::deactivate(), endFullScreen(), GHOST_SystemCocoa::handleWindowEvent(), and removeWindow().

Member Data Documentation

◆ m_activeWindow

GHOST_IWindow* GHOST_WindowManager::m_activeWindow
protected

The active window.

Definition at line 120 of file GHOST_WindowManager.h.

Referenced by getActiveWindow(), setActiveWindow(), and setWindowInactive().

◆ m_activeWindowBeforeFullScreen

GHOST_IWindow* GHOST_WindowManager::m_activeWindowBeforeFullScreen
protected

Window that was active before entering fullscreen state.

Definition at line 123 of file GHOST_WindowManager.h.

Referenced by beginFullScreen(), and endFullScreen().

◆ m_fullScreenWindow

GHOST_IWindow* GHOST_WindowManager::m_fullScreenWindow
protected

Window in fullscreen state. There can be only one of this which is not in or window list.

Definition at line 117 of file GHOST_WindowManager.h.

Referenced by beginFullScreen(), endFullScreen(), getFullScreen(), getFullScreenWindow(), getWindowFound(), and removeWindow().

◆ m_windows

std::vector<GHOST_IWindow *> GHOST_WindowManager::m_windows
protected

The list of windows managed

Definition at line 114 of file GHOST_WindowManager.h.

Referenced by addWindow(), getWindowAssociatedWithOSWindow(), getWindowFound(), getWindows(), and removeWindow().


The documentation for this class was generated from the following files: