<itemvalue="Records a [Picture] containing a sequence of graphical operations. To begin recording, construct a [Canvas] to record the commands. To end recording, use the [PictureRecorder.endRecording] method. Use with the Flutter framework The Flutter framework's [RendererBinding] provides a hook for creating [PictureRecorder] objects ([RendererBinding.createPictureRecorder]) that allows tests to hook into the scene creation logic. When creating a [PictureRecorder] and [Canvas] that will be used with a [PictureLayer] as part of the [Scene] in the context of the Flutter framework, consider calling [RendererBinding.createPictureRecorder] instead of calling the [PictureRecorder.new] constructor directly. This does not apply when using a canvas to generate a bitmap for other purposes, e.g. for generating a PNG image using [Picture.toImage]."/>
<itemvalue="Draw the given picture onto the canvas. To create a picture, see [PictureRecorder]."/>
<itemvalue="Draws the subset of the given image described by the `src` argument into the canvas in the axis-aligned rectangle given by the `dst` argument. This might sample from outside the `src` rect by up to half the width of an applied filter. Multiple calls to this method with different arguments (from the same image) can be batched into a single call to [drawAtlas] to improve performance."/>
<itemvalue="Draws the given [Image] into the canvas with its top-left corner at the given [Offset]. The image is composited into the canvas using the given [Paint]."/>
<itemvalue="Draws many parts of an image - the [atlas] - onto the canvas. This method allows for optimization when you want to draw many parts of an image onto the canvas, such as when using sprites or zooming. It is more efficient than using multiple calls to [drawImageRect] and provides more functionality to individually transform each image part by a separate rotation or scale and blend or modulate those parts with a solid color."/>
<itemvalue="Called whenever the widget configuration changes. If the parent widget rebuilds and requests that this location in the tree update to display a new widget with the same [runtimeType] and [Widget.key], the framework will update the [widget] property of this [State] object to refer to the new widget and then call this method with the previous widget as an argument. Override this method to respond when the [widget] changes (e.g., to start implicit animations). The framework always calls [build] after calling [didUpdateWidget], which means any calls to [setState] in [didUpdateWidget] are redundant. {@macro flutter.widgets.State.initState} Implementations of this method should start with a call to the inherited method, as in `super.didUpdateWidget(oldWidget)`. _See the discussion at [Element.rebuild] for more information on when this method is called._"/>
<itemvalue="{@macro flutter.widgets.editableText.onTapOutside} {@tool dartpad} This example shows how to use a `TextFieldTapRegion` to wrap a set of "spinner" buttons that increment and decrement a value in the [TextField] without causing the text field to lose keyboard focus. This example includes a generic `SpinnerField<T>` class that you can copy into your own project and customize. See code in examplesapilibwidgetstap_regiontext_field_tap_region.0.dart {@end-tool} See also: [TapRegion] for how the region group is determined."/>
<itemvalue="A widget that defines a region that can detect taps inside or outside of itself and any group of regions it belongs to, without participating in the [gesture disambiguation](https:flutter.devgesturesgesture-disambiguation) system (other than to consume tap down events if [consumeOutsideTaps] is true). This widget indicates to the nearest ancestor [TapRegionSurface] that the region occupied by its child will participate in the tap detection for that surface. If this region belongs to a group (by virtue of its [groupId]), all the regions in the group will act as one. If there is no [TapRegionSurface] ancestor, [TapRegion] will do nothing."/>