Record Class SDL_TextEditingEvent

java.lang.Object
java.lang.Record
club.doki7.sdl3.datatype.SDL_TextEditingEvent
All Implemented Interfaces:
IPointer, ISDL_TextEditingEvent

@ValueBasedCandidate @UnsafeConstructor public record SDL_TextEditingEvent(@NotNull MemorySegment segment) extends Record implements ISDL_TextEditingEvent

Keyboard text editing event structure (event.edit.*)

The start cursor is the position, in UTF-8 characters, where new typing will be inserted into the editing text. The length is the number of UTF-8 characters that will be replaced by new typing.

Since: This struct is available since SDL 3.2.0.

Structure

typedef struct SDL_TextEditingEvent {
    SDL_EventType type;
    Uint32 reserved;
    Uint64 timestamp;
    SDL_WindowID windowID;
    char const* text;
    Sint32 start;
    Sint32 length;
} SDL_TextEditingEvent;

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$windowID

      public static final MemoryLayout.PathElement PATH$windowID
    • PATH$text

      public static final MemoryLayout.PathElement PATH$text
    • PATH$start

      public static final MemoryLayout.PathElement PATH$start
    • PATH$length

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

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

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

      public static final ValueLayout.OfInt LAYOUT$windowID
    • LAYOUT$text

      public static final AddressLayout LAYOUT$text
    • LAYOUT$start

      public static final ValueLayout.OfInt LAYOUT$start
    • LAYOUT$length

      public static final ValueLayout.OfInt LAYOUT$length
    • SIZE$type

      public static final long SIZE$type
    • SIZE$timestamp

      public static final long SIZE$timestamp
    • SIZE$windowID

      public static final long SIZE$windowID
    • SIZE$text

      public static final long SIZE$text
    • SIZE$start

      public static final long SIZE$start
    • SIZE$length

      public static final long SIZE$length
    • OFFSET$type

      public static final long OFFSET$type
    • OFFSET$timestamp

      public static final long OFFSET$timestamp
    • OFFSET$windowID

      public static final long OFFSET$windowID
    • OFFSET$text

      public static final long OFFSET$text
    • OFFSET$start

      public static final long OFFSET$start
    • OFFSET$length

      public static final long OFFSET$length
  • Constructor Details

    • SDL_TextEditingEvent

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