<itemvalue="The amount the pointer has moved along the primary axis in the coordinate space of the event receiver since the previous update. If the [GestureDragUpdateCallback] is for a one-dimensional drag (e.g., a horizontal or vertical drag), then this value contains the component of [delta] along the primary axis (e.g., horizontal or vertical, respectively). Otherwise, if the [GestureDragUpdateCallback] is for a two-dimensional drag (e.g., a pan), then this value is null. Defaults to null if not specified in the constructor."/>
<itemvalue="The local position in the coordinate system of the event receiver at which the pointer contacted the screen. Defaults to [globalPosition] if not specified in the constructor."/>
<itemvalue="The pointer's global position when it triggered this update. See also: [localPosition], which is the [globalPosition] transformed to the coordinate space of the event receiver."/>
<itemvalue="The amount the pointer has moved in the coordinate space of the event receiver since the previous update. If the [GestureDragUpdateCallback] is for a one-dimensional drag (e.g., a horizontal or vertical drag), then this offset contains only the delta in that direction (i.e., the coordinate in the other direction is zero). Defaults to zero if not specified in the constructor."/>
<itemvalue="Details object for callbacks that use [GestureDragUpdateCallback]."/>
<itemvalue="Translucent targets both receive events within their bounds and permit targets visually behind them to also receive events."/>
<itemvalue="Opaque targets can be hit by hit tests, causing them to both receive events within their bounds and prevent targets visually behind them from also receiving events."/>
<itemvalue="Targets that defer to their children receive events within their bounds only if one of their children is hit by the hit test."/>
<itemvalue="A set of [LogicalKeyboardKey]s that, when any or all are pressed in combination with a [PointerDeviceKind.mouse] pointer scroll event, will flip the axes of the scroll input. This will for example, result in the input of a vertical mouse wheel, to move the [ScrollPosition] of a [ScrollView] with an [Axis.horizontal] scroll direction. If other keys exclusive of this set are pressed during a scroll event, in conjunction with keys from this set, the scroll input will still be flipped. Defaults to [LogicalKeyboardKey.shiftLeft], [LogicalKeyboardKey.shiftRight]."/>
<itemvalue="{@macro flutter.gestures.monodrag.DragGestureRecognizer.multitouchDragStrategy} By default, [MultitouchDragStrategy.latestPointer] is configured to create drag gestures for non-Apple platforms, and [MultitouchDragStrategy.averageBoundaryPointers] for Apple platforms."/>
<itemvalue="The device kinds that the scrollable will accept drag gestures from. By default only [PointerDeviceKind.touch], [PointerDeviceKind.stylus], and [PointerDeviceKind.invertedStylus] are configured to create drag gestures. Enabling this for [PointerDeviceKind.mouse] will make it difficult or impossible to select text in scrollable containers and is not recommended."/>
<itemvalue="Called when a [ScrollPosition] is attached to the scroll controller. Since a scroll position is not attached until a [Scrollable] is actually built, this can be used to respond to a new position being attached. At the time that a scroll position is attached, the [ScrollMetrics], such as the [ScrollMetrics.maxScrollExtent], are not yet available. These are not determined until the [Scrollable] has finished laying out its contents and computing things like the full extent of that content. [ScrollPosition.hasContentDimensions] can be used to know when the metrics are available, or a [ScrollMetricsNotification] can be used, discussed further below. {@tool dartpad} This sample shows how to apply a listener to the [ScrollPosition.isScrollingNotifier] using [ScrollController.onAttach]. This is used to change the [AppBar]'s color when scrolling is occurring. See code in examplesapilibwidgetsscroll_positionscroll_controller_on_attach.0.dart {@end-tool}"/>
<itemvalue="Slider spacing from bottom. If you choose [ScrollbarPosition.top] or [ScrollbarPosition.bottom] position, the scrollbar will be rotated 90 degrees, and the top will be on the left. Don't forget this when specifying the [sliderSpacing]."/>
<itemvalue="Under the slider part of the scrollbar spacing. If you choose [ScrollbarPosition.top] or [ScrollbarPosition.bottom] position, the scrollbar will be rotated 90 degrees, and the top will be on the left. Don't forget this when specifying the [underSpacing]."/>
<itemvalue="If the current action is not removing an element, update [_selectedElements] with [defaultData]. Otherwise, keep the previous value of [_selectedElements], preventing it from being updated by [defaultData]. Note: [didUpdateWidget] is called whenever the widget is updated, so it's important to control when [_selectedElements] should be updated. This is also executed if and only if we do not have any elements selected, because in this way we will only have an update if an element is selected after the widget is built. Recommendation: Over time this entire implementation should be migrated to [ValueNotifier], with a singleton abstraction."/>
<itemvalue="A generic class that standardizes elements for consistent manipulation. The `Choice` class provides a standardized way to handle different types of elements within a list, menu, or selection field. Each instance of `Choice` contains a unique key (`key`), a display value (`value`), and optional metadata of any type, making it highly versatile."/>
<itemvalue="A default hash function used by the platform in various places. This is currently the [Jenkins hash function][1] but using masking to keep values in SMI range. [1]: http:en.wikipedia.orgwikiJenkins_hash_function Use: Hash each value with the hash of the previous value, then get the final hash by calling finish. ``` var hash = 0; for (var value in values) { hash = SystemHash.combine(hash, value.hashCode); } hash = SystemHash.finish(hash); ``` TODO(lrn): Consider specializing this code per platform, so the VM can use its 64-bit integers directly."/>
<itemvalue="The bytes to decode into an image. The bytes represent encoded image bytes and can be encoded in any of the following supported image formats: {@macro dart.ui.imageFormats} See also: [PaintingBinding.instantiateImageCodecWithSize]"/>
<itemvalue="The linear scale factor for drawing this image at its intended size. The scale factor applies to the width and the height. {@template flutter.painting.imageInfo.scale} For example, if this is 2.0, it means that there are four image pixels for every one logical pixel, and the image's actual width and height (as given by the [dart:ui.Image.width] and [dart:ui.Image.height] properties) are double the height and width that should be used when painting the image (e.g. in the arguments given to [Canvas.drawImage]). {@endtemplate}"/>
<itemvalue="The scale to place in the [ImageInfo] object of the image. See also: [ImageInfo.scale], which gives more information on how this scale is applied."/>
<itemvalue="The tolerance used to determine whether two floating-point values are approximately equal."/>
<itemvalue="A fraction in the range \[0, 1\] that represents what proportion of the widget is visible (assuming rectangular bounding boxes). 0 means not visible; 1 means fully visible."/>
<itemvalue="`key` is required to properly identify this widget; it must be unique among all [VisibilityDetector] and [SliverVisibilityDetector] widgets."/>
<itemvalue="In debug mode, if [debugTracePostFrameCallbacks] is set to true, then the registered callback will show up in the timeline events chart, which can be viewed in [DevTools](https:docs.flutter.devtoolsdevtools). In that case, the `debugLabel` argument specifies the name of the callback as it will appear in the timeline. In profile and release builds, post-frame are never traced, and the `debugLabel` argument is ignored."/>
<itemvalue="Schedule a callback for the end of this frame. The provided callback is run immediately after a frame, just after the persistent frame callbacks (which is when the main rendering pipeline has been flushed). This method does not request a new frame. If a frame is already in progress and the execution of post-frame callbacks has not yet begun, then the registered callback is executed at the end of the current frame. Otherwise, the registered callback is executed after the next frame (whenever that may be, if ever). The callbacks are executed in the order in which they have been added."/>