Blender
V3.3
|
#include <GHOST_Window.h>
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 (uint8_t *bitmap, uint8_t *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 22 of file GHOST_Window.h.
GHOST_Window::GHOST_Window | ( | uint32_t | width, |
uint32_t | 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 of the window. |
height | The height of the window. |
state | The state the window is initially opened with. |
wantStereoVisual | 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 18 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(uint32_t width) = 0; virtual GHOST_TSuccess setClientHeight(uint32_t height) = 0; virtual GHOST_TSuccess setClientSize(uint32_t width, uint32_t height) = 0; virtual void screenToClient( int32_t inX, int32_t inY, int32_t& outX, int32_t& outY) const = 0; virtual void clientToScreen( int32_t inX, int32_t inY, int32_t& outX, int32_t& 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 48 of file GHOST_Window.cpp.
|
virtual |
Activates the drawing context of this window.
Implements GHOST_IWindow.
Reimplemented in GHOST_WindowNULL.
Definition at line 100 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 223 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 178 of file GHOST_Window.h.
References GHOST_kFailure.
|
virtual |
Implements GHOST_IWindow.
Reimplemented in GHOST_WindowWayland.
Definition at line 212 of file GHOST_Window.cpp.
References GHOST_kFailure.
Definition at line 434 of file GHOST_Window.h.
References m_cursorGrabAccumPos, x, and y.
Referenced by GHOST_SystemCocoa::handleMouseEvent(), and GHOST_SystemWin32::processCursorEvent().
|
inline |
Definition at line 423 of file GHOST_Window.h.
References m_cursorGrabAxis.
Referenced by GHOST_SystemCocoa::handleMouseEvent(), and GHOST_SystemWin32::processCursorEvent().
|
virtual |
Gets the cursor grab region, if unset the window is used. reset when grab is disabled.
Implements GHOST_IWindow.
Definition at line 157 of file GHOST_Window.cpp.
References bounds(), GHOST_kFailure, GHOST_kGrabWrap, GHOST_kSuccess, m_cursorGrab, and m_cursorGrabBounds.
Referenced by GHOST_SystemCocoa::handleMouseEvent(), GHOST_SystemWin32::processCursorEvent(), and GHOST_WindowWayland::setWindowCursorGrab().
Definition at line 428 of file GHOST_Window.h.
References m_cursorGrabInitPos, x, and y.
Referenced by GHOST_SystemCocoa::handleMouseEvent().
|
inline |
Definition at line 413 of file GHOST_Window.h.
References m_cursorGrab.
Referenced by GHOST_SystemCocoa::handleMouseEvent().
|
inline |
Definition at line 418 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().
|
virtual |
Implements GHOST_IWindow.
Definition at line 166 of file GHOST_Window.cpp.
References bounds(), getCursorGrabUseSoftwareDisplay(), GHOST_kAxisNone, GHOST_kGrabDisable, GHOST_kGrabWrap, m_cursorGrab, m_cursorGrabAxis, and m_cursorGrabBounds.
|
virtual |
Return true when a software cursor should be used.
Implements GHOST_IWindow.
Reimplemented in GHOST_WindowWayland.
Definition at line 187 of file GHOST_Window.cpp.
Referenced by getCursorGrabState().
|
inlinevirtual |
Returns the current cursor shape.
Implements GHOST_IWindow.
Definition at line 446 of file GHOST_Window.h.
References m_cursorShape.
Referenced by GHOST_SystemCocoa::handleWindowEvent(), pointer_handle_enter(), GHOST_SystemWin32::s_wndProc(), GHOST_WindowCocoa::setWindowCursorVisibility(), GHOST_WindowX11::setWindowCursorVisibility(), tablet_tool_handle_frame(), and tablet_tool_handle_proximity_in().
|
inlinevirtual |
Returns the visibility state of the cursor.
Implements GHOST_IWindow.
Definition at line 408 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 95 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_WindowWayland, GHOST_WindowX11, and GHOST_WindowSDL.
Definition at line 289 of file GHOST_Window.h.
|
inlinevirtual |
Returns the type of drawing context used in this window.
Implements GHOST_IWindow.
Definition at line 403 of file GHOST_Window.h.
References m_drawingContextType.
|
virtual |
Gets the window "modified" status, indicating unsaved changes
Implements GHOST_IWindow.
Definition at line 235 of file GHOST_Window.cpp.
References m_isUnsavedChanges.
Implements GHOST_IWindow.
Definition at line 278 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 53 of file GHOST_Window.cpp.
|
virtual |
Gets the current swap interval for swapBuffers.
Implements GHOST_IWindow.
Definition at line 90 of file GHOST_Window.cpp.
References GHOST_Context::getSwapInterval().
|
inlinevirtual |
Returns the window user data.
Implements GHOST_IWindow.
Definition at line 264 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 75 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 92 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 110 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().
Tells if the ongoing drag'n'drop object can be accepted upon mouse drop
Implements GHOST_IWindow.
Definition at line 218 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 124 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().
Definition at line 440 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 193 of file GHOST_Window.cpp.
References GHOST_kFailure, GHOST_kSuccess, m_cursorShape, and setWindowCursorShape().
Referenced by pointer_handle_enter(), tablet_tool_handle_frame(), and tablet_tool_handle_proximity_in().
|
virtual |
Shows or hides the cursor.
visible | The new visibility state of the cursor. |
Implements GHOST_IWindow.
Definition at line 115 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 202 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 58 of file GHOST_Window.cpp.
References GHOST_kDrawingContextTypeNone, GHOST_kFailure, GHOST_kSuccess, m_drawingContextType, m_wantStereoVisual, newDrawingContext(), 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 228 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 170 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 85 of file GHOST_Window.cpp.
References GHOST_Context::setSwapInterval().
Referenced by GHOST_WindowWayland::GHOST_WindowWayland().
|
inlinevirtual |
Changes the window user data.
userData | The window user data. |
Implements GHOST_IWindow.
Definition at line 273 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 324 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 80 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 105 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 380 of file GHOST_Window.h.
Referenced by canAcceptDragOperation(), GHOST_Window(), and setAcceptDragOperation().
|
protected |
The current grabbed state of the cursor
Definition at line 359 of file GHOST_Window.h.
Referenced by getCursorGrabBounds(), getCursorGrabMode(), getCursorGrabModeIsWarp(), getCursorGrabState(), GHOST_WindowWayland::getCursorGrabUseSoftwareDisplay(), setCursorGrab(), GHOST_WindowCocoa::setWindowCursorGrab(), GHOST_WindowX11::setWindowCursorGrab(), and GHOST_WindowWayland::setWindowCursorGrab().
|
protected |
Accumulated offset from m_cursorGrabInitPos.
Definition at line 368 of file GHOST_Window.h.
Referenced by getCursorGrabAccum(), GHOST_Window(), and setCursorGrabAccum().
|
protected |
Grab cursor axis.
Definition at line 362 of file GHOST_Window.h.
Referenced by getCursorGrabAxis(), getCursorGrabState(), setCursorGrab(), and GHOST_WindowWayland::setWindowCursorGrab().
|
protected |
Wrap the cursor within this region.
Definition at line 371 of file GHOST_Window.h.
Referenced by getCursorGrabBounds(), getCursorGrabState(), setCursorGrab(), GHOST_WindowCocoa::setWindowCursorGrab(), and GHOST_WindowX11::setWindowCursorGrab().
|
protected |
Initial grab location.
Definition at line 365 of file GHOST_Window.h.
Referenced by getCursorGrabInitPos(), setCursorGrab(), GHOST_WindowCocoa::setWindowCursorGrab(), GHOST_WindowX11::setWindowCursorGrab(), and GHOST_WindowWayland::setWindowCursorGrab().
|
protected |
The current shape of the cursor
Definition at line 374 of file GHOST_Window.h.
Referenced by getCursorShape(), setCursorShape(), setCustomCursorShape(), and GHOST_WindowWayland::setWindowCursorShape().
|
protected |
The current visibility of the cursor
Definition at line 356 of file GHOST_Window.h.
Referenced by getCursorVisibility(), and setCursorVisibility().
|
protected |
The drawing context installed in this window.
Definition at line 350 of file GHOST_Window.h.
Referenced by getDrawingContextType(), and setDrawingContextType().
|
protected |
Stores whether this is a full screen window.
Definition at line 386 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 383 of file GHOST_Window.h.
Referenced by getModifiedState(), GHOST_Window(), and setModifiedState().
|
protected |
Definition at line 397 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 377 of file GHOST_Window.h.
Referenced by GHOST_WindowCocoa::endProgressBar(), GHOST_Window(), and GHOST_WindowCocoa::setProgressBar().
|
protected |
The window user data
Definition at line 353 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 389 of file GHOST_Window.h.
Referenced by GHOST_WindowCocoa::newDrawingContext(), GHOST_WindowSDL::newDrawingContext(), GHOST_WindowX11::newDrawingContext(), and setDrawingContextType().