|
Monado OpenXR Runtime
|
Android face tracking related API entrypoint functions. More...
#include <stdio.h>#include <stdlib.h>#include <string.h>#include "oxr_objects.h"#include "oxr_logger.h"#include "oxr_handle.h"#include "oxr_xret.h"#include "oxr_two_call.h"Functions | |
| static XrResult | oxr_face_tracker_android_destroy_cb (struct oxr_logger *log, struct oxr_handle_base *hb) |
| XrResult | oxr_face_tracker_android_create (struct oxr_logger *log, struct oxr_session *sess, const XrFaceTrackerCreateInfoANDROID *createInfo, XrFaceTrackerANDROID *faceTracker) |
| XrResult | oxr_get_face_state_android (struct oxr_logger *log, struct oxr_face_tracker_android *facial_tracker_android, const XrFaceStateGetInfoANDROID *getInfo, XrFaceStateANDROID *faceStateOutput) |
| XrResult | oxr_get_face_calibration_state_android (struct oxr_logger *log, struct oxr_face_tracker_android *facial_tracker_android, XrBool32 *faceIsCalibratedOutput) |
Android face tracking related API entrypoint functions.
| XrResult oxr_get_face_state_android | ( | struct oxr_logger * | log, |
| struct oxr_face_tracker_android * | facial_tracker_android, | ||
| const XrFaceStateGetInfoANDROID * | getInfo, | ||
| XrFaceStateANDROID * | faceStateOutput | ||
| ) |
OXR_TWO_CALL_CHECK_* macro usage here is not technically necessary because validation is handled in the API layer before this function is called, but we still reuse them here for declarative purposes of handling two-call patterns of setting capacities on the first call.
Use the goto macro variant because a two-call check needs to happen with region confidences as well; we can't early exit for only one of them.