docs: Better document the `ClipEvent` dispatch patterns.
This commit is contained in:
parent
e5d9379740
commit
35cbed01fa
|
@ -84,16 +84,22 @@ pub enum ClipEventResult {
|
||||||
|
|
||||||
/// An event type that can be handled by a movie clip instance.
|
/// An event type that can be handled by a movie clip instance.
|
||||||
///
|
///
|
||||||
/// Clip events come in two flavors: anycast and targeted. An anycast event is
|
/// Clip events come in three flavors: broadcast, anycast and targeted. An
|
||||||
/// provided to the first `DisplayObject` that claims it, in render list order.
|
/// anycast event is provided to the first `DisplayObject` that claims it, in
|
||||||
/// Targeted events are sent to a particular object and are lost if not
|
/// render list order. Targeted events are sent to a particular object and are
|
||||||
/// handled by the object.
|
/// lost if not handled by the object. Broadcast events are delivered to all
|
||||||
|
/// objects in the display list tree.
|
||||||
///
|
///
|
||||||
/// Clip events are consumed by both AVM1 and AVM2 event handlers. As AVM2
|
/// These events are consumed both by display objects themselves as well as
|
||||||
/// provides it's own notion of broadcast events, none of the anycast events
|
/// event handlers in AVM1 and AVM2. These have slightly different event
|
||||||
/// here will be dispatched to AVM2. Targeted events are dispatched to both
|
/// handling semantics:
|
||||||
/// kinds of scripts; with AVM2 versions of those events optionally providing
|
///
|
||||||
/// capture and bubbling phases.
|
/// * AVM1 delivers broadcasts via `ClipEvent` or system listeners
|
||||||
|
/// * AVM2 delivers broadcasts to all registered `EventDispatcher`s
|
||||||
|
/// * Anycast events are not delivered to AVM2
|
||||||
|
/// * Targeted events are supported and consumed by both VMs
|
||||||
|
/// * AVM2 additionally supports bubble/capture, which AVM1 and
|
||||||
|
/// `InteractiveObject` itself does not support
|
||||||
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
||||||
pub enum ClipEvent<'gc> {
|
pub enum ClipEvent<'gc> {
|
||||||
Construct,
|
Construct,
|
||||||
|
|
Loading…
Reference in New Issue