Blender V4.3
GHOST_IXrContext.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2002-2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "GHOST_Types.h"
12
13class GHOST_XrSession;
14
16 public:
17 virtual ~GHOST_IXrContext() = default;
18
19 virtual void startSession(const GHOST_XrSessionBeginInfo *begin_info) = 0;
20 virtual void endSession() = 0;
21 virtual bool isSessionRunning() const = 0;
22 virtual void drawSessionViews(void *draw_customdata) = 0;
23
24 /* Needed for the GHOST C api. */
26 virtual const GHOST_XrSession *getSession() const = 0;
27
28 virtual void dispatchErrorMessage(const class GHOST_XrException *) const = 0;
29
30 virtual void setGraphicsContextBindFuncs(GHOST_XrGraphicsContextBindFn bind_fn,
31 GHOST_XrGraphicsContextUnbindFn unbind_fn) = 0;
32 virtual void setDrawViewFunc(GHOST_XrDrawViewFn draw_view_fn) = 0;
33 virtual void setPassthroughEnabledFunc(GHOST_XrPassthroughEnabledFn passthrough_enabled_fn) = 0;
34 virtual void setDisablePassthroughFunc(GHOST_XrDisablePassthroughFn disable_passthrough_fn) = 0;
35
36 virtual bool needsUpsideDownDrawing() const = 0;
37};
virtual const GHOST_XrSession * getSession() const =0
virtual void endSession()=0
virtual GHOST_XrSession * getSession()=0
virtual void setDisablePassthroughFunc(GHOST_XrDisablePassthroughFn disable_passthrough_fn)=0
virtual void startSession(const GHOST_XrSessionBeginInfo *begin_info)=0
virtual void setPassthroughEnabledFunc(GHOST_XrPassthroughEnabledFn passthrough_enabled_fn)=0
virtual bool needsUpsideDownDrawing() const =0
virtual ~GHOST_IXrContext()=default
virtual void setGraphicsContextBindFuncs(GHOST_XrGraphicsContextBindFn bind_fn, GHOST_XrGraphicsContextUnbindFn unbind_fn)=0
virtual void drawSessionViews(void *draw_customdata)=0
virtual bool isSessionRunning() const =0
virtual void setDrawViewFunc(GHOST_XrDrawViewFn draw_view_fn)=0
virtual void dispatchErrorMessage(const class GHOST_XrException *) const =0