22 const bool wantStereoVisual,
26 m_cursorVisible(
true),
29 m_cursorGrabInitPos{0, 0},
30 m_cursorGrabAccumPos{0, 0},
32 m_progressBarVisible(
false),
33 m_canAcceptDragOperation(
false),
34 m_isUnsavedChanges(
false),
35 m_wantStereoVisual(wantStereoVisual),
36 m_nativePixelSize(1.0f),
67 if (m_context !=
nullptr) {
110#ifdef WITH_VULKAN_BACKEND
111GHOST_TSuccess GHOST_Window::getVulkanSwapChainFormat(GHOST_VulkanSwapChainData *r_swap_chain_data)
113 return m_context->getVulkanSwapChainFormat(r_swap_chain_data);
150 if (mouse_ungrab_xy) {
186 bool &use_software_cursor)
220 uint8_t *bitmap,
uint8_t *mask,
int sizex,
int sizey,
int hotX,
int hotY,
bool canInvertColor)
@ GHOST_kWindowStateFullScreen
@ GHOST_kStandardCursorCustom
@ GHOST_kStandardCursorDefault
GHOST_TDrawingContextType
@ GHOST_kDrawingContextTypeNone
static btDbvtVolume bounds(btDbvtNode **leaves, int count)
virtual GHOST_TSuccess activateDrawingContext() override=0
virtual GHOST_TSuccess releaseNativeHandles()=0
virtual GHOST_TSuccess setSwapInterval(int)
virtual GHOST_TSuccess updateDrawingContext()
virtual unsigned int getDefaultFramebuffer() override
virtual GHOST_TSuccess swapBuffers() override=0
virtual GHOST_TSuccess getSwapInterval(int &)
virtual void getClientBounds(GHOST_Rect &bounds) const =0
GHOST_TSuccess setCustomCursorShape(uint8_t *bitmap, uint8_t *mask, int sizex, int sizey, int hotX, int hotY, bool canInvertColor) override
GHOST_TSuccess getSwapInterval(int &intervalOut) override
GHOST_Rect m_cursorGrabBounds
bool getCursorGrabUseSoftwareDisplay() override
GHOST_TSuccess getCursorGrabBounds(GHOST_Rect &bounds) const override
virtual void * getOSWindow() const override
GHOST_TGrabCursorMode m_cursorGrab
int32_t m_cursorGrabInitPos[2]
GHOST_TSuccess setDrawingContextType(GHOST_TDrawingContextType type) override
GHOST_TStandardCursor m_cursorShape
GHOST_Context * getContext()
bool canAcceptDragOperation() const override
GHOST_TSuccess setCursorGrab(GHOST_TGrabCursorMode mode, GHOST_TAxisFlag wrap_axis, GHOST_Rect *bounds, int32_t mouse_ungrab_xy[2]) override
virtual unsigned int getDefaultFramebuffer() override
GHOST_TSuccess setSwapInterval(int interval) override
virtual GHOST_TSuccess setWindowCursorGrab(GHOST_TGrabCursorMode)
GHOST_TSuccess releaseNativeHandles()
GHOST_TSuccess setCursorShape(GHOST_TStandardCursor cursorShape) override
GHOST_TAxisFlag m_cursorGrabAxis
virtual GHOST_TSuccess setWindowCustomCursorShape(uint8_t *bitmap, uint8_t *mask, int szx, int szy, int hotX, int hotY, bool canInvertColor)=0
virtual bool getModifiedState() override
GHOST_TSuccess setCursorVisibility(bool visible) override
GHOST_TSuccess getCursorBitmap(GHOST_CursorBitmapRef *bitmap) override
virtual GHOST_TSuccess setWindowCursorVisibility(bool visible)=0
GHOST_TDrawingContextType m_drawingContextType
virtual GHOST_TSuccess activateDrawingContext() override
virtual GHOST_TSuccess swapBuffers() override
uint32_t m_fullScreenHeight
virtual GHOST_IContext * getDrawingContext() override
GHOST_Window(uint32_t width, uint32_t height, GHOST_TWindowState state, const bool wantStereoVisual=false, const bool exclusive=false)
void getCursorGrabState(GHOST_TGrabCursorMode &mode, GHOST_TAxisFlag &wrap_axis, GHOST_Rect &bounds, bool &use_software_cursor) override
GHOST_TSuccess updateDrawingContext()
void setAcceptDragOperation(bool canAccept) override
virtual GHOST_TSuccess setModifiedState(bool isUnsavedChanges) override
virtual GHOST_TSuccess setWindowCursorShape(GHOST_TStandardCursor shape)=0
virtual GHOST_Context * newDrawingContext(GHOST_TDrawingContextType type)=0
bool m_canAcceptDragOperation
uint32_t m_fullScreenWidth