|
Blender
V2.93
|
#include <GHOST_Window.h>
Inherits GHOST_IWindow.
Inherited by GHOST_WindowCocoa, GHOST_WindowNULL, GHOST_WindowSDL, GHOST_WindowWayland, GHOST_WindowWin32, and GHOST_WindowX11.
Protected Member Functions | |
| virtual GHOST_Context * | newDrawingContext (GHOST_TDrawingContextType type)=0 |
| virtual GHOST_TSuccess | setWindowCursorVisibility (bool visible)=0 |
| virtual GHOST_TSuccess | setWindowCursorGrab (GHOST_TGrabCursorMode) |
| virtual GHOST_TSuccess | setWindowCursorShape (GHOST_TStandardCursor shape)=0 |
| virtual GHOST_TSuccess | setWindowCustomCursorShape (GHOST_TUns8 *bitmap, GHOST_TUns8 *mask, int szx, int szy, int hotX, int hotY, bool canInvertColor)=0 |
| GHOST_TSuccess | releaseNativeHandles () |
Platform independent implementation of GHOST_IWindow. Dimensions are given in screen coordinates that are relative to the upper-left corner of the screen. Implements part of the GHOST_IWindow interface and adds some methods to be implemented by sub-classes of this class.
Definition at line 38 of file GHOST_Window.h.
| GHOST_Window::GHOST_Window | ( | GHOST_TUns32 | width, |
| GHOST_TUns32 | height, | ||
| GHOST_TWindowState | state, | ||
| const bool | wantStereoVisual = false, |
||
| const bool | exclusive = false |
||
| ) |
Constructor. Creates a new window and opens it. To check if the window was created properly, use the getValid() method.
| width | The width the window. |
| heigh | The height the window. |
| state | The state the window is initially opened with. |
| type | The type of drawing context installed in this window. |
| stereoVisual | Stereo visual for quad buffered stereo. |
| exclusive | Use to show the window ontop and ignore others (used full-screen). |
Copyright (C) 2001 NaN Technologies B.V.
Definition at line 34 of file GHOST_Window.cpp.
References GHOST_kWindowStateFullScreen, height, m_canAcceptDragOperation, m_cursorGrabAccumPos, m_fullScreen, m_fullScreenHeight, m_fullScreenWidth, m_isUnsavedChanges, m_nativePixelSize, m_progressBarVisible, state, and width.
|
virtual |
implementation. virtual bool getValid() const = 0; virtual void setTitle(const char * title) = 0; virtual std::string getTitle() const = 0; virtual void getWindowBounds(GHOST_Rect& bounds) const = 0; virtual void getClientBounds(GHOST_Rect& bounds) const = 0; virtual GHOST_TSuccess setClientWidth(GHOST_TUns32 width) = 0; virtual GHOST_TSuccess setClientHeight(GHOST_TUns32 height) = 0; virtual GHOST_TSuccess setClientSize(GHOST_TUns32 width, GHOST_TUns32 height) = 0; virtual void screenToClient( GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const = 0; virtual void clientToScreen( GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const = 0; virtual GHOST_TWindowState getState() const = 0; virtual GHOST_TSuccess setState(GHOST_TWindowState state) = 0; virtual GHOST_TSuccess setOrder(GHOST_TWindowOrder order) = 0; virtual GHOST_TSuccess swapBuffers() = 0; virtual GHOST_TSuccess setSwapInterval() = 0; virtual GHOST_TSuccess getSwapInterval(int& intervalOut) = 0; virtual GHOST_TSuccess activateDrawingContext() = 0; virtual GHOST_TSuccess invalidate() = 0; Destructor. Closes the window and disposes resources allocated.
Definition at line 63 of file GHOST_Window.cpp.
|
virtual |
Activates the drawing context of this window.
Implements GHOST_IWindow.
Reimplemented in GHOST_WindowNULL.
Definition at line 117 of file GHOST_Window.cpp.
References GHOST_Context::activateDrawingContext().
Referenced by GHOST_WindowCocoa::GHOST_WindowCocoa().
|
virtual |
Returns acceptance of the dropped object Usually called by the "object dropped" event handling function
Implements GHOST_IWindow.
Definition at line 217 of file GHOST_Window.cpp.
References m_canAcceptDragOperation.
Referenced by GHOST_DropTargetWin32::DragOver(), and GHOST_DropTargetWin32::Drop().
|
inlinevirtual |
Hides the progress bar in the icon
Implements GHOST_IWindow.
Reimplemented in GHOST_WindowX11, GHOST_WindowWin32, and GHOST_WindowCocoa.
Definition at line 184 of file GHOST_Window.h.
References GHOST_kFailure.
|
inline |
Definition at line 441 of file GHOST_Window.h.
References m_cursorGrabAccumPos, x, and y.
Referenced by GHOST_SystemCocoa::handleMouseEvent(), and GHOST_SystemWin32::processCursorEvent().
|
inline |
Definition at line 430 of file GHOST_Window.h.
References m_cursorGrabAxis.
Referenced by GHOST_SystemCocoa::handleMouseEvent(), and GHOST_SystemWin32::processCursorEvent().
| GHOST_TSuccess GHOST_Window::getCursorGrabBounds | ( | GHOST_Rect & | bounds | ) |
Gets the cursor grab region, if unset the window is used. reset when grab is disabled.
Definition at line 178 of file GHOST_Window.cpp.
References bounds(), GHOST_kFailure, GHOST_kSuccess, and m_cursorGrabBounds.
Referenced by GHOST_SystemCocoa::handleMouseEvent(), and GHOST_SystemWin32::processCursorEvent().
|
inline |
Definition at line 435 of file GHOST_Window.h.
References m_cursorGrabInitPos, x, and y.
Referenced by GHOST_SystemCocoa::handleMouseEvent().
|
inline |
Definition at line 420 of file GHOST_Window.h.
References m_cursorGrab.
Referenced by GHOST_SystemCocoa::handleMouseEvent().
|
inline |
Definition at line 425 of file GHOST_Window.h.
References GHOST_kGrabHide, GHOST_kGrabWrap, and m_cursorGrab.
Referenced by GHOST_SystemCocoa::handleMouseEvent(), GHOST_SystemCocoa::handleOpenDocumentRequest(), GHOST_SystemCocoa::handleQuitRequest(), and GHOST_SystemWin32::processCursorEvent().
|
inlinevirtual |
Returns the current cursor shape.
Implements GHOST_IWindow.
Definition at line 453 of file GHOST_Window.h.
References m_cursorShape.
Referenced by GHOST_SystemCocoa::handleWindowEvent(), GHOST_SystemWin32::s_wndProc(), GHOST_WindowCocoa::setWindowCursorVisibility(), and GHOST_WindowX11::setWindowCursorVisibility().
|
inlinevirtual |
Returns the visibility state of the cursor.
Implements GHOST_IWindow.
Definition at line 415 of file GHOST_Window.h.
References m_cursorVisible.
Referenced by GHOST_SystemCocoa::handleWindowEvent(), GHOST_SystemWin32::s_wndProc(), GHOST_WindowCocoa::setWindowCursorShape(), and GHOST_WindowCocoa::setWindowCustomCursorShape().
|
virtual |
Gets the OpenGL frame-buffer associated with the window's contents.
Implements GHOST_IWindow.
Definition at line 112 of file GHOST_Window.cpp.
References GHOST_Context::getDefaultFramebuffer().
|
inlinevirtual |
Returns the recommended DPI for this window.
Implements GHOST_IWindow.
Reimplemented in GHOST_WindowWin32, GHOST_WindowX11, and GHOST_WindowSDL.
Definition at line 295 of file GHOST_Window.h.
|
inlinevirtual |
Returns the type of drawing context used in this window.
Implements GHOST_IWindow.
Definition at line 410 of file GHOST_Window.h.
References m_drawingContextType.
|
virtual |
Gets the window "modified" status, indicating unsaved changes
Implements GHOST_IWindow.
Definition at line 229 of file GHOST_Window.cpp.
References m_isUnsavedChanges.
|
inlinevirtual |
Implements GHOST_IWindow.
Definition at line 284 of file GHOST_Window.h.
References m_nativePixelSize.
|
virtual |
Returns the associated OS object/handle
Implements GHOST_IWindow.
Reimplemented in GHOST_WindowCocoa.
Definition at line 68 of file GHOST_Window.cpp.
References NULL.
|
virtual |
Gets the current swap interval for swapBuffers.
Implements GHOST_IWindow.
Definition at line 107 of file GHOST_Window.cpp.
References GHOST_Context::getSwapInterval().
|
inlinevirtual |
Returns the window user data.
Implements GHOST_IWindow.
Definition at line 270 of file GHOST_Window.h.
References m_userData.
|
inlinevirtual |
Returns indication as to whether the window is valid.
Implements GHOST_IWindow.
Reimplemented in GHOST_WindowX11, GHOST_WindowWin32, GHOST_WindowSDL, GHOST_WindowNULL, and GHOST_WindowCocoa.
Definition at line 92 of file GHOST_Window.h.
References NULL.
Referenced by GHOST_SystemWayland::createWindow(), GHOST_WindowCocoa::getValid(), GHOST_WindowSDL::getValid(), GHOST_WindowWin32::getValid(), and GHOST_WindowX11::getValid().
|
inlinevirtual |
Implements GHOST_IWindow.
Reimplemented in GHOST_WindowWayland, GHOST_WindowX11, GHOST_WindowWin32, and GHOST_WindowCocoa.
Definition at line 109 of file GHOST_Window.h.
|
protectedpure virtual |
Tries to install a rendering context in this window.
| type | The type of rendering context installed. |
Implemented in GHOST_WindowX11, GHOST_WindowSDL, and GHOST_WindowCocoa.
Referenced by setDrawingContextType().
|
protected |
Definition at line 127 of file GHOST_Window.cpp.
References GHOST_Context::releaseNativeHandles().
Referenced by GHOST_WindowCocoa::~GHOST_WindowCocoa(), GHOST_WindowSDL::~GHOST_WindowSDL(), GHOST_WindowWayland::~GHOST_WindowWayland(), GHOST_WindowWin32::~GHOST_WindowWin32(), and GHOST_WindowX11::~GHOST_WindowX11().
|
virtual |
Tells if the ongoing drag'n'drop object can be accepted upon mouse drop
Implements GHOST_IWindow.
Definition at line 212 of file GHOST_Window.cpp.
References m_canAcceptDragOperation.
Referenced by GHOST_DropTargetWin32::DragEnter().
|
virtual |
Sets the cursor grab.
| mode | The new grab state of the cursor. |
Reimplemented from GHOST_IWindow.
Definition at line 143 of file GHOST_Window.cpp.
References bounds(), GHOST_IWindow::getClientBounds(), GHOST_kFailure, GHOST_kGrabDisable, GHOST_kSuccess, m_cursorGrab, m_cursorGrabAxis, m_cursorGrabBounds, m_cursorGrabInitPos, GHOST_Rect::m_l, GHOST_Rect::m_r, and setWindowCursorGrab().
|
inline |
Definition at line 447 of file GHOST_Window.h.
References m_cursorGrabAccumPos, x, and y.
Referenced by GHOST_SystemCocoa::handleMouseEvent(), GHOST_SystemWin32::processCursorEvent(), GHOST_WindowCocoa::setWindowCursorGrab(), and GHOST_WindowX11::setWindowCursorGrab().
|
virtual |
Set the shape of the cursor.
| cursorShape | The new cursor shape type id. |
Implements GHOST_IWindow.
Definition at line 184 of file GHOST_Window.cpp.
References GHOST_kFailure, GHOST_kSuccess, m_cursorShape, and setWindowCursorShape().
|
virtual |
Shows or hides the cursor.
| visible | The new visibility state of the cursor. |
Implements GHOST_IWindow.
Definition at line 132 of file GHOST_Window.cpp.
References GHOST_kFailure, GHOST_kSuccess, m_cursorVisible, and setWindowCursorVisibility().
|
virtual |
Set the shape of the cursor to a custom cursor.
| bitmap | The bitmap data for the cursor. |
| mask | The mask data for the cursor. |
| hotX | The X coordinate of the cursor hot-spot. |
| hotY | The Y coordinate of the cursor hot-spot. |
Implements GHOST_IWindow.
Definition at line 195 of file GHOST_Window.cpp.
References GHOST_kFailure, GHOST_kStandardCursorCustom, GHOST_kSuccess, m_cursorShape, mask(), and setWindowCustomCursorShape().
|
virtual |
Tries to install a rendering context in this window. Child classes do not need to overload this method, They should overload newDrawingContext instead.
| type | The type of rendering context installed. |
Implements GHOST_IWindow.
Definition at line 73 of file GHOST_Window.cpp.
References GHOST_kDrawingContextTypeNone, GHOST_kFailure, GHOST_kSuccess, m_drawingContextType, m_wantStereoVisual, newDrawingContext(), NULL, and type.
Referenced by GHOST_WindowCocoa::GHOST_WindowCocoa(), GHOST_WindowSDL::GHOST_WindowSDL(), GHOST_WindowWayland::GHOST_WindowWayland(), GHOST_WindowWin32::GHOST_WindowWin32(), and GHOST_WindowX11::GHOST_WindowX11().
|
virtual |
Sets the window "modified" status, indicating unsaved changes
| isUnsavedChanges | Unsaved changes or not. |
Implements GHOST_IWindow.
Reimplemented in GHOST_WindowCocoa.
Definition at line 222 of file GHOST_Window.cpp.
References GHOST_kSuccess, and m_isUnsavedChanges.
Referenced by GHOST_WindowCocoa::setModifiedState().
|
inlinevirtual |
Sets the progress bar value displayed in the window/application icon
| progress | The progress percentage (0.0 to 1.0). |
Implements GHOST_IWindow.
Reimplemented in GHOST_WindowX11, GHOST_WindowWin32, and GHOST_WindowCocoa.
Definition at line 176 of file GHOST_Window.h.
References GHOST_kFailure.
|
virtual |
Sets the swap interval for swapBuffers.
| interval | The swap interval to use. |
Implements GHOST_IWindow.
Definition at line 102 of file GHOST_Window.cpp.
References GHOST_Context::setSwapInterval().
|
inlinevirtual |
Changes the window user data.
| userData | The window user data. |
Implements GHOST_IWindow.
Definition at line 279 of file GHOST_Window.h.
References m_userData.
|
inlineprotectedvirtual |
Sets the cursor grab on the window using native window system calls.
Reimplemented in GHOST_WindowWayland, GHOST_WindowX11, GHOST_WindowSDL, GHOST_WindowNULL, and GHOST_WindowCocoa.
Definition at line 331 of file GHOST_Window.h.
References GHOST_kSuccess.
Referenced by setCursorGrab().
|
protectedpure virtual |
Sets the cursor shape on the window using native window system calls.
Implemented in GHOST_WindowWayland, GHOST_WindowX11, GHOST_WindowSDL, GHOST_WindowNULL, and GHOST_WindowCocoa.
Referenced by setCursorShape().
|
protectedpure virtual |
Sets the cursor visibility on the window using native window system calls.
Implemented in GHOST_WindowWayland, GHOST_WindowX11, GHOST_WindowSDL, GHOST_WindowNULL, and GHOST_WindowCocoa.
Referenced by setCursorVisibility().
|
protectedpure virtual |
Sets the cursor shape on the window using native window system calls.
Implemented in GHOST_WindowWayland, GHOST_WindowX11, GHOST_WindowSDL, GHOST_WindowNULL, and GHOST_WindowCocoa.
Referenced by setCustomCursorShape().
|
virtual |
Swaps front and back buffers of a window.
Implements GHOST_IWindow.
Reimplemented in GHOST_WindowNULL.
Definition at line 97 of file GHOST_Window.cpp.
References GHOST_Context::swapBuffers().
| GHOST_TSuccess GHOST_Window::updateDrawingContext | ( | ) |
Updates the drawing context of this window. Needed whenever the window is changed.
Definition at line 122 of file GHOST_Window.cpp.
References GHOST_Context::updateDrawingContext().
Referenced by GHOST_WindowCocoa::GHOST_WindowCocoa(), and GHOST_SystemCocoa::handleWindowEvent().
|
protected |
The acceptance of the "drop candidate" of the current drag'n'drop operation
Definition at line 387 of file GHOST_Window.h.
Referenced by canAcceptDragOperation(), GHOST_Window(), and setAcceptDragOperation().
|
protected |
The current grabbed state of the cursor
Definition at line 366 of file GHOST_Window.h.
Referenced by getCursorGrabMode(), getCursorGrabModeIsWarp(), setCursorGrab(), GHOST_WindowCocoa::setWindowCursorGrab(), and GHOST_WindowX11::setWindowCursorGrab().
|
protected |
Accumulated offset from m_cursorGrabInitPos.
Definition at line 375 of file GHOST_Window.h.
Referenced by getCursorGrabAccum(), GHOST_Window(), and setCursorGrabAccum().
|
protected |
Grab cursor axis.
Definition at line 369 of file GHOST_Window.h.
Referenced by getCursorGrabAxis(), and setCursorGrab().
|
protected |
Wrap the cursor within this region.
Definition at line 378 of file GHOST_Window.h.
Referenced by getCursorGrabBounds(), setCursorGrab(), GHOST_WindowCocoa::setWindowCursorGrab(), and GHOST_WindowX11::setWindowCursorGrab().
|
protected |
Initial grab location.
Definition at line 372 of file GHOST_Window.h.
Referenced by getCursorGrabInitPos(), setCursorGrab(), GHOST_WindowCocoa::setWindowCursorGrab(), and GHOST_WindowX11::setWindowCursorGrab().
|
protected |
The current shape of the cursor
Definition at line 381 of file GHOST_Window.h.
Referenced by getCursorShape(), setCursorShape(), setCustomCursorShape(), and GHOST_WindowWayland::setWindowCursorShape().
|
protected |
The current visibility of the cursor
Definition at line 363 of file GHOST_Window.h.
Referenced by getCursorVisibility(), and setCursorVisibility().
|
protected |
The drawing context installed in this window.
Definition at line 357 of file GHOST_Window.h.
Referenced by getDrawingContextType(), and setDrawingContextType().
|
protected |
Stores whether this is a full screen window.
Definition at line 393 of file GHOST_Window.h.
Referenced by GHOST_Window(), and GHOST_WindowCocoa::GHOST_WindowCocoa().
|
protected |
|
protected |
|
protected |
Modified state : are there unsaved changes
Definition at line 390 of file GHOST_Window.h.
Referenced by getModifiedState(), GHOST_Window(), and setModifiedState().
|
protected |
Definition at line 404 of file GHOST_Window.h.
Referenced by getNativePixelSize(), GHOST_Window(), and GHOST_WindowCocoa::setNativePixelSize().
|
protected |
The presence of progress indicator with the application icon
Definition at line 384 of file GHOST_Window.h.
Referenced by GHOST_WindowCocoa::endProgressBar(), GHOST_Window(), and GHOST_WindowCocoa::setProgressBar().
|
protected |
The window user data
Definition at line 360 of file GHOST_Window.h.
Referenced by getUserData(), and setUserData().
|
protected |
Whether to attempt to initialize a context with a stereo frame-buffer.
Definition at line 396 of file GHOST_Window.h.
Referenced by GHOST_WindowCocoa::newDrawingContext(), GHOST_WindowSDL::newDrawingContext(), GHOST_WindowX11::newDrawingContext(), and setDrawingContextType().