///|
fn runtime_view_node_identity_key(node : &RuntimeViewNode) -> Key? {
node.identity().key
}
///|
fn runtime_view_node_kind(node : &RuntimeViewNode) -> String {
node.identity().kind
}
///|
fn runtime_view_node_inspector_kind_label(node : &RuntimeViewNode) -> String {
node.identity().kind
}
///|
fn runtime_view_node_inspector_is_control(node : &RuntimeViewNode) -> Bool {
node.focusable()
}
///|
fn runtime_view_nodes_have_same_identity(
current : &RuntimeViewNode,
next : &RuntimeViewNode,
) -> Bool {
current.identity() == next.identity()
}
///|
fn runtime_view_node_reconcile_dirty_kind(
current : &RuntimeViewNode,
next : &RuntimeViewNode,
) -> ReconcileDirtyKind {
let changes = next.declaration().changes_from(current.declaration())
{
layout: changes.layout(),
paint: changes.paint(),
semantics: changes.semantics() ||
current.semantics() != next.semantics() ||
current.semantics_action_kinds() != next.semantics_action_kinds(),
platform: changes.platform(),
}
}