PaintingBinding mixin Null safety

Binding for the painting library.

Hooks into the cache eviction logic to clear the image cache.

Requires the ServicesBinding to be mixed in earlier.

Superclass Constraints
Implemented by

Constructors

PaintingBinding()

Properties

imageCache ImageCache?
The singleton that implements the Flutter framework's image cache. [...]
read-only
systemFonts Listenable
Listenable that notifies when the available fonts on the system have changed. [...]
read-only
window SingletonFlutterWindow
The main window to which this binding is bound. [...]
read-only, inherited
platformDispatcher PlatformDispatcher
The ui.PlatformDispatcher to which this binding is bound. [...]
read-only, inherited
locked bool
Whether lockEvents is currently locking events. [...]
@protected, read-only, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
keyboard HardwareKeyboard
The global singleton instance of HardwareKeyboard, which can be used to query keyboard states.
read-only, inherited
keyEventManager KeyEventManager
The global singleton instance of KeyEventManager, which is used internally to dispatch key messages.
read-only, inherited
defaultBinaryMessenger BinaryMessenger
The default instance of BinaryMessenger. [...]
read-only, inherited
channelBuffers ChannelBuffers
The low level buffering and dispatch mechanism for messages sent by plugins on the engine side to their corresponding plugin code on the framework side. [...]
read-only, inherited
restorationManager RestorationManager
The RestorationManager synchronizes the restoration data between engine and framework. [...]
read-only, inherited
lifecycleState AppLifecycleState?
Whether the application is visible, and if so, whether it is currently interactive. [...]
read-only, inherited
transientCallbackCount int
The current number of transient frame callbacks scheduled. [...]
read-only, inherited
endOfFrame Future<void>
Returns a Future that completes after the frame completes. [...]
read-only, inherited
hasScheduledFrame bool
Whether this scheduler has requested that handleBeginFrame be called soon.
read-only, inherited
schedulerPhase SchedulerPhase
The phase that the scheduler is currently operating under.
read-only, inherited
framesEnabled bool
Whether frames are currently being scheduled when scheduleFrame is called. [...]
read-only, inherited
currentFrameTimeStamp Duration
The time stamp for the frame currently being processed. [...]
read-only, inherited
currentSystemFrameTimeStamp Duration
The raw time stamp as provided by the engine to dart:ui.PlatformDispatcher.onBeginFrame for the frame currently being processed. [...]
read-only, inherited
schedulingStrategy SchedulingStrategy
The strategy to use when deciding whether to run a task or not. [...]
read / write, inherited

Methods

initInstances() → void
The initialization method. Subclasses override this method to hook into the platform and otherwise configure their services. Subclasses must call "super.initInstances()". [...]
override
createImageCache() ImageCache
Creates the ImageCache singleton (accessible via imageCache). [...]
instantiateImageCodec(Uint8List bytes, {int? cacheWidth, int? cacheHeight, bool allowUpscaling = false}) Future<Codec>
Calls through to dart:ui.instantiateImageCodec from ImageCache. [...]
evict(String asset) → void
Called in response to the ext.flutter.evict service extension. [...]
override
handleMemoryPressure() → void
Called when the operating system notifies the application of a memory pressure situation. [...]
override
handleSystemMessage(Object systemMessage) Future<void>
Handler called for messages received on the SystemChannels.system message channel. [...]
override
initServiceExtensions() → void
Called when the binding is initialized, to register service extensions. [...]
@mustCallSuper, @protected, inherited
lockEvents(Future<void> callback()) Future<void>
Locks the dispatching of asynchronous events and callbacks until the callback's future completes. [...]
@protected, inherited
unlocked() → void
Called by lockEvents when events get unlocked. [...]
@mustCallSuper, @protected, inherited
reassembleApplication() Future<void>
Cause the entire application to redraw, e.g. after a hot reload. [...]
inherited
performReassemble() Future<void>
This method is called by reassembleApplication to actually cause the application to reassemble, e.g. after a hot reload. [...]
@mustCallSuper, @protected, inherited
registerSignalServiceExtension({required String name, required AsyncCallback callback}) → void
Registers a service extension method with the given name (full name "ext.flutter.name"), which takes no arguments and returns no value. [...]
@protected, inherited
registerBoolServiceExtension({required String name, required AsyncValueGetter<bool> getter, required AsyncValueSetter<bool> setter}) → void
Registers a service extension method with the given name (full name "ext.flutter.name"), which takes a single argument "enabled" which can have the value "true" or the value "false" or can be omitted to read the current value. (Any value other than "true" is considered equivalent to "false". Other arguments are ignored.) [...]
@protected, inherited
registerNumericServiceExtension({required String name, required AsyncValueGetter<double> getter, required AsyncValueSetter<double> setter}) → void
Registers a service extension method with the given name (full name "ext.flutter.name"), which takes a single argument with the same name as the method which, if present, must have a value that can be parsed by double.parse, and can be omitted to read the current value. (Other arguments are ignored.) [...]
@protected, inherited
postEvent(String eventKind, Map<String, dynamic> eventData) → void
All events dispatched by a BindingBase use this method instead of calling developer.postEvent directly so that tests for BindingBase can track which events were dispatched by overriding this method.
@protected, inherited
registerStringServiceExtension({required String name, required AsyncValueGetter<String> getter, required AsyncValueSetter<String> setter}) → void
Registers a service extension method with the given name (full name "ext.flutter.name"), which optionally takes a single argument with the name "value". If the argument is omitted, the value is to be read, otherwise it is to be set. Returns the current value. [...]
@protected, inherited
registerServiceExtension({required String name, required ServiceExtensionCallback callback}) → void
Registers a service extension method with the given name (full name "ext.flutter.name"). [...]
@protected, inherited
toString() String
A string representation of this object. [...]
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
createBinaryMessenger() BinaryMessenger
Creates a default BinaryMessenger instance that can be used for sending platform messages.
@protected, inherited
initLicenses() → void
Adds relevant licenses to the LicenseRegistry. [...]
@mustCallSuper, @protected, inherited
readInitialLifecycleStateFromNativeWindow() → void
Initializes the lifecycleState with the dart:ui.SingletonFlutterWindow.initialLifecycleState. [...]
@protected, inherited
createRestorationManager() RestorationManager
Creates the RestorationManager instance available via restorationManager. [...]
@protected, inherited
setSystemUiChangeCallback(SystemUiChangeCallback? callback) → void
Sets the callback for the SystemChrome.systemUIChange method call received on the SystemChannels.platform channel. [...]
inherited
addTimingsCallback(TimingsCallback callback) → void
Add a TimingsCallback that receives FrameTiming sent from the engine. [...]
inherited
removeTimingsCallback(TimingsCallback callback) → void
Removes a callback that was earlier added by addTimingsCallback.
inherited
handleAppLifecycleStateChanged(AppLifecycleState state) → void
Called when the application lifecycle state changes. [...]
@mustCallSuper, @protected, inherited
scheduleTask<T>(TaskCallback<T> task, Priority priority, {String? debugLabel, Flow? flow}) Future<T>
Schedules the given task with the given priority and returns a Future that completes to the task's eventual return value. [...]
inherited
handleEventLoopCallback() bool
Execute the highest-priority task, if it is of a high enough priority. [...]
@visibleForTesting, inherited
scheduleFrameCallback(FrameCallback callback, {bool rescheduling = false}) int
Schedules the given transient frame callback. [...]
inherited
cancelFrameCallbackWithId(int id) → void
Cancels the transient frame callback with the given id. [...]
inherited
debugAssertNoTransientCallbacks(String reason) bool
Asserts that there are no registered transient callbacks; if there are, prints their locations and throws an exception. [...]
inherited
addPersistentFrameCallback(FrameCallback callback) → void
Adds a persistent frame callback. [...]
inherited
addPostFrameCallback(FrameCallback callback) → void
Schedule a callback for the end of this frame. [...]
inherited
ensureFrameCallbacksRegistered() → void
Ensures callbacks for PlatformDispatcher.onBeginFrame and PlatformDispatcher.onDrawFrame are registered.
@protected, inherited
ensureVisualUpdate() → void
Schedules a new frame using scheduleFrame if this object is not currently producing a frame. [...]
inherited
scheduleFrame() → void
If necessary, schedules a new frame by calling dart:ui.PlatformDispatcher.scheduleFrame. [...]
inherited
scheduleForcedFrame() → void
Schedules a new frame by calling dart:ui.PlatformDispatcher.scheduleFrame. [...]
inherited
scheduleWarmUpFrame() → void
Schedule a frame to run as soon as possible, rather than waiting for the engine to request a frame in response to a system "Vsync" signal. [...]
inherited
resetEpoch() → void
Prepares the scheduler for a non-monotonic change to how time stamps are calculated. [...]
inherited
handleBeginFrame(Duration? rawTimeStamp) → void
Called by the engine to prepare the framework to produce a new frame. [...]
inherited
handleDrawFrame() → void
Called by the engine to produce a new frame. [...]
inherited

Operators

operator ==(Object other) bool
The equality operator. [...]
inherited

Static Properties

instance PaintingBinding?
The current PaintingBinding, if one has been created.
read-only, override
shaderWarmUp ShaderWarmUp?
ShaderWarmUp instance to be executed during initInstances. [...]
read / write