implementAsBlocking static method
CAMediaTiming
implementAsBlocking({
- required double beginTime(),
- required void setBeginTime_(),
- required double duration(),
- required void setDuration_(),
- required double speed(),
- required void setSpeed_(),
- required double timeOffset(),
- required void setTimeOffset_(),
- required double repeatCount(),
- required void setRepeatCount_(),
- required double repeatDuration(),
- required void setRepeatDuration_(),
- required bool autoreverses(),
- required void setAutoreverses_(
- bool restartFlag
- required DartCADynamicRange fillMode(),
- required void setFillMode_(
- NSString format
- bool $keepIsolateAlive = true,
Builds an object that implements the CAMediaTiming protocol. To implement
multiple protocols, use addToBuilder or objc.ObjCProtocolBuilder directly. All
methods that can be implemented as blocking listeners will be.
If $keepIsolateAlive is true, this protocol will keep this isolate
alive until it is garbage collected by both Dart and ObjC.
Implementation
static CAMediaTiming implementAsBlocking({
required DartCFTimeInterval Function() beginTime,
required void Function(DartCFTimeInterval) setBeginTime_,
required DartCFTimeInterval Function() duration,
required void Function(DartCFTimeInterval) setDuration_,
required double Function() speed,
required void Function(double) setSpeed_,
required DartCFTimeInterval Function() timeOffset,
required void Function(DartCFTimeInterval) setTimeOffset_,
required double Function() repeatCount,
required void Function(double) setRepeatCount_,
required DartCFTimeInterval Function() repeatDuration,
required void Function(DartCFTimeInterval) setRepeatDuration_,
required bool Function() autoreverses,
required void Function(bool) setAutoreverses_,
required objc.NSString Function() fillMode,
required void Function(DartCAMediaTimingFillMode) setFillMode_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(debugName: 'CAMediaTiming');
CAMediaTiming.beginTime.implement(builder, beginTime);
CAMediaTiming.setBeginTime_.implementAsBlocking(builder, setBeginTime_);
CAMediaTiming.duration.implement(builder, duration);
CAMediaTiming.setDuration_.implementAsBlocking(builder, setDuration_);
CAMediaTiming.speed.implement(builder, speed);
CAMediaTiming.setSpeed_.implementAsBlocking(builder, setSpeed_);
CAMediaTiming.timeOffset.implement(builder, timeOffset);
CAMediaTiming.setTimeOffset_.implementAsBlocking(builder, setTimeOffset_);
CAMediaTiming.repeatCount.implement(builder, repeatCount);
CAMediaTiming.setRepeatCount_.implementAsBlocking(builder, setRepeatCount_);
CAMediaTiming.repeatDuration.implement(builder, repeatDuration);
CAMediaTiming.setRepeatDuration_.implementAsBlocking(
builder,
setRepeatDuration_,
);
CAMediaTiming.autoreverses.implement(builder, autoreverses);
CAMediaTiming.setAutoreverses_.implementAsBlocking(
builder,
setAutoreverses_,
);
CAMediaTiming.fillMode.implement(builder, fillMode);
CAMediaTiming.setFillMode_.implementAsBlocking(builder, setFillMode_);
builder.addProtocol($protocol);
return CAMediaTiming.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}