|
Blender V4.3
|
#include <GHOST_WindowCocoa.hh>
Inherits GHOST_Window.
Protected Member Functions | |
| GHOST_Context * | newDrawingContext (GHOST_TDrawingContextType type) override |
| GHOST_TSuccess | invalidate () override |
| GHOST_TSuccess | setWindowCursorVisibility (bool visible) override |
| GHOST_TSuccess | setWindowCursorGrab (GHOST_TGrabCursorMode mode) override |
| GHOST_TSuccess | setWindowCursorShape (GHOST_TStandardCursor shape) override |
| GHOST_TSuccess | hasCursorShape (GHOST_TStandardCursor shape) override |
| GHOST_TSuccess | setWindowCustomCursorShape (uint8_t *bitmap, uint8_t *mask, int sizex, int sizey, int hotX, int hotY, bool canInvertColor) override |
Protected Member Functions inherited from GHOST_Window | |
| GHOST_TSuccess | releaseNativeHandles () |
Protected Attributes | |
| BlenderWindow * | m_window |
| CocoaOpenGLView * | m_openGLView |
| CocoaMetalView * | m_metalView |
| CAMetalLayer * | m_metalLayer |
| GHOST_SystemCocoa * | m_systemCocoa |
| NSCursor * | m_customCursor |
| GHOST_TabletData | m_tablet |
| bool | m_immediateDraw |
| bool | m_debug_context |
| bool | m_is_dialog |
| GHOST_GPUDevice | m_preferred_device |
Protected Attributes inherited from GHOST_Window | |
| GHOST_TDrawingContextType | m_drawingContextType |
| GHOST_TUserDataPtr | m_userData |
| bool | m_cursorVisible |
| GHOST_TGrabCursorMode | m_cursorGrab |
| GHOST_TAxisFlag | m_cursorGrabAxis |
| int32_t | m_cursorGrabInitPos [2] |
| int32_t | m_cursorGrabAccumPos [2] |
| GHOST_Rect | m_cursorGrabBounds |
| GHOST_TStandardCursor | m_cursorShape |
| bool | m_progressBarVisible |
| bool | m_canAcceptDragOperation |
| bool | m_isUnsavedChanges |
| bool | m_fullScreen |
| bool | m_wantStereoVisual |
| uint32_t | m_fullScreenWidth |
| uint32_t | m_fullScreenHeight |
| float | m_nativePixelSize |
Definition at line 30 of file GHOST_WindowCocoa.hh.
| GHOST_WindowCocoa::GHOST_WindowCocoa | ( | GHOST_SystemCocoa * | systemCocoa, |
| const char * | title, | ||
| int32_t | left, | ||
| int32_t | bottom, | ||
| uint32_t | width, | ||
| uint32_t | height, | ||
| GHOST_TWindowState | state, | ||
| GHOST_TDrawingContextType | type, | ||
| const bool | stereoVisual, | ||
| bool | is_debug, | ||
| bool | dialog, | ||
| GHOST_WindowCocoa * | parentWindow, | ||
| const GHOST_GPUDevice & | preferred_device ) |
Constructor. Creates a new window and opens it. To check if the window was created properly, use the getValid() method.
| systemCocoa | The associated system class to forward events to. |
| title | The text shown in the title bar of the window. |
| left | The coordinate of the left edge of the window. |
| bottom | The coordinate of the bottom edge of the window. |
| width | The width the window. |
| height | 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. |
| preferred_device | Preferred device to use when new device will be created. |
Definition at line 324 of file GHOST_WindowCocoa.mm.
References GHOST_Window::activateDrawingContext(), GHOST_kWindowStateFullScreen, GHOST_TABLET_DATA_NONE, left, GHOST_Window::m_fullScreen, m_metalLayer, m_metalView, GHOST_System::m_nativePixel, m_openGLView, m_systemCocoa, m_tablet, m_window, GHOST_Window::setDrawingContextType(), setNativePixelSize(), setState(), setTitle(), state, GHOST_Window::updateDrawingContext(), and view.
|
override |
Destructor. Closes the window and disposes resources allocated.
Definition at line 472 of file GHOST_WindowCocoa.mm.
References m_customCursor, m_metalLayer, m_metalView, m_openGLView, m_window, and GHOST_Window::releaseNativeHandles().
|
inlineoverridevirtual |
Implements GHOST_IWindow.
Definition at line 224 of file GHOST_WindowCocoa.hh.
References GHOST_kFailure.
|
overridevirtual |
Converts a point in client rectangle coordinates to screen coordinates.
| inX | The x-coordinate in the client rectangle. |
| inY | The y-coordinate in the client rectangle. |
| outX | The x-coordinate on the screen. |
| outY | The y-coordinate on the screen. |
Implements GHOST_IWindow.
Definition at line 701 of file GHOST_WindowCocoa.mm.
References clientToScreenIntern(), getClientBounds(), GHOST_Rect::getHeight(), getValid(), and GHOST_ASSERT.
| void GHOST_WindowCocoa::clientToScreenIntern | ( | int32_t | inX, |
| int32_t | inY, | ||
| int32_t & | outX, | ||
| int32_t & | outY ) const |
Converts a point in client rectangle coordinates to screen coordinates. but without the y coordinate conversion needed for ghost compatibility.
| inX | The x-coordinate in the client rectangle. |
| inY | The y-coordinate in the client rectangle. |
| outX | The x-coordinate on the screen. |
| outY | The y-coordinate on the screen. |
Definition at line 730 of file GHOST_WindowCocoa.mm.
References m_window.
Referenced by clientToScreen(), GHOST_SystemCocoa::handleDraggingEvent(), and GHOST_SystemCocoa::handleMouseEvent().
|
inlineoverridevirtual |
Implements GHOST_IWindow.
Definition at line 229 of file GHOST_WindowCocoa.hh.
References GHOST_kFailure.
|
overridevirtual |
Hides the progress bar icon
Reimplemented from GHOST_Window.
Definition at line 937 of file GHOST_WindowCocoa.mm.
References GHOST_kFailure, GHOST_kSuccess, and GHOST_Window::m_progressBarVisible.
|
overridevirtual |
Returns the client rectangle dimensions. The left and top members of the rectangle are always zero.
| bounds | The bounding rectangle of the client area of the window. |
Implements GHOST_IWindow.
Definition at line 591 of file GHOST_WindowCocoa.mm.
References bounds(), getValid(), GHOST_ASSERT, and m_window.
Referenced by clientToScreen(), GHOST_SystemCocoa::handleMouseEvent(), screenToClient(), setClientHeight(), setClientSize(), setClientWidth(), and setNativePixelSize().
|
inline |
Definition at line 206 of file GHOST_WindowCocoa.hh.
References m_tablet.
Referenced by GHOST_SystemCocoa::handleMouseEvent(), and GHOST_SystemCocoa::setCursorPosition().
|
inline |
Definition at line 245 of file GHOST_WindowCocoa.hh.
References m_immediateDraw.
|
overridevirtual |
Returns the associated NSWindow object
Reimplemented from GHOST_Window.
Definition at line 522 of file GHOST_WindowCocoa.mm.
References m_window.
Referenced by GHOST_SystemCocoa::handleMouseEvent().
| NSScreen * GHOST_WindowCocoa::getScreen | ( | ) |
Gets the screen the window is displayed in
Definition at line 744 of file GHOST_WindowCocoa.mm.
References m_window.
Referenced by GHOST_SystemCocoa::setMouseCursorPosition().
| NSCursor * GHOST_WindowCocoa::getStandardCursor | ( | GHOST_TStandardCursor | cursor | ) | const |
Definition at line 984 of file GHOST_WindowCocoa.mm.
References getImageCursor(), GHOST_kStandardCursorBothHandles, GHOST_kStandardCursorBottomSide, GHOST_kStandardCursorCopy, GHOST_kStandardCursorCrosshair, GHOST_kStandardCursorCrosshairA, GHOST_kStandardCursorCrosshairB, GHOST_kStandardCursorCrosshairC, GHOST_kStandardCursorCustom, GHOST_kStandardCursorDefault, GHOST_kStandardCursorDestroy, GHOST_kStandardCursorDownArrow, GHOST_kStandardCursorEraser, GHOST_kStandardCursorEWScroll, GHOST_kStandardCursorEyedropper, GHOST_kStandardCursorHandClosed, GHOST_kStandardCursorHandOpen, GHOST_kStandardCursorHandPoint, GHOST_kStandardCursorHorizontalSplit, GHOST_kStandardCursorKnife, GHOST_kStandardCursorLeftArrow, GHOST_kStandardCursorLeftHandle, GHOST_kStandardCursorLeftRight, GHOST_kStandardCursorLeftSide, GHOST_kStandardCursorMove, GHOST_kStandardCursorNSEWScroll, GHOST_kStandardCursorNSScroll, GHOST_kStandardCursorPencil, GHOST_kStandardCursorRightArrow, GHOST_kStandardCursorRightHandle, GHOST_kStandardCursorRightSide, GHOST_kStandardCursorStop, GHOST_kStandardCursorText, GHOST_kStandardCursorTopSide, GHOST_kStandardCursorUpArrow, GHOST_kStandardCursorUpDown, GHOST_kStandardCursorVerticalSplit, GHOST_kStandardCursorZoomIn, GHOST_kStandardCursorZoomOut, and m_customCursor.
Referenced by hasCursorShape(), and loadCursor().
|
overridevirtual |
Returns the state of the window (normal, minimized, maximized).
Implements GHOST_IWindow.
Definition at line 659 of file GHOST_WindowCocoa.mm.
References getValid(), GHOST_ASSERT, GHOST_kWindowStateFullScreen, GHOST_kWindowStateMaximized, GHOST_kWindowStateMinimized, GHOST_kWindowStateNormal, m_immediateDraw, and m_window.
|
overridevirtual |
Returns the title displayed in the title bar.
| title | The title displayed in the title bar. |
Implements GHOST_IWindow.
Definition at line 539 of file GHOST_WindowCocoa.mm.
References getValid(), GHOST_ASSERT, and m_window.
|
overridevirtual |
Returns indication as to whether the window is valid.
Reimplemented from GHOST_Window.
Definition at line 516 of file GHOST_WindowCocoa.mm.
References GHOST_Window::getValid(), m_metalView, m_openGLView, and m_window.
Referenced by clientToScreen(), getClientBounds(), getState(), getTitle(), getWindowBounds(), invalidate(), screenToClient(), setClientHeight(), setClientSize(), setClientWidth(), setOrder(), setPath(), setState(), and setTitle().
|
inline |
public function to get the window containing the view
Definition at line 235 of file GHOST_WindowCocoa.hh.
References m_window.
|
overridevirtual |
Returns the window rectangle dimensions. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen.
| bounds | The bounding rectangle of the window. |
Implements GHOST_IWindow.
Definition at line 576 of file GHOST_WindowCocoa.mm.
References bounds(), getValid(), GHOST_ASSERT, and m_window.
|
overrideprotectedvirtual |
Test if the standard cursor shape is supported by current platform.
Implements GHOST_IWindow.
Definition at line 1159 of file GHOST_WindowCocoa.mm.
References getStandardCursor(), GHOST_kFailure, and GHOST_kSuccess.
|
overrideprotectedvirtual |
Invalidates the contents of this window.
Implements GHOST_IWindow.
Definition at line 884 of file GHOST_WindowCocoa.mm.
References getValid(), GHOST_ASSERT, GHOST_kSuccess, m_metalView, and m_openGLView.
|
overridevirtual |
Reimplemented from GHOST_Window.
Definition at line 1100 of file GHOST_WindowCocoa.mm.
References m_is_dialog.
Referenced by GHOST_SystemCocoa::handleApplicationBecomeActiveEvent(), and GHOST_SystemCocoa::hasDialogWindow().
| void GHOST_WindowCocoa::loadCursor | ( | bool | visible, |
| GHOST_TStandardCursor | cursor ) const |
Definition at line 1075 of file GHOST_WindowCocoa.mm.
References getStandardCursor(), and GHOST_kStandardCursorDefault.
Referenced by GHOST_SystemCocoa::handleWindowEvent(), setWindowCursorShape(), setWindowCursorVisibility(), and setWindowCustomCursorShape().
|
overrideprotectedvirtual |
| type | The type of rendering context create. |
Implements GHOST_Window.
Definition at line 847 of file GHOST_WindowCocoa.mm.
References m_metalLayer, m_metalView, m_preferred_device, and GHOST_Window::m_wantStereoVisual.
|
overridevirtual |
Converts a point in screen coordinates to client rectangle coordinates
| inX | The x-coordinate on the screen. |
| inY | The y-coordinate on the screen. |
| outX | The x-coordinate in the client rectangle. |
| outY | The y-coordinate in the client rectangle. |
Implements GHOST_IWindow.
Definition at line 686 of file GHOST_WindowCocoa.mm.
References getClientBounds(), GHOST_Rect::getHeight(), getValid(), GHOST_ASSERT, and screenToClientIntern().
Referenced by GHOST_SystemCocoa::handleMouseEvent().
| void GHOST_WindowCocoa::screenToClientIntern | ( | int32_t | inX, |
| int32_t | inY, | ||
| int32_t & | outX, | ||
| int32_t & | outY ) const |
Converts a point in screen coordinates to client rectangle coordinates, but without the y coordinate conversion needed for ghost compatibility.
| inX | The x-coordinate on the screen. |
| inY | The y-coordinate on the screen. |
| outX | The x-coordinate in the client rectangle. |
| outY | The y-coordinate in the client rectangle. |
Definition at line 716 of file GHOST_WindowCocoa.mm.
References m_window.
Referenced by GHOST_SystemCocoa::handleMouseEvent(), and screenToClient().
|
overridevirtual |
Resizes client rectangle height.
| height | The new height of the client area of the window. |
Implements GHOST_IWindow.
Definition at line 628 of file GHOST_WindowCocoa.mm.
References getClientBounds(), GHOST_Rect::getHeight(), getValid(), GHOST_Rect::getWidth(), GHOST_ASSERT, GHOST_kSuccess, and m_window.
|
overridevirtual |
Resizes client rectangle.
| width | The new width of the client area of the window. |
| height | The new height of the client area of the window. |
Implements GHOST_IWindow.
Definition at line 644 of file GHOST_WindowCocoa.mm.
References getClientBounds(), GHOST_Rect::getHeight(), getValid(), GHOST_Rect::getWidth(), GHOST_ASSERT, GHOST_kSuccess, and m_window.
|
overridevirtual |
Resizes client rectangle width.
| width | The new width of the client area of the window. |
Implements GHOST_IWindow.
Definition at line 612 of file GHOST_WindowCocoa.mm.
References getClientBounds(), GHOST_Rect::getHeight(), getValid(), GHOST_Rect::getWidth(), GHOST_ASSERT, GHOST_kSuccess, and m_window.
|
inline |
Definition at line 241 of file GHOST_WindowCocoa.hh.
References m_immediateDraw.
|
overridevirtual |
Sets the window "modified" status, indicating unsaved changes
| isUnsavedChanges | Unsaved changes or not. |
Reimplemented from GHOST_Window.
Definition at line 811 of file GHOST_WindowCocoa.mm.
References m_window, and GHOST_Window::setModifiedState().
| void GHOST_WindowCocoa::setNativePixelSize | ( | ) |
Definition at line 750 of file GHOST_WindowCocoa.mm.
References float, getClientBounds(), GHOST_Rect::getWidth(), m_metalView, GHOST_Window::m_nativePixelSize, and m_openGLView.
Referenced by GHOST_WindowCocoa(), and GHOST_SystemCocoa::handleWindowEvent().
|
overridevirtual |
Sets the order of the window (bottom, top).
| order | The order of the window. |
Implements GHOST_IWindow.
Definition at line 819 of file GHOST_WindowCocoa.mm.
References getValid(), GHOST_ASSERT, GHOST_kSuccess, GHOST_kWindowOrderTop, and m_window.
|
overridevirtual |
Sets the file name represented by this window.
| filepath | The file directory. |
Reimplemented from GHOST_Window.
Definition at line 553 of file GHOST_WindowCocoa.mm.
References e, getValid(), GHOST_ASSERT, GHOST_kFailure, GHOST_kSuccess, m_window, and printf.
|
overridevirtual |
Sets the progress bar value displayed in the window/application icon
| progress | The progress percentage (0.0 to 1.0). |
Reimplemented from GHOST_Window.
Definition at line 899 of file GHOST_WindowCocoa.mm.
References GHOST_kSuccess, and GHOST_Window::m_progressBarVisible.
|
overridevirtual |
Sets the state of the window (normal, minimized, maximized).
| state | The state of the window. |
Instead, the menu bar and the dock are hidden, and the window is made border-less and enlarged. Thus, process switch, exposé, spaces, ... still work in full-screen mode.
Implements GHOST_IWindow.
Definition at line 768 of file GHOST_WindowCocoa.mm.
References getValid(), GHOST_ASSERT, GHOST_kSuccess, GHOST_kWindowStateFullScreen, GHOST_kWindowStateMaximized, GHOST_kWindowStateMinimized, GHOST_kWindowStateNormal, m_window, and state.
Referenced by GHOST_WindowCocoa().
|
overridevirtual |
Sets the title displayed in the title bar.
| title | The title to display in the title bar. |
Implements GHOST_IWindow.
Definition at line 527 of file GHOST_WindowCocoa.mm.
References getValid(), GHOST_ASSERT, and m_window.
Referenced by GHOST_WindowCocoa().
|
overrideprotectedvirtual |
Sets the cursor grab on the window using native window system calls.
Reimplemented from GHOST_Window.
Definition at line 1115 of file GHOST_WindowCocoa.mm.
References GHOST_SystemCocoa::getCursorPosition(), GHOST_kGrabDisable, GHOST_kGrabHide, GHOST_kGrabNormal, GHOST_kSuccess, GHOST_Window::m_cursorGrab, GHOST_Window::m_cursorGrabBounds, GHOST_Window::m_cursorGrabInitPos, GHOST_Rect::m_l, GHOST_Rect::m_r, m_systemCocoa, m_window, GHOST_Window::setCursorGrabAccum(), GHOST_SystemCocoa::setCursorPosition(), and setWindowCursorVisibility().
|
overrideprotectedvirtual |
Sets the cursor shape on the window using native window system calls.
Implements GHOST_Window.
Definition at line 1149 of file GHOST_WindowCocoa.mm.
References GHOST_Window::getCursorVisibility(), GHOST_kSuccess, loadCursor(), and m_window.
|
overrideprotectedvirtual |
Sets the cursor visibility on the window using native window system calls.
Implements GHOST_Window.
Definition at line 1105 of file GHOST_WindowCocoa.mm.
References GHOST_Window::getCursorShape(), GHOST_kSuccess, loadCursor(), and m_window.
Referenced by setWindowCursorGrab().
|
overrideprotectedvirtual |
Sets the cursor shape on the window using native window system calls.
Implements GHOST_Window.
Definition at line 1188 of file GHOST_WindowCocoa.mm.
References GHOST_Window::getCursorVisibility(), GHOST_kStandardCursorCustom, GHOST_kSuccess, loadCursor(), m_customCursor, m_window, and uns16ReverseBits().
|
protected |
Definition at line 310 of file GHOST_WindowCocoa.hh.
Referenced by getStandardCursor(), setWindowCustomCursorShape(), and ~GHOST_WindowCocoa().
|
protected |
Definition at line 315 of file GHOST_WindowCocoa.hh.
|
protected |
Definition at line 314 of file GHOST_WindowCocoa.hh.
Referenced by getImmediateDraw(), getState(), and setImmediateDraw().
|
protected |
Definition at line 316 of file GHOST_WindowCocoa.hh.
Referenced by isDialog().
|
protected |
Definition at line 305 of file GHOST_WindowCocoa.hh.
Referenced by GHOST_WindowCocoa(), newDrawingContext(), and ~GHOST_WindowCocoa().
|
protected |
Definition at line 304 of file GHOST_WindowCocoa.hh.
Referenced by getValid(), GHOST_WindowCocoa(), invalidate(), newDrawingContext(), setNativePixelSize(), and ~GHOST_WindowCocoa().
|
protected |
The view, either Metal or OpenGL
Definition at line 303 of file GHOST_WindowCocoa.hh.
Referenced by getValid(), GHOST_WindowCocoa(), invalidate(), setNativePixelSize(), and ~GHOST_WindowCocoa().
|
protected |
Definition at line 317 of file GHOST_WindowCocoa.hh.
Referenced by newDrawingContext().
|
protected |
The mother SystemCocoa class to send events
Definition at line 308 of file GHOST_WindowCocoa.hh.
Referenced by GHOST_WindowCocoa(), and setWindowCursorGrab().
|
protected |
Definition at line 312 of file GHOST_WindowCocoa.hh.
Referenced by GetCocoaTabletData(), and GHOST_WindowCocoa().
|
protected |
The window containing the view
Definition at line 300 of file GHOST_WindowCocoa.hh.
Referenced by clientToScreenIntern(), getClientBounds(), getOSWindow(), getScreen(), getState(), getTitle(), getValid(), getViewWindow(), getWindowBounds(), GHOST_WindowCocoa(), screenToClientIntern(), setClientHeight(), setClientSize(), setClientWidth(), setModifiedState(), setOrder(), setPath(), setState(), setTitle(), setWindowCursorGrab(), setWindowCursorShape(), setWindowCursorVisibility(), setWindowCustomCursorShape(), and ~GHOST_WindowCocoa().