/// <summary> /// This will create a generic FocusFrameElement to push onto the Focuser. /// </summary> /// <param name="_frame"></param> public void PushFrame(Frame _frame) { EnviromentFrameStack.Push(new FrameMeta(_frame)); FramePushed?.Invoke(this); YieldFocuser(); }
public void PopFrame() { FrameMeta ffe = EnviromentFrameStack.Pop(); ffe.NotifyFramePop(); FramePopped?.Invoke(ffe, this); }
public Frame GetFrame() { if (EnviromentFrameStack.Count == 0) { return(null); } return(EnviromentFrameStack.Peek().Frame); }
/// <summary> /// Use this method if you want priority over the FramePush event. /// </summary> /// <param name="_frameElement"></param> public void PushFrame(FrameMeta _frameElement) { EnviromentFrameStack.Push(_frameElement); // The only time this method should EVER be called. _frameElement.NotifyFramePush(); FramePushed?.Invoke(this); YieldFocuser(); }
public I_Inspectable[] GetInspectables() { return(EnviromentFrameStack.Peek().SingularFocus.GetInspectables()); }
public void MoveSingularFocus(I_Inspectable newFocus) { EnviromentFrameStack.Peek().SingularFocus = newFocus; SingularFocusMove?.Invoke(this); }
public I_Inspectable GetSingularFocus() { return(EnviromentFrameStack.Peek().SingularFocus); }