Struct pax_runtime::properties::RuntimeContext

source ·
pub struct RuntimeContext {
    pub z_index_node_cache: Vec<Rc<ExpandedNode>>,
    pub node_cache: HashMap<ExpandedNodeIdentifier, Rc<ExpandedNode>>,
    pub uni_to_eid: HashMap<UniqueTemplateNodeIdentifier, Vec<ExpandedNodeIdentifier>>,
    /* private fields */
}
Expand description

Shared context for properties pass recursion

Fields§

§z_index_node_cache: Vec<Rc<ExpandedNode>>§node_cache: HashMap<ExpandedNodeIdentifier, Rc<ExpandedNode>>§uni_to_eid: HashMap<UniqueTemplateNodeIdentifier, Vec<ExpandedNodeIdentifier>>

Implementations§

source§

impl RuntimeContext

source

pub fn new(expression_table: ExpressionTable, globals: Globals) -> Self

source

pub fn get_expanded_nodes_by_id(&self, id: &str) -> Vec<Rc<ExpandedNode>>

Finds all ExpandedNodes with the CommonProperty#id matching the provided string

source

pub fn get_expanded_nodes_by_global_ids( &self, uni: &UniqueTemplateNodeIdentifier ) -> Vec<Rc<ExpandedNode>>

Finds all ExpandedNodes with corresponding UniqueTemplateNodeIdentifier

source

pub fn get_elements_beneath_ray( &self, ray: Point2<Window>, limit_one: bool, accum: Vec<Rc<ExpandedNode>> ) -> Vec<Rc<ExpandedNode>>

Simple 2D raycasting: the coordinates of the ray represent a ray running orthogonally to the view plane, intersecting at the specified point ray. Areas outside of clipping bounds will not register a hit, nor will elements that suppress input events.

source

pub fn get_topmost_element_beneath_ray( &self, ray: Point2<Window> ) -> Option<Rc<ExpandedNode>>

Alias for get_elements_beneath_ray with limit_one = true

source

pub fn gen_uid(&mut self) -> ExpandedNodeIdentifier

source

pub fn enqueue_native_message(&mut self, message: NativeMessage)

source

pub fn take_native_messages(&mut self) -> Vec<NativeMessage>

source

pub fn globals(&self) -> &Globals

source

pub fn globals_mut(&mut self) -> &mut Globals

source

pub fn expression_table(&self) -> Rc<ExpressionTable>

Trait Implementations§

source§

impl Debug for RuntimeContext

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> RoundFrom<T> for T

source§

fn round_from(x: T) -> T

Performs the conversion.
source§

impl<T, U> RoundInto<U> for T
where U: RoundFrom<T>,

source§

fn round_into(self) -> U

Performs the conversion.
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.