StructD<C extends Struct, D extends StructD<C, D> > class
abstract
Abstract Dart-side mirror of a native struct of type C.
D is the concrete subclass (CRTP pattern), C is the corresponding
NativeType. Every C struct that crosses the FFI boundary has a
paired StructD subclass that owns the Dart-visible fields and knows
how to read/write itself from/into native memory.
- Inheritance
-
- Object
- RaylibStructBase<
RaylibTemp, Pointer< C> , D> - StructD
- Mixed-in types
- Implementers
Properties
- $state → RaylibTempStructState
-
Per-instance allocation state tracking slot keys, disposal, and identity.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
-
originalPointer
↔ Pointer<
C> ? -
The C-owned or RaylibTemp-owned native pointer for this struct, if any.
getter/setter pairinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- structIsDisposed → bool
-
Whether structMarkDisposed has been called on this instance.
no setterinherited
- structName → String
-
The Dart-side type name of this struct
no setterinherited
- structRequiresOriginalPointer → bool
-
Whether this struct requires an originalPointer to function correctly.
no setterinherited
Methods
-
clone(
) → D -
Returns a deep copy of this instance, preserving RaylibStructBase.originalPointer if present.
inherited
-
copy(
) → D -
Returns a deep copy of this instance without RaylibStructBase.originalPointer.
inherited
-
getOriginalPointer(
) → Pointer< C> -
Returns originalPointer, throwing a descriptive StateError if unavailable or this instance RaylibTempStructState.isDisposed.
inherited
-
getOriginalPointerAndDispose(
) → Pointer< C> -
Returns originalPointer and immediately calls structMarkDisposed.
inherited
-
nativeGetIndexedArrayReference(
Array< C> p, int index) → C -
nativeGetIndexedReference(
Pointer< C> p, int index) → C -
nativeGetReference(
Pointer< C> p) → C -
nativeReadFrom(
C p) → void -
nativeWriteInto(
C p) → void -
Writes all fields directly into the native struct reference
p. For nested structs, usewriteIntoas well. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
setD(
D o) → D -
Copies the fields of
ointo this instance and returnsthis.inherited -
signature(
) → String -
Returns a human-readable representation of this struct's current field values.
inherited
-
structAllocateInto(
RaylibTemp temp, Pointer< C> p, String key) → void -
Writes all fields into the native struct at
p, allocating nested pointers intotempunderkeyas needed.override -
structMarkDisposed(
) → void -
Marks this instance as disposed and clears originalPointer.
inherited
-
structOnOp(
void callback(Pointer< C> p)) → void -
Calls
callbackwith originalPointer if it is set, otherwise no-ops.inherited -
structReadFrom(
Pointer< C> p) → void -
Reads all fields from the memory at
p.override -
structSetTag(
String newTag) → D -
Sets RaylibTempStructState.tag to
newTagand returnsthisfor chaining.inherited -
structSyncFromMemory(
) → void -
Syncs all fields from the memory. Requires originalPointer.
override
-
structSyncInto(
RaylibTemp temp, Pointer< C> p, String key) → void -
Syncs Dart-side fields into the already-allocated native pointer
p.override -
structSyncToMemory(
) → void -
Syncs all fields to the memory. Requires originalPointer.
override
-
structWriteInto(
Pointer< C> p) → void -
Writes all fields into the memory at
p.override -
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited