Blender  V3.3
wm_xr_actionmap.c File Reference
#include <math.h>
#include <string.h>
#include "BKE_context.h"
#include "BKE_idprop.h"
#include "BLI_listbase.h"
#include "BLI_string.h"
#include "GHOST_Types.h"
#include "MEM_guardedalloc.h"
#include "WM_api.h"
#include "WM_types.h"
#include "wm_xr_intern.h"

Go to the source code of this file.

Macros

Window-Manager XR Action Maps

XR actionmap API, similar to WM keymap API.

#define WM_XR_ACTIONMAP_STR_DEFAULT   "actionmap"
 
#define WM_XR_ACTIONMAP_ITEM_STR_DEFAULT   "action"
 
#define WM_XR_ACTIONMAP_BINDING_STR_DEFAULT   "binding"
 

Functions

Action Map Binding

Binding in an XR action map item, that maps an action to an XR input.

XrActionMapBindingWM_xr_actionmap_binding_new (XrActionMapItem *ami, const char *name, bool replace_existing)
 
static XrActionMapBindingwm_xr_actionmap_binding_find_except (XrActionMapItem *ami, const char *name, XrActionMapBinding *ambexcept)
 
void WM_xr_actionmap_binding_ensure_unique (XrActionMapItem *ami, XrActionMapBinding *amb)
 
static XrActionMapBindingwm_xr_actionmap_binding_copy (XrActionMapBinding *amb_src)
 
XrActionMapBindingWM_xr_actionmap_binding_add_copy (XrActionMapItem *ami, XrActionMapBinding *amb_src)
 
static void wm_xr_actionmap_binding_clear (XrActionMapBinding *amb)
 
bool WM_xr_actionmap_binding_remove (XrActionMapItem *ami, XrActionMapBinding *amb)
 
XrActionMapBindingWM_xr_actionmap_binding_find (XrActionMapItem *ami, const char *name)
 
Action Map Item

Item in an XR action map, that maps an XR event to an operator, pose, or haptic output.

static void wm_xr_actionmap_item_properties_set (XrActionMapItem *ami)
 
static void wm_xr_actionmap_item_properties_free (XrActionMapItem *ami)
 
static void wm_xr_actionmap_item_clear (XrActionMapItem *ami)
 
void WM_xr_actionmap_item_properties_update_ot (XrActionMapItem *ami)
 
XrActionMapItemWM_xr_actionmap_item_new (XrActionMap *actionmap, const char *name, bool replace_existing)
 
static XrActionMapItemwm_xr_actionmap_item_find_except (XrActionMap *actionmap, const char *name, const XrActionMapItem *amiexcept)
 
void WM_xr_actionmap_item_ensure_unique (XrActionMap *actionmap, XrActionMapItem *ami)
 
static XrActionMapItemwm_xr_actionmap_item_copy (XrActionMapItem *ami_src)
 
XrActionMapItemWM_xr_actionmap_item_add_copy (XrActionMap *actionmap, XrActionMapItem *ami_src)
 
bool WM_xr_actionmap_item_remove (XrActionMap *actionmap, XrActionMapItem *ami)
 
XrActionMapItemWM_xr_actionmap_item_find (XrActionMap *actionmap, const char *name)
 
Action Map

List of XR action map items.

XrActionMapWM_xr_actionmap_new (wmXrRuntimeData *runtime, const char *name, bool replace_existing)
 
static XrActionMapwm_xr_actionmap_find_except (wmXrRuntimeData *runtime, const char *name, const XrActionMap *am_except)
 
void WM_xr_actionmap_ensure_unique (wmXrRuntimeData *runtime, XrActionMap *actionmap)
 
static XrActionMapwm_xr_actionmap_copy (XrActionMap *am_src)
 
XrActionMapWM_xr_actionmap_add_copy (wmXrRuntimeData *runtime, XrActionMap *am_src)
 
bool WM_xr_actionmap_remove (wmXrRuntimeData *runtime, XrActionMap *actionmap)
 
XrActionMapWM_xr_actionmap_find (wmXrRuntimeData *runtime, const char *name)
 
void WM_xr_actionmap_clear (XrActionMap *actionmap)
 
void WM_xr_actionmaps_clear (wmXrRuntimeData *runtime)
 
ListBaseWM_xr_actionmaps_get (wmXrRuntimeData *runtime)
 
short WM_xr_actionmap_active_index_get (const wmXrRuntimeData *runtime)
 
void WM_xr_actionmap_active_index_set (wmXrRuntimeData *runtime, short idx)
 
short WM_xr_actionmap_selected_index_get (const wmXrRuntimeData *runtime)
 
void WM_xr_actionmap_selected_index_set (wmXrRuntimeData *runtime, short idx)
 

Macro Definition Documentation

◆ WM_XR_ACTIONMAP_BINDING_STR_DEFAULT

#define WM_XR_ACTIONMAP_BINDING_STR_DEFAULT   "binding"

Definition at line 31 of file wm_xr_actionmap.c.

◆ WM_XR_ACTIONMAP_ITEM_STR_DEFAULT

#define WM_XR_ACTIONMAP_ITEM_STR_DEFAULT   "action"

Definition at line 30 of file wm_xr_actionmap.c.

◆ WM_XR_ACTIONMAP_STR_DEFAULT

#define WM_XR_ACTIONMAP_STR_DEFAULT   "actionmap"

Definition at line 29 of file wm_xr_actionmap.c.

Function Documentation

◆ WM_xr_actionmap_active_index_get()

short WM_xr_actionmap_active_index_get ( const wmXrRuntimeData runtime)

Definition at line 527 of file wm_xr_actionmap.c.

References wmXrRuntimeData::actactionmap.

◆ WM_xr_actionmap_active_index_set()

void WM_xr_actionmap_active_index_set ( wmXrRuntimeData runtime,
short  idx 
)

Definition at line 532 of file wm_xr_actionmap.c.

References wmXrRuntimeData::actactionmap.

◆ WM_xr_actionmap_add_copy()

XrActionMap* WM_xr_actionmap_add_copy ( wmXrRuntimeData runtime,
XrActionMap am_src 
)

◆ WM_xr_actionmap_binding_add_copy()

XrActionMapBinding* WM_xr_actionmap_binding_add_copy ( XrActionMapItem ami,
XrActionMapBinding amb_src 
)

◆ wm_xr_actionmap_binding_clear()

static void wm_xr_actionmap_binding_clear ( XrActionMapBinding amb)
static

◆ wm_xr_actionmap_binding_copy()

static XrActionMapBinding* wm_xr_actionmap_binding_copy ( XrActionMapBinding amb_src)
static

◆ WM_xr_actionmap_binding_ensure_unique()

void WM_xr_actionmap_binding_ensure_unique ( XrActionMapItem ami,
XrActionMapBinding amb 
)

◆ WM_xr_actionmap_binding_find()

XrActionMapBinding* WM_xr_actionmap_binding_find ( XrActionMapItem ami,
const char *  name 
)

◆ wm_xr_actionmap_binding_find_except()

static XrActionMapBinding* wm_xr_actionmap_binding_find_except ( XrActionMapItem ami,
const char *  name,
XrActionMapBinding ambexcept 
)
static

◆ WM_xr_actionmap_binding_new()

XrActionMapBinding* WM_xr_actionmap_binding_new ( XrActionMapItem ami,
const char *  name,
bool  replace_existing 
)

◆ WM_xr_actionmap_binding_remove()

bool WM_xr_actionmap_binding_remove ( XrActionMapItem ami,
XrActionMapBinding amb 
)

◆ WM_xr_actionmap_clear()

void WM_xr_actionmap_clear ( XrActionMap actionmap)

◆ wm_xr_actionmap_copy()

static XrActionMap* wm_xr_actionmap_copy ( XrActionMap am_src)
static

◆ WM_xr_actionmap_ensure_unique()

void WM_xr_actionmap_ensure_unique ( wmXrRuntimeData runtime,
XrActionMap actionmap 
)

◆ WM_xr_actionmap_find()

XrActionMap* WM_xr_actionmap_find ( wmXrRuntimeData runtime,
const char *  name 
)

Definition at line 494 of file wm_xr_actionmap.c.

References wmXrRuntimeData::actionmaps, LISTBASE_FOREACH, MAX_NAME, NULL, and STREQLEN.

Referenced by WM_xr_actionmap_new().

◆ wm_xr_actionmap_find_except()

static XrActionMap* wm_xr_actionmap_find_except ( wmXrRuntimeData runtime,
const char *  name,
const XrActionMap am_except 
)
static

◆ WM_xr_actionmap_item_add_copy()

XrActionMapItem* WM_xr_actionmap_item_add_copy ( XrActionMap actionmap,
XrActionMapItem ami_src 
)

◆ wm_xr_actionmap_item_clear()

static void wm_xr_actionmap_item_clear ( XrActionMapItem ami)
static

◆ wm_xr_actionmap_item_copy()

static XrActionMapItem* wm_xr_actionmap_item_copy ( XrActionMapItem ami_src)
static

◆ WM_xr_actionmap_item_ensure_unique()

void WM_xr_actionmap_item_ensure_unique ( XrActionMap actionmap,
XrActionMapItem ami 
)

◆ WM_xr_actionmap_item_find()

XrActionMapItem* WM_xr_actionmap_item_find ( XrActionMap actionmap,
const char *  name 
)

Definition at line 367 of file wm_xr_actionmap.c.

References XrActionMap::items, LISTBASE_FOREACH, MAX_NAME, NULL, and STREQLEN.

Referenced by WM_xr_actionmap_item_new().

◆ wm_xr_actionmap_item_find_except()

static XrActionMapItem* wm_xr_actionmap_item_find_except ( XrActionMap actionmap,
const char *  name,
const XrActionMapItem amiexcept 
)
static

◆ WM_xr_actionmap_item_new()

XrActionMapItem* WM_xr_actionmap_item_new ( XrActionMap actionmap,
const char *  name,
bool  replace_existing 
)

◆ wm_xr_actionmap_item_properties_free()

static void wm_xr_actionmap_item_properties_free ( XrActionMapItem ami)
static

◆ wm_xr_actionmap_item_properties_set()

static void wm_xr_actionmap_item_properties_set ( XrActionMapItem ami)
static

◆ WM_xr_actionmap_item_properties_update_ot()

void WM_xr_actionmap_item_properties_update_ot ( XrActionMapItem ami)

◆ WM_xr_actionmap_item_remove()

bool WM_xr_actionmap_item_remove ( XrActionMap actionmap,
XrActionMapItem ami 
)

◆ WM_xr_actionmap_new()

XrActionMap* WM_xr_actionmap_new ( wmXrRuntimeData runtime,
const char *  name,
bool  replace_existing 
)

◆ WM_xr_actionmap_remove()

bool WM_xr_actionmap_remove ( wmXrRuntimeData runtime,
XrActionMap actionmap 
)

◆ WM_xr_actionmap_selected_index_get()

short WM_xr_actionmap_selected_index_get ( const wmXrRuntimeData runtime)

Definition at line 537 of file wm_xr_actionmap.c.

References wmXrRuntimeData::selactionmap.

◆ WM_xr_actionmap_selected_index_set()

void WM_xr_actionmap_selected_index_set ( wmXrRuntimeData runtime,
short  idx 
)

Definition at line 542 of file wm_xr_actionmap.c.

References wmXrRuntimeData::selactionmap.

◆ WM_xr_actionmaps_clear()

void WM_xr_actionmaps_clear ( wmXrRuntimeData runtime)

◆ WM_xr_actionmaps_get()

ListBase* WM_xr_actionmaps_get ( wmXrRuntimeData runtime)

Definition at line 522 of file wm_xr_actionmap.c.

References wmXrRuntimeData::actionmaps.