Record Class SDL_GamepadSensorEvent

java.lang.Object
java.lang.Record
club.doki7.sdl3.datatype.SDL_GamepadSensorEvent
All Implemented Interfaces:
IPointer, ISDL_GamepadSensorEvent

@ValueBasedCandidate @UnsafeConstructor public record SDL_GamepadSensorEvent(@NotNull MemorySegment segment) extends Record implements ISDL_GamepadSensorEvent

Gamepad sensor event structure (event.gsensor.*)

Since: This struct is available since SDL 3.2.0.

Structure

typedef struct SDL_GamepadSensorEvent {
    SDL_EventType type;
    Uint32 reserved;
    Uint64 timestamp;
    SDL_JoystickID which;
    Sint32 sensor;
    float[3] data;
    Uint64 sensor_timestamp;
} SDL_GamepadSensorEvent;

Contracts

The property segment() should always be not-null (segment != NULL && !segment.equals(MemorySegment.NULL)), and properly aligned to LAYOUT.byteAlignment() bytes. To represent null pointer, you may use a Java null instead. See the documentation of IPointer.segment() for more details.

The constructor of this class is marked as UnsafeConstructor, because it does not perform any runtime check. The constructor can be useful for automatic code generators.

  • Field Details

    • LAYOUT

      public static final StructLayout LAYOUT
    • BYTES

      public static final long BYTES
    • PATH$type

      public static final MemoryLayout.PathElement PATH$type
    • PATH$timestamp

      public static final MemoryLayout.PathElement PATH$timestamp
    • PATH$which

      public static final MemoryLayout.PathElement PATH$which
    • PATH$sensor

      public static final MemoryLayout.PathElement PATH$sensor
    • PATH$data

      public static final MemoryLayout.PathElement PATH$data
    • PATH$sensor_timestamp

      public static final MemoryLayout.PathElement PATH$sensor_timestamp
    • LAYOUT$type

      public static final ValueLayout.OfInt LAYOUT$type
    • LAYOUT$timestamp

      public static final ValueLayout.OfLong LAYOUT$timestamp
    • LAYOUT$which

      public static final ValueLayout.OfInt LAYOUT$which
    • LAYOUT$sensor

      public static final ValueLayout.OfInt LAYOUT$sensor
    • LAYOUT$data

      public static final SequenceLayout LAYOUT$data
    • LAYOUT$sensor_timestamp

      public static final ValueLayout.OfLong LAYOUT$sensor_timestamp
    • SIZE$type

      public static final long SIZE$type
    • SIZE$timestamp

      public static final long SIZE$timestamp
    • SIZE$which

      public static final long SIZE$which
    • SIZE$sensor

      public static final long SIZE$sensor
    • SIZE$data

      public static final long SIZE$data
    • SIZE$sensor_timestamp

      public static final long SIZE$sensor_timestamp
    • OFFSET$type

      public static final long OFFSET$type
    • OFFSET$timestamp

      public static final long OFFSET$timestamp
    • OFFSET$which

      public static final long OFFSET$which
    • OFFSET$sensor

      public static final long OFFSET$sensor
    • OFFSET$data

      public static final long OFFSET$data
    • OFFSET$sensor_timestamp

      public static final long OFFSET$sensor_timestamp
  • Constructor Details

    • SDL_GamepadSensorEvent

      public SDL_GamepadSensorEvent(@NotNull @NotNull MemorySegment segment)
      Creates an instance of a SDL_GamepadSensorEvent record class.
      Parameters:
      segment - the value for the segment record component
  • Method Details