29 #define WM_XR_ACTIONMAP_STR_DEFAULT "actionmap"
30 #define WM_XR_ACTIONMAP_ITEM_STR_DEFAULT "action"
31 #define WM_XR_ACTIONMAP_BINDING_STR_DEFAULT "binding"
41 bool replace_existing)
44 if (amb_prev && replace_existing) {
83 suffix = &name[baselen];
86 if ((baselen + 1) + (log10(++idx) + 1) >
MAX_NAME) {
90 suffix = &name[baselen];
140 if (idx <= ami->selbinding) {
212 memset(ami->
op, 0,
sizeof(ami->
op));
216 if (ami->
op[0] == 0) {
244 bool replace_existing)
247 if (ami_prev && replace_existing) {
287 suffix = &name[baselen];
290 if ((baselen + 1) + (log10(++idx) + 1) >
MAX_NAME) {
294 suffix = &name[baselen];
355 if (idx <= actionmap->selitem) {
356 if (--actionmap->
selitem < 0) {
388 if (am_prev && replace_existing) {
426 suffix = &name[baselen];
429 if ((baselen + 1) + (log10(++idx) + 1) >
MAX_NAME) {
433 suffix = &name[baselen];
477 if (idx <= runtime->actactionmap) {
482 if (idx <= runtime->selactionmap) {
struct IDProperty * IDP_CopyProperty(const struct IDProperty *prop) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
#define LISTBASE_FOREACH(type, var, list)
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
size_t BLI_strnlen(const char *str, size_t maxlen) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
#define STREQLEN(a, b, n)
Read Guarded memory(de)allocation.
void(* MEM_freeN)(void *vmemh)
void *(* MEM_dupallocN)(const void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
struct XrActionMapBinding * next
struct XrActionMapBinding * prev
struct XrActionMapItem * prev
struct XrActionMapItem * next
IDProperty * op_properties
struct PointerRNA * op_properties_ptr
struct XrActionMap * next
struct XrActionMap * prev
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)
void WM_operator_properties_alloc(PointerRNA **ptr, IDProperty **properties, const char *opstring)
void WM_operator_properties_create_ptr(PointerRNA *ptr, wmOperatorType *ot)
void WM_operator_properties_create(PointerRNA *ptr, const char *opstring)
void WM_operator_properties_free(PointerRNA *ptr)
void WM_operator_properties_sanitize(PointerRNA *ptr, const bool no_context)
short WM_xr_actionmap_active_index_get(const wmXrRuntimeData *runtime)
#define WM_XR_ACTIONMAP_BINDING_STR_DEFAULT
#define WM_XR_ACTIONMAP_ITEM_STR_DEFAULT
void WM_xr_actionmap_ensure_unique(wmXrRuntimeData *runtime, XrActionMap *actionmap)
static void wm_xr_actionmap_item_properties_set(XrActionMapItem *ami)
static void wm_xr_actionmap_item_clear(XrActionMapItem *ami)
void WM_xr_actionmap_selected_index_set(wmXrRuntimeData *runtime, short idx)
XrActionMap * WM_xr_actionmap_new(wmXrRuntimeData *runtime, const char *name, bool replace_existing)
static XrActionMap * wm_xr_actionmap_find_except(wmXrRuntimeData *runtime, const char *name, const XrActionMap *am_except)
XrActionMapBinding * WM_xr_actionmap_binding_add_copy(XrActionMapItem *ami, XrActionMapBinding *amb_src)
static XrActionMapItem * wm_xr_actionmap_item_find_except(XrActionMap *actionmap, const char *name, const XrActionMapItem *amiexcept)
XrActionMapBinding * WM_xr_actionmap_binding_new(XrActionMapItem *ami, const char *name, bool replace_existing)
static XrActionMapItem * wm_xr_actionmap_item_copy(XrActionMapItem *ami_src)
void WM_xr_actionmap_active_index_set(wmXrRuntimeData *runtime, short idx)
void WM_xr_actionmaps_clear(wmXrRuntimeData *runtime)
short WM_xr_actionmap_selected_index_get(const wmXrRuntimeData *runtime)
XrActionMap * WM_xr_actionmap_find(wmXrRuntimeData *runtime, const char *name)
static void wm_xr_actionmap_binding_clear(XrActionMapBinding *amb)
XrActionMapItem * WM_xr_actionmap_item_find(XrActionMap *actionmap, const char *name)
static XrActionMap * wm_xr_actionmap_copy(XrActionMap *am_src)
XrActionMapBinding * WM_xr_actionmap_binding_find(XrActionMapItem *ami, const char *name)
XrActionMapItem * WM_xr_actionmap_item_new(XrActionMap *actionmap, const char *name, bool replace_existing)
static XrActionMapBinding * wm_xr_actionmap_binding_copy(XrActionMapBinding *amb_src)
XrActionMapItem * WM_xr_actionmap_item_add_copy(XrActionMap *actionmap, XrActionMapItem *ami_src)
XrActionMap * WM_xr_actionmap_add_copy(wmXrRuntimeData *runtime, XrActionMap *am_src)
static void wm_xr_actionmap_item_properties_free(XrActionMapItem *ami)
void WM_xr_actionmap_item_ensure_unique(XrActionMap *actionmap, XrActionMapItem *ami)
bool WM_xr_actionmap_binding_remove(XrActionMapItem *ami, XrActionMapBinding *amb)
void WM_xr_actionmap_binding_ensure_unique(XrActionMapItem *ami, XrActionMapBinding *amb)
static XrActionMapBinding * wm_xr_actionmap_binding_find_except(XrActionMapItem *ami, const char *name, XrActionMapBinding *ambexcept)
void WM_xr_actionmap_item_properties_update_ot(XrActionMapItem *ami)
#define WM_XR_ACTIONMAP_STR_DEFAULT
void WM_xr_actionmap_clear(XrActionMap *actionmap)
bool WM_xr_actionmap_remove(wmXrRuntimeData *runtime, XrActionMap *actionmap)
bool WM_xr_actionmap_item_remove(XrActionMap *actionmap, XrActionMapItem *ami)
ListBase * WM_xr_actionmaps_get(wmXrRuntimeData *runtime)