Blender V5.0
GHOST_IContext.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9
10#pragma once
11
12#include "GHOST_Types.h"
13
14#ifdef WITH_VULKAN_BACKEND
15# include <functional>
16#endif
17
26 public:
30 virtual ~GHOST_IContext() = default;
31
36
42
48
53 virtual unsigned int getDefaultFramebuffer() = 0;
59
65
66#ifdef WITH_VULKAN_BACKEND
78 virtual GHOST_TSuccess getVulkanHandles(GHOST_VulkanHandles &r_handles) = 0;
79
92 virtual GHOST_TSuccess getVulkanSwapChainFormat(
93 GHOST_VulkanSwapChainData *r_swap_chain_data) = 0;
94
110 virtual GHOST_TSuccess setVulkanSwapBuffersCallbacks(
111 std::function<void(const GHOST_VulkanSwapChainData *)> swap_buffer_draw_callback,
112 std::function<void(void)> swap_buffer_acquired_callback,
113 std::function<void(GHOST_VulkanOpenXRData *)> openxr_acquire_framebuffer_image_callback,
114 std::function<void(GHOST_VulkanOpenXRData *)> openxr_release_framebuffer_image_callback) = 0;
115#endif
116
117 MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_IContext")
118};
GHOST_TSuccess
Definition GHOST_Types.h:57
virtual GHOST_TSuccess releaseDrawingContext()=0
virtual GHOST_TSuccess swapBufferRelease()=0
static GHOST_IContext * getActiveDrawingContext()
virtual GHOST_TSuccess activateDrawingContext()=0
virtual GHOST_TSuccess swapBufferAcquire()=0
virtual ~GHOST_IContext()=default
virtual unsigned int getDefaultFramebuffer()=0