@@ -198,9 +198,16 @@ typedef struct gvr_frame_ gvr_frame;
198198// / Generic flag type.
199199typedef uint32_t gvr_flags;
200200
201+ // / Generic 64-bit flag type.
202+ typedef uint64_t gvr_flags64;
203+
201204// / Opaque handle to a collection of properties.
202205typedef struct gvr_properties_ gvr_properties;
203206
207+ // / Represents a Daydream Controller API object, used to invoke the
208+ // / Daydream Controller API.
209+ typedef struct gvr_controller_context_ gvr_controller_context;
210+
204211// / A generic container for various pure value types.
205212typedef struct gvr_value {
206213 int32_t value_type; // gvr_value_type
@@ -211,6 +218,7 @@ typedef struct gvr_value {
211218 int32_t i;
212219 int64_t i64 ;
213220 gvr_flags fl;
221+ gvr_flags64 fl64;
214222 gvr_sizei si;
215223 gvr_recti ri;
216224 gvr_rectf rf;
@@ -231,8 +239,8 @@ typedef struct gvr_value {
231239// / The type of a recentering associated with a GVR_EVENT_RECENTER event.
232240typedef enum {
233241 // / Recentering state received from the platform upon starting or resuming the
234- // / application. This event is usually preceded in the same frame by a
235- // / GVR_EVENT_HEAD_TRACKING_RESUMED event.
242+ // / application. This event is usually precedes a
243+ // / GVR_EVENT_HEAD_TRACKING_RESUMED event in the same frame .
236244 GVR_RECENTER_EVENT_RESTART = 1 ,
237245
238246 // / A recenter event triggered by the controller (e.g. long-press on Home
@@ -251,6 +259,10 @@ typedef enum {
251259typedef struct gvr_recenter_event_data {
252260 int32_t recenter_type; // gvr_recenter_event_type
253261 gvr_flags recenter_event_flags;
262+
263+ // / The new transform that maps from "sensor" space to the recentered "start"
264+ // / space. This transform can also be retrieved by querying for the
265+ // / GVR_PROPERTY_RECENTER_TRANSFORM property.
254266 gvr_mat4f start_space_from_tracking_space_transform;
255267} gvr_recenter_event_data;
256268
@@ -480,20 +492,37 @@ typedef enum {
480492 // Virtual stereo speakers at -30 degrees and +30 degrees.
481493 GVR_AUDIO_SURROUND_FORMAT_SURROUND_STEREO = 2 ,
482494
483- // 5.1 surround sound according to the ITU-R BS 775 speaker configuration
495+ // 5.1 surround sound according to the ITU-R BS. 775-3 speaker configuration
484496 // recommendation:
485- // - Front left (FL ) at 30 degrees.
486- // - Front right (FR ) at -30 degrees.
487- // - Front center (FC ) at 0 degrees.
497+ // - Left (L ) at 30 degrees.
498+ // - Right (R ) at -30 degrees.
499+ // - Center (C ) at 0 degrees.
488500 // - Low frequency effects (LFE) at front center at 0 degrees.
489- // - Left side (LS) at 110 degrees.
490- // - Right side (RS) at -110 degrees.
501+ // - Left surround (LS) at 110 degrees.
502+ // - Right surround (RS) at -110 degrees.
491503 //
492- // The 5.1 channel input layout must matches AAC: FL, FR, FC , LFE, LS, RS.
504+ // The 5.1 channel input layout must matches AAC: L, R, C , LFE, LS, RS.
493505 // Note that this differs from the Vorbis/Opus 5.1 channel layout, which
494- // is: FL, FC, FR , LS, RS, LFE.
506+ // is: L, C, R , LS, RS, LFE.
495507 GVR_AUDIO_SURROUND_FORMAT_SURROUND_FIVE_DOT_ONE = 3 ,
496508
509+ // 7.1 surround sound according to the ITU-R BS.775-3 speaker configuration
510+ // recommendation:
511+ // - Left (FL) at 30 degrees.
512+ // - Right (FR) at -30 degrees.
513+ // - Center (C) at 0 degrees.
514+ // - Low frequency effects (LFE) at front center at 0 degrees.
515+ // - Left surround 1 (LS1) at 90 degrees.
516+ // - Right surround 1 (RS1) at -90 degrees.
517+ // - Left surround 2 (LS2) at 150 degrees.
518+ // - Right surround 2 (LS2) at -150 degrees.
519+ //
520+ // The 7.1 channel input layout must matches AAC: L, R, C, LFE, LS1, RS1,
521+ // LS2, RS2.
522+ // Note that this differs from the Vorbis/Opus 7.1 channel layout, which
523+ // is: L, C, R, LS1, RS1, LS2, RS2, LFE.
524+ GVR_AUDIO_SURROUND_FORMAT_SURROUND_SEVEN_DOT_ONE = 10 ,
525+
497526 // First-order ambisonics (AmbiX format: 4 channels, ACN channel ordering,
498527 // SN3D normalization).
499528 GVR_AUDIO_SURROUND_FORMAT_FIRST_ORDER_AMBISONICS = 4 ,
@@ -524,6 +553,8 @@ typedef enum {
524553 // (AmbiX format: 16 channels, ACN channel ordering, SN3D normalization).
525554 // Channel 17 to 18 contain non-diegetic stereo.
526555 GVR_AUDIO_SURROUND_FORMAT_THIRD_ORDER_AMBISONICS_WITH_NON_DIEGETIC_STEREO = 9 ,
556+
557+ // Note: Next available value is: 11
527558} gvr_audio_surround_format_type;
528559
529560// / Valid color formats for swap chain buffers.
@@ -604,7 +635,9 @@ typedef enum {
604635 // / The current transform that maps from "sensor" space to the recentered
605636 // / "start" space. Apps can optionally undo or extend this transform to
606637 // / perform custom recentering logic with the returned pose, but all poses
607- // / supplied during frame submission are assumed to be in start space.
638+ // / supplied during frame submission are assumed to be in start space. This
639+ // / transform matches the one reported in the most
640+ // / recent gvr_recenter_event_data.
608641 // / Type: gvr_mat4f
609642 GVR_PROPERTY_RECENTER_TRANSFORM = 2 ,
610643
@@ -632,14 +665,14 @@ typedef enum {
632665 GVR_PROPERTY_TRACKING_STATUS = 6
633666} gvr_property_type;
634667
635- // Safety region types exposed from the GVR_PROPERTY_SAFETY_REGION property.
668+ // / Safety region types exposed from the GVR_PROPERTY_SAFETY_REGION property.
636669typedef enum {
637670 GVR_SAFETY_REGION_NONE = 0 ,
638671
639- // A safety region defined by a vertically-oriented cylinder, extending
640- // infinitely along the Y axis, and centered at the start space origin.
641- // Extents can be queried with the GVR_PROPERTY_SAFETY_CYLINDER_INNER_RADIUS
642- // and GVR_PROPERTY_SAFETY_CYLINDER_OUTER_RADIUS property keys.
672+ // / A safety region defined by a vertically-oriented cylinder, extending
673+ // / infinitely along the Y axis, and centered at the start space origin.
674+ // / Extents can be queried with the GVR_PROPERTY_SAFETY_CYLINDER_INNER_RADIUS
675+ // / and GVR_PROPERTY_SAFETY_CYLINDER_OUTER_RADIUS property keys.
643676 GVR_SAFETY_REGION_CYLINDER = 1 ,
644677} gvr_safety_region_type;
645678
@@ -679,7 +712,7 @@ typedef enum {
679712
680713 // / Notification that head tracking was resumed (or started for the first
681714 // / time). Before this event is sent, head tracking will always return the
682- // / identity pose. This event is usually followed in the same frame by a
715+ // / identity pose. This event is usually preceded in the same frame by a
683716 // / GVR_EVENT_RECENTER of recenter_type GVR_RECENTER_EVENT_RESTART.
684717 // / Event data type: none
685718 GVR_EVENT_HEAD_TRACKING_RESUMED = 4 ,
@@ -917,6 +950,8 @@ const ArmModelBehavior kArmModelBehaviorFollowGaze =
917950 static_cast <ArmModelBehavior>(GVR_ARM_MODEL_FOLLOW_GAZE);
918951const ArmModelBehavior kArmModelBehaviorSyncGaze =
919952 static_cast <ArmModelBehavior>(GVR_ARM_MODEL_SYNC_GAZE);
953+ const ArmModelBehavior kArmModelBehaviorIgnoreGaze =
954+ static_cast <ArmModelBehavior>(GVR_ARM_MODEL_IGNORE_GAZE);
920955
921956typedef gvr_error Error;
922957const Error kErrorNone = static_cast <Error>(GVR_ERROR_NONE);
0 commit comments