Monado OpenXR Runtime
oxr_subaction.h File Reference

Provides a utility macro for dealing with subaction paths. More...

Go to the source code of this file.

Macros

#define OXR_FOR_EACH_VALID_SUBACTION_PATH(_)
 Expansion macro (x-macro) that calls the macro you pass with the shorthand name of each valid subaction path. More...
 
#define OXR_FOR_EACH_SUBACTION_PATH(_)
 Expansion macro (x-macro) that calls the macro you pass with the shorthand name of each subaction path, including just bare user. More...
 
#define OXR_FOR_EACH_VALID_SUBACTION_PATH_DETAILED(_)
 Expansion macro (x-macro) that calls the macro you pass for each valid subaction path, with the shorthand name of each subaction path, the same name capitalized, and the corresponding path string. More...
 
#define OXR_FOR_EACH_SUBACTION_PATH_DETAILED(_)
 Expansion macro (x-macro) that calls the macro you pass for each subaction path (including the bare /user), with the shorthand name of each subaction path, the same name capitalized, and the corresponding path string. More...
 

Detailed Description

Provides a utility macro for dealing with subaction paths.

Author
Rylie Pavlik rylie.nosp@m..pav.nosp@m.lik@c.nosp@m.olla.nosp@m.bora..nosp@m.com

Macro Definition Documentation

◆ OXR_FOR_EACH_SUBACTION_PATH

#define OXR_FOR_EACH_SUBACTION_PATH (   _)
Value:
_(user)
#define OXR_FOR_EACH_VALID_SUBACTION_PATH(_)
Expansion macro (x-macro) that calls the macro you pass with the shorthand name of each valid subacti...
Definition: oxr_subaction.h:23

Expansion macro (x-macro) that calls the macro you pass with the shorthand name of each subaction path, including just bare user.

Use to generate code that checks each subaction path in sequence, etc.

Note
Keep this synchronized with OXR_ACTION_GET_FILLER!

◆ OXR_FOR_EACH_SUBACTION_PATH_DETAILED

#define OXR_FOR_EACH_SUBACTION_PATH_DETAILED (   _)
Value:
_(user, USER, "/user")
#define OXR_FOR_EACH_VALID_SUBACTION_PATH_DETAILED(_)
Expansion macro (x-macro) that calls the macro you pass for each valid subaction path,...
Definition: oxr_subaction.h:56

Expansion macro (x-macro) that calls the macro you pass for each subaction path (including the bare /user), with the shorthand name of each subaction path, the same name capitalized, and the corresponding path string.

Use to generate code that checks each subaction path in sequence, etc.

Most of the time you can just use OXR_FOR_EACH_VALID_SUBACTION_PATH() or OXR_FOR_EACH_SUBACTION_PATH()

◆ OXR_FOR_EACH_VALID_SUBACTION_PATH

#define OXR_FOR_EACH_VALID_SUBACTION_PATH (   _)
Value:
_(left) \
_(right) \
_(head) \
_(gamepad) \
_(eyes)

Expansion macro (x-macro) that calls the macro you pass with the shorthand name of each valid subaction path.

Use to generate code that checks each subaction path in sequence, etc.

If you also want the bogus subaction path of just plain /user, then see OXR_FOR_EACH_SUBACTION_PATH()

Note
Keep this synchronized with OXR_ACTION_GET_FILLER!

◆ OXR_FOR_EACH_VALID_SUBACTION_PATH_DETAILED

#define OXR_FOR_EACH_VALID_SUBACTION_PATH_DETAILED (   _)
Value:
_(left, LEFT, "/user/hand/left") \
_(right, RIGHT, "/user/hand/right") \
_(head, HEAD, "/user/head") \
_(gamepad, GAMEPAD, "/user/gamepad") \
_(eyes, EYES, "/user/eyes_ext")

Expansion macro (x-macro) that calls the macro you pass for each valid subaction path, with the shorthand name of each subaction path, the same name capitalized, and the corresponding path string.

If you also want the bogus subaction path of just plain /user, then see OXR_FOR_EACH_SUBACTION_PATH_DETAILED()

Use to generate code that checks each subaction path in sequence, etc.

Most of the time you can just use OXR_FOR_EACH_VALID_SUBACTION_PATH() or OXR_FOR_EACH_SUBACTION_PATH()