PaintingBinding mixin

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




imageCache ImageCache
The singleton that implements the Flutter framework's image cache. [...]
systemFonts Listenable
Listenable that notifies when the available fonts on the system have changed. [...]
defaultBinaryMessenger BinaryMessenger
The default instance of BinaryMessenger.
read-only, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
locked bool
Whether lockEvents is currently locking events.
@protected, read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
window Window
The window to which this binding is bound.
read-only, inherited


createImageCache() ImageCache
Creates the ImageCache singleton (accessible via imageCache). [...]
evict(String asset) → void
Called in response to the ext.flutter.evict service extension. [...]
handleSystemMessage(Object systemMessage) Future<void>
Handler called for messages received on the SystemChannels.system message channel. [...]
initInstances() → void
The initialization method. Subclasses override this method to hook into the platform and otherwise configure their services. Subclasses must call "super.initInstances()". [...]
instantiateImageCodec(Uint8List bytes, {int cacheWidth, int cacheHeight}) Future<Codec>
Calls through to dart:ui with decodedCacheRatioCap from ImageCache. [...]
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
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
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
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
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
reassembleApplication() Future<void>
Cause the entire application to redraw, e.g. after a hot reload.
registerBoolServiceExtension({String name, AsyncValueGetter<bool> getter, AsyncValueSetter<bool> setter}) → void
Registers a service extension method with the given name (full 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({String name, AsyncValueGetter<double> getter, AsyncValueSetter<double> setter}) → void
Registers a service extension method with the given name (full 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
registerServiceExtension({String name, ServiceExtensionCallback callback}) → void
Registers a service extension method with the given name (full name "").
@protected, inherited
registerSignalServiceExtension({String name, AsyncCallback callback}) → void
Registers a service extension method with the given name (full name ""), which takes no arguments and returns no value.
@protected, inherited
registerStringServiceExtension({String name, AsyncValueGetter<String> getter, AsyncValueSetter<String> setter}) → void
Registers a service extension method with the given name (full 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
toString() String
Returns a string representation of this object.
unlocked() → void
Called by lockEvents when events get unlocked.
@mustCallSuper, @protected, inherited


operator ==(dynamic other) bool
The equality operator. [...]

Static Properties

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