Blender V4.5
GHOST_WindowCocoa Class Reference

#include <GHOST_WindowCocoa.hh>

Inherits GHOST_Window.

Public Member Functions

 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)
 
 ~GHOST_WindowCocoa () override
 
bool getValid () const override
 
void * getOSWindow () const override
 
void setTitle (const char *title) override
 
std::string getTitle () const override
 
GHOST_TSuccess setPath (const char *filepath) override
 
GHOST_TSuccess applyWindowDecorationStyle () override
 
void getWindowBounds (GHOST_Rect &bounds) const override
 
void getClientBounds (GHOST_Rect &bounds) const override
 
GHOST_TSuccess setClientWidth (uint32_t width) override
 
GHOST_TSuccess setClientHeight (uint32_t height) override
 
GHOST_TSuccess setClientSize (uint32_t width, uint32_t height) override
 
GHOST_TWindowState getState () const override
 
GHOST_TSuccess setModifiedState (bool isUnsavedChanges) override
 
void screenToClient (int32_t inX, int32_t inY, int32_t &outX, int32_t &outY) const override
 
void clientToScreen (int32_t inX, int32_t inY, int32_t &outX, int32_t &outY) const override
 
void clientToScreenIntern (int32_t inX, int32_t inY, int32_t &outX, int32_t &outY) const
 
void screenToClientIntern (int32_t inX, int32_t inY, int32_t &outX, int32_t &outY) const
 
NSScreen * getScreen () const
 
GHOST_TSuccess setState (GHOST_TWindowState state) override
 
GHOST_TSuccess setOrder (GHOST_TWindowOrder order) override
 
NSCursor * getStandardCursor (GHOST_TStandardCursor cursor) const
 
void loadCursor (bool visible, GHOST_TStandardCursor cursor) const
 
bool isDialog () const override
 
GHOST_TabletDataGetCocoaTabletData ()
 
GHOST_TSuccess setProgressBar (float progress) override
 
GHOST_TSuccess endProgressBar () override
 
void setNativePixelSize ()
 
BlenderWindowgetViewWindow () const
 
void setImmediateDraw (bool value)
 
bool getImmediateDraw () const
 
- Public Member Functions inherited from GHOST_Window
 GHOST_Window (uint32_t width, uint32_t height, GHOST_TWindowState state, const bool wantStereoVisual=false, const bool exclusive=false)
 
 ~GHOST_Window () override
 
virtual GHOST_TWindowDecorationStyleFlags getWindowDecorationStyleFlags () override
 
virtual void setWindowDecorationStyleFlags (GHOST_TWindowDecorationStyleFlags styleFlags) override
 
virtual void setWindowDecorationStyleSettings (GHOST_WindowDecorationStyleSettings decorationSettings) override
 
GHOST_TStandardCursor getCursorShape () const override
 
GHOST_TSuccess setCursorShape (GHOST_TStandardCursor cursorShape) override
 
GHOST_TSuccess setCustomCursorShape (uint8_t *bitmap, uint8_t *mask, int sizex, int sizey, int hotX, int hotY, bool canInvertColor) override
 
GHOST_TSuccess getCursorBitmap (GHOST_CursorBitmapRef *bitmap) override
 
bool getCursorVisibility () const override
 
GHOST_TGrabCursorMode getCursorGrabMode () const
 
bool getCursorGrabModeIsWarp () const
 
GHOST_TAxisFlag getCursorGrabAxis () const
 
void getCursorGrabInitPos (int32_t &x, int32_t &y) const
 
void getCursorGrabAccum (int32_t &x, int32_t &y) const
 
void setCursorGrabAccum (int32_t x, int32_t y)
 
GHOST_TSuccess setCursorVisibility (bool visible) override
 
GHOST_TSuccess setCursorGrab (GHOST_TGrabCursorMode mode, GHOST_TAxisFlag wrap_axis, GHOST_Rect *bounds, int32_t mouse_ungrab_xy[2]) override
 
GHOST_TSuccess getCursorGrabBounds (GHOST_Rect &bounds) const override
 
void getCursorGrabState (GHOST_TGrabCursorMode &mode, GHOST_TAxisFlag &wrap_axis, GHOST_Rect &bounds, bool &use_software_cursor) override
 
bool getCursorGrabUseSoftwareDisplay () override
 
GHOST_TSuccess setSwapInterval (int interval) override
 
GHOST_TSuccess getSwapInterval (int &intervalOut) override
 
void setAcceptDragOperation (bool canAccept) override
 
bool canAcceptDragOperation () const override
 
bool getModifiedState () override
 
GHOST_TDrawingContextType getDrawingContextType () override
 
GHOST_TSuccess setDrawingContextType (GHOST_TDrawingContextType type) override
 
GHOST_IContextgetDrawingContext () override
 
GHOST_TSuccess swapBuffers () override
 
GHOST_TSuccess activateDrawingContext () override
 
GHOST_TSuccess updateDrawingContext ()
 
GHOST_ContextgetContext ()
 
unsigned int getDefaultFramebuffer () override
 
GHOST_TUserDataPtr getUserData () const override
 
void setUserData (const GHOST_TUserDataPtr userData) override
 
float getNativePixelSize () override
 
uint16_t getDPIHint () override
 
- Public Member Functions inherited from GHOST_IWindow
virtual ~GHOST_IWindow ()=default
 

Static Public Member Functions

static NSScreen * getPrimaryScreen ()
 

Protected Member Functions

GHOST_ContextnewDrawingContext (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

BlenderWindowm_window
 
CocoaOpenGLView * m_openGLView
 
CocoaMetalView * m_metalView
 
CAMetalLayer * m_metalLayer
 
GHOST_SystemCocoam_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
 
GHOST_TWindowDecorationStyleFlags m_windowDecorationStyleFlags
 
GHOST_WindowDecorationStyleSettings m_windowDecorationStyleSettings
 
bool m_wantStereoVisual
 
uint32_t m_fullScreenWidth
 
uint32_t m_fullScreenHeight
 
float m_nativePixelSize
 

Detailed Description

Definition at line 30 of file GHOST_WindowCocoa.hh.

Constructor & Destructor Documentation

◆ GHOST_WindowCocoa()

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.

Parameters
systemCocoaThe associated system class to forward events to.
titleThe text shown in the title bar of the window.
leftThe coordinate of the left edge of the window.
bottomThe coordinate of the bottom edge of the window.
widthThe width the window.
heightThe height the window.
stateThe state the window is initially opened with.
typeThe type of drawing context installed in this window.
stereoVisualStereo visual for quad buffered stereo.
preferred_devicePreferred device to use when new device will be created.

Definition at line 322 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, name, GHOST_Window::setDrawingContextType(), setNativePixelSize(), setState(), setTitle(), state, GHOST_Window::updateDrawingContext(), and view.

◆ ~GHOST_WindowCocoa()

GHOST_WindowCocoa::~GHOST_WindowCocoa ( )
override

Destructor. Closes the window and disposes resources allocated.

Definition at line 475 of file GHOST_WindowCocoa.mm.

References m_customCursor, m_metalLayer, m_metalView, m_openGLView, m_window, and GHOST_Window::releaseNativeHandles().

Member Function Documentation

◆ applyWindowDecorationStyle()

GHOST_TSuccess GHOST_WindowCocoa::applyWindowDecorationStyle ( )
overridevirtual

◆ clientToScreen()

void GHOST_WindowCocoa::clientToScreen ( int32_t inX,
int32_t inY,
int32_t & outX,
int32_t & outY ) const
overridevirtual

Converts a point in client rectangle coordinates to screen coordinates.

Parameters
inXThe x-coordinate in the client rectangle.
inYThe y-coordinate in the client rectangle.
outXThe x-coordinate on the screen.
outYThe y-coordinate on the screen.

Implements GHOST_IWindow.

Definition at line 745 of file GHOST_WindowCocoa.mm.

References clientToScreenIntern(), getClientBounds(), GHOST_Rect::getHeight(), getValid(), and GHOST_ASSERT.

◆ clientToScreenIntern()

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.

Parameters
inXThe x-coordinate in the client rectangle.
inYThe y-coordinate in the client rectangle.
outXThe x-coordinate on the screen.
outYThe y-coordinate on the screen.

Definition at line 774 of file GHOST_WindowCocoa.mm.

References m_window.

Referenced by clientToScreen(), GHOST_SystemCocoa::handleDraggingEvent(), and GHOST_SystemCocoa::handleMouseEvent().

◆ endProgressBar()

GHOST_TSuccess GHOST_WindowCocoa::endProgressBar ( )
overridevirtual

Hides the progress bar icon

Reimplemented from GHOST_Window.

Definition at line 987 of file GHOST_WindowCocoa.mm.

References GHOST_kFailure, GHOST_kSuccess, and GHOST_Window::m_progressBarVisible.

◆ getClientBounds()

void GHOST_WindowCocoa::getClientBounds ( GHOST_Rect & bounds) const
overridevirtual

Returns the client rectangle dimensions. The left and top members of the rectangle are always zero.

Parameters
boundsThe bounding rectangle of the client area of the window.

Implements GHOST_IWindow.

Definition at line 629 of file GHOST_WindowCocoa.mm.

References bounds(), getPrimaryScreen(), getValid(), GHOST_ASSERT, and m_window.

Referenced by clientToScreen(), GHOST_SystemCocoa::handleMouseEvent(), screenToClient(), setClientHeight(), setClientSize(), setClientWidth(), and setNativePixelSize().

◆ GetCocoaTabletData()

GHOST_TabletData & GHOST_WindowCocoa::GetCocoaTabletData ( )
inline

◆ getImmediateDraw()

bool GHOST_WindowCocoa::getImmediateDraw ( ) const
inline

Definition at line 248 of file GHOST_WindowCocoa.hh.

References m_immediateDraw.

◆ getOSWindow()

void * GHOST_WindowCocoa::getOSWindow ( ) const
overridevirtual

Returns the associated NSWindow object

Returns
The associated NSWindow object

Reimplemented from GHOST_Window.

Definition at line 525 of file GHOST_WindowCocoa.mm.

References m_window.

Referenced by GHOST_SystemCocoa::handleMouseEvent().

◆ getPrimaryScreen()

NSScreen * GHOST_WindowCocoa::getPrimaryScreen ( )
static

Return the primary screen, the screen defined as "Main Display" in macOS Settings, source of all screen coordinates.

Note
This function is placed in WindowCocoa since SystemCocoa cannot include Obj-C types.
Returns
The primary screen NSScreen object

Definition at line 793 of file GHOST_WindowCocoa.mm.

Referenced by getClientBounds(), and getWindowBounds().

◆ getScreen()

NSScreen * GHOST_WindowCocoa::getScreen ( ) const

Return the screen the window is displayed in.

Returns
The current screen NSScreen object

Definition at line 788 of file GHOST_WindowCocoa.mm.

References m_window.

Referenced by GHOST_SystemCocoa::setMouseCursorPosition().

◆ getStandardCursor()

◆ getState()

GHOST_TWindowState GHOST_WindowCocoa::getState ( ) const
overridevirtual

Returns the state of the window (normal, minimized, maximized).

Returns
The state of the window.

Implements GHOST_IWindow.

Definition at line 703 of file GHOST_WindowCocoa.mm.

References getValid(), GHOST_ASSERT, GHOST_kWindowStateFullScreen, GHOST_kWindowStateMaximized, GHOST_kWindowStateMinimized, GHOST_kWindowStateNormal, m_immediateDraw, and m_window.

◆ getTitle()

std::string GHOST_WindowCocoa::getTitle ( ) const
overridevirtual

Returns the title displayed in the title bar.

Parameters
titleThe title displayed in the title bar.

Implements GHOST_IWindow.

Definition at line 542 of file GHOST_WindowCocoa.mm.

References getValid(), GHOST_ASSERT, and m_window.

◆ getValid()

bool GHOST_WindowCocoa::getValid ( ) const
overridevirtual

Returns indication as to whether the window is valid.

Returns
The validity of the window.

Reimplemented from GHOST_Window.

Definition at line 519 of file GHOST_WindowCocoa.mm.

References GHOST_Window::getValid(), m_metalView, m_openGLView, m_window, and view.

Referenced by clientToScreen(), getClientBounds(), getState(), getTitle(), getWindowBounds(), invalidate(), screenToClient(), setClientHeight(), setClientSize(), setClientWidth(), setOrder(), setPath(), setState(), and setTitle().

◆ getViewWindow()

BlenderWindow * GHOST_WindowCocoa::getViewWindow ( ) const
inline

public function to get the window containing the view

Definition at line 238 of file GHOST_WindowCocoa.hh.

References m_window.

◆ getWindowBounds()

void GHOST_WindowCocoa::getWindowBounds ( GHOST_Rect & bounds) const
overridevirtual

Returns the window rectangle dimensions. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen.

Parameters
boundsThe bounding rectangle of the window.

Implements GHOST_IWindow.

Definition at line 603 of file GHOST_WindowCocoa.mm.

References bounds(), getPrimaryScreen(), getValid(), GHOST_ASSERT, and m_window.

◆ hasCursorShape()

GHOST_TSuccess GHOST_WindowCocoa::hasCursorShape ( GHOST_TStandardCursor cursorShape)
overrideprotectedvirtual

Test if the standard cursor shape is supported by current platform.

Returns
Indication of success.

Implements GHOST_IWindow.

Definition at line 1220 of file GHOST_WindowCocoa.mm.

References GHOST_kFailure, and GHOST_kSuccess.

◆ invalidate()

GHOST_TSuccess GHOST_WindowCocoa::invalidate ( )
overrideprotectedvirtual

Invalidates the contents of this window.

Returns
Indication of success.

Implements GHOST_IWindow.

Definition at line 934 of file GHOST_WindowCocoa.mm.

References getValid(), GHOST_ASSERT, GHOST_kSuccess, m_metalView, m_openGLView, and view.

◆ isDialog()

bool GHOST_WindowCocoa::isDialog ( ) const
overridevirtual

◆ loadCursor()

void GHOST_WindowCocoa::loadCursor ( bool visible,
GHOST_TStandardCursor cursor ) const

Definition at line 1136 of file GHOST_WindowCocoa.mm.

References GHOST_kStandardCursorDefault.

Referenced by GHOST_SystemCocoa::handleWindowEvent().

◆ newDrawingContext()

GHOST_Context * GHOST_WindowCocoa::newDrawingContext ( GHOST_TDrawingContextType type)
overrideprotectedvirtual
Parameters
typeThe type of rendering context create.
Returns
Indication of success.

Implements GHOST_Window.

Definition at line 897 of file GHOST_WindowCocoa.mm.

References m_metalLayer, m_metalView, m_preferred_device, and GHOST_Window::m_wantStereoVisual.

◆ screenToClient()

void GHOST_WindowCocoa::screenToClient ( int32_t inX,
int32_t inY,
int32_t & outX,
int32_t & outY ) const
overridevirtual

Converts a point in screen coordinates to client rectangle coordinates

Parameters
inXThe x-coordinate on the screen.
inYThe y-coordinate on the screen.
outXThe x-coordinate in the client rectangle.
outYThe y-coordinate in the client rectangle.

Implements GHOST_IWindow.

Definition at line 730 of file GHOST_WindowCocoa.mm.

References getClientBounds(), GHOST_Rect::getHeight(), getValid(), GHOST_ASSERT, and screenToClientIntern().

Referenced by GHOST_SystemCocoa::handleMouseEvent().

◆ screenToClientIntern()

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.

Parameters
inXThe x-coordinate on the screen.
inYThe y-coordinate on the screen.
outXThe x-coordinate in the client rectangle.
outYThe y-coordinate in the client rectangle.

Definition at line 760 of file GHOST_WindowCocoa.mm.

References m_window.

Referenced by GHOST_SystemCocoa::handleMouseEvent(), and screenToClient().

◆ setClientHeight()

GHOST_TSuccess GHOST_WindowCocoa::setClientHeight ( uint32_t height)
overridevirtual

Resizes client rectangle height.

Parameters
heightThe new height of the client area of the window.

Implements GHOST_IWindow.

Definition at line 672 of file GHOST_WindowCocoa.mm.

References getClientBounds(), GHOST_Rect::getHeight(), getValid(), GHOST_Rect::getWidth(), GHOST_ASSERT, GHOST_kSuccess, m_window, and size().

◆ setClientSize()

GHOST_TSuccess GHOST_WindowCocoa::setClientSize ( uint32_t width,
uint32_t height )
overridevirtual

Resizes client rectangle.

Parameters
widthThe new width of the client area of the window.
heightThe new height of the client area of the window.

Implements GHOST_IWindow.

Definition at line 688 of file GHOST_WindowCocoa.mm.

References getClientBounds(), GHOST_Rect::getHeight(), getValid(), GHOST_Rect::getWidth(), GHOST_ASSERT, GHOST_kSuccess, m_window, and size().

◆ setClientWidth()

GHOST_TSuccess GHOST_WindowCocoa::setClientWidth ( uint32_t width)
overridevirtual

Resizes client rectangle width.

Parameters
widthThe new width of the client area of the window.

Implements GHOST_IWindow.

Definition at line 656 of file GHOST_WindowCocoa.mm.

References getClientBounds(), GHOST_Rect::getHeight(), getValid(), GHOST_Rect::getWidth(), GHOST_ASSERT, GHOST_kSuccess, m_window, and size().

◆ setImmediateDraw()

void GHOST_WindowCocoa::setImmediateDraw ( bool value)
inline

Definition at line 244 of file GHOST_WindowCocoa.hh.

References m_immediateDraw, and value.

◆ setModifiedState()

GHOST_TSuccess GHOST_WindowCocoa::setModifiedState ( bool isUnsavedChanges)
overridevirtual

Sets the window "modified" status, indicating unsaved changes

Parameters
isUnsavedChangesUnsaved changes or not.
Returns
Indication of success.

Reimplemented from GHOST_Window.

Definition at line 861 of file GHOST_WindowCocoa.mm.

References m_window, and GHOST_Window::setModifiedState().

◆ setNativePixelSize()

void GHOST_WindowCocoa::setNativePixelSize ( )

◆ setOrder()

GHOST_TSuccess GHOST_WindowCocoa::setOrder ( GHOST_TWindowOrder order)
overridevirtual

Sets the order of the window (bottom, top).

Parameters
orderThe order of the window.
Returns
Indication of success.

Implements GHOST_IWindow.

Definition at line 869 of file GHOST_WindowCocoa.mm.

References getValid(), GHOST_ASSERT, GHOST_kSuccess, GHOST_kWindowOrderTop, and m_window.

◆ setPath()

GHOST_TSuccess GHOST_WindowCocoa::setPath ( const char * filepath)
overridevirtual

Sets the file name represented by this window.

Parameters
filepathThe file directory.

Reimplemented from GHOST_Window.

Definition at line 556 of file GHOST_WindowCocoa.mm.

References getValid(), GHOST_ASSERT, GHOST_kSuccess, and m_window.

◆ setProgressBar()

GHOST_TSuccess GHOST_WindowCocoa::setProgressBar ( float progress)
overridevirtual

Sets the progress bar value displayed in the window/application icon

Parameters
progressThe progress percentage (0.0 to 1.0).

Reimplemented from GHOST_Window.

Definition at line 949 of file GHOST_WindowCocoa.mm.

References GHOST_kSuccess, and GHOST_Window::m_progressBarVisible.

◆ setState()

GHOST_TSuccess GHOST_WindowCocoa::setState ( GHOST_TWindowState state)
overridevirtual

Sets the state of the window (normal, minimized, maximized).

Parameters
stateThe state of the window.
Returns
Indication of success.
Note
Full-screen switch is not actual full-screen with display capture. As this capture removes all OS X window manager features.

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 818 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().

◆ setTitle()

void GHOST_WindowCocoa::setTitle ( const char * title)
overridevirtual

Sets the title displayed in the title bar.

Parameters
titleThe title to display in the title bar.

Implements GHOST_IWindow.

Definition at line 530 of file GHOST_WindowCocoa.mm.

References getValid(), GHOST_ASSERT, and m_window.

Referenced by GHOST_WindowCocoa().

◆ setWindowCursorGrab()

GHOST_TSuccess GHOST_WindowCocoa::setWindowCursorGrab ( GHOST_TGrabCursorMode mode)
overrideprotectedvirtual

Sets the cursor grab on the window using native window system calls.

Reimplemented from GHOST_Window.

Definition at line 1176 of file GHOST_WindowCocoa.mm.

References GHOST_kGrabDisable, GHOST_kGrabHide, GHOST_kGrabNormal, GHOST_kSuccess, and m_window.

◆ setWindowCursorShape()

GHOST_TSuccess GHOST_WindowCocoa::setWindowCursorShape ( GHOST_TStandardCursor shape)
overrideprotectedvirtual

Sets the cursor shape on the window using native window system calls.

Implements GHOST_Window.

Definition at line 1210 of file GHOST_WindowCocoa.mm.

References GHOST_kSuccess.

◆ setWindowCursorVisibility()

GHOST_TSuccess GHOST_WindowCocoa::setWindowCursorVisibility ( bool visible)
overrideprotectedvirtual

Sets the cursor visibility on the window using native window system calls.

Implements GHOST_Window.

Definition at line 1166 of file GHOST_WindowCocoa.mm.

References GHOST_kSuccess.

◆ setWindowCustomCursorShape()

GHOST_TSuccess GHOST_WindowCocoa::setWindowCustomCursorShape ( uint8_t * bitmap,
uint8_t * mask,
int sizex,
int sizey,
int hotX,
int hotY,
bool canInvertColor )
overrideprotectedvirtual

Sets the cursor shape on the window using native window system calls.

Implements GHOST_Window.

Definition at line 1249 of file GHOST_WindowCocoa.mm.

References GHOST_kStandardCursorCustom, GHOST_kSuccess, m_customCursor, mask(), uns16ReverseBits(), and y.

Member Data Documentation

◆ m_customCursor

NSCursor* GHOST_WindowCocoa::m_customCursor
protected

Definition at line 313 of file GHOST_WindowCocoa.hh.

Referenced by setWindowCustomCursorShape(), and ~GHOST_WindowCocoa().

◆ m_debug_context

bool GHOST_WindowCocoa::m_debug_context
protected

Definition at line 318 of file GHOST_WindowCocoa.hh.

◆ m_immediateDraw

bool GHOST_WindowCocoa::m_immediateDraw
protected

Definition at line 317 of file GHOST_WindowCocoa.hh.

Referenced by getImmediateDraw(), getState(), and setImmediateDraw().

◆ m_is_dialog

bool GHOST_WindowCocoa::m_is_dialog
protected

Definition at line 319 of file GHOST_WindowCocoa.hh.

◆ m_metalLayer

CAMetalLayer* GHOST_WindowCocoa::m_metalLayer
protected

Definition at line 308 of file GHOST_WindowCocoa.hh.

Referenced by GHOST_WindowCocoa(), newDrawingContext(), and ~GHOST_WindowCocoa().

◆ m_metalView

CocoaMetalView* GHOST_WindowCocoa::m_metalView
protected

◆ m_openGLView

CocoaOpenGLView* GHOST_WindowCocoa::m_openGLView
protected

The view, either Metal or OpenGL

Definition at line 306 of file GHOST_WindowCocoa.hh.

Referenced by getValid(), GHOST_WindowCocoa(), invalidate(), setNativePixelSize(), and ~GHOST_WindowCocoa().

◆ m_preferred_device

GHOST_GPUDevice GHOST_WindowCocoa::m_preferred_device
protected

Definition at line 320 of file GHOST_WindowCocoa.hh.

Referenced by newDrawingContext().

◆ m_systemCocoa

GHOST_SystemCocoa* GHOST_WindowCocoa::m_systemCocoa
protected

The mother SystemCocoa class to send events

Definition at line 311 of file GHOST_WindowCocoa.hh.

Referenced by GHOST_WindowCocoa().

◆ m_tablet

GHOST_TabletData GHOST_WindowCocoa::m_tablet
protected

Definition at line 315 of file GHOST_WindowCocoa.hh.

Referenced by GetCocoaTabletData(), and GHOST_WindowCocoa().

◆ m_window


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