public VideoState(string name, FrameOverlayManager mainWindow, string video, State parent, ITransitionStyle transition, IMediaPlayer player) : base(name, mainWindow.Manager, DefaultBG) { mPlayer = player; mMainWindow = mainWindow; mVideo = Path.GetFullPath(video); mPlayer.PlaybackFinished += mPlayer_VideoFinished; mTrigger = new SimpleTrigger(); AddTransition(new StateTransition(Manager, this, parent, mTrigger, transition)); }
private void LoadIdle(XmlNode node, State state) { mIdleState = state; foreach (XmlNode child in node.ChildNodes.OfType <XmlElement>()) { switch (child.Name) { case "IdleTransition": mSplashIdleTransition = GetTransition(child, "to idle transition", new OpacityFadeOutWindowTransitionFactory(5000)); break; } } }
/// <param name="manager">The manager this transition works transition.</param> public StateTransition(OverlayPlugin manager, State from, State to, ITrigger trigger, ITransitionStyle factory) { mManager = manager; mFrom = from; mTo = to; mWindowTransitionFactory = factory; mManager.Core.FrameAdded += new Action <Frame, EventArgs>(Coordinator_FrameAdded); AddTrigger(trigger); foreach (var window in mManager.Core.Frames) { Coordinator_FrameAdded(window, null); } }
private void LoadTransition(XmlNode node) { State from = GetInstance(node, mStates, "state", "transition start", null, "From"); State to = GetInstance(node, mStates, "state", "transition target", null, "To"); ITrigger trigger = GetTrigger(node, "transition", null, "Trigger"); ITransitionStyle style = GetTransition(node, "state transition", new FeatureFrameTransitionFactory(new FeatureFadeFactory(), 2000), "Transition"); if (from == null || to == null || trigger == null) { Logger.Debug("Unable to create transition."); return; } StateTransition transition = new StateTransition(this, from, to, trigger, style); transition.From.AddTransition(transition); }
public VideoState(OverlayPlugin manager, XmlNode node, IMediaPlayer player) : base(GetName(node, "creating video state"), manager, node, false) { //: base(manager, node, false) { mPlayer = player; mVideo = GetString(node, null, "File"); if (mVideo == null) { throw new ArgumentException("Unable to load VideoState. No File attribute specified."); } mVideo = Path.GetFullPath(mVideo); if (!File.Exists(mVideo)) { throw new ArgumentException("Unable to load VideoState. The file '" + mVideo + "' does not exist."); } mPlayer.PlaybackFinished += new Action(mPlayer_VideoFinished); mPlayer.PlaybackStarted += new Action(mPlayer_VideoStarted); mMainWindow = GetManager(manager, node, "video state"); mBounds = manager.GetBounds(node, "video state"); XmlAttribute toAttr = node.Attributes["FinishState"]; if (toAttr != null && manager.GetState(toAttr.Value) != null) { mTrigger = new SimpleTrigger(); ITransitionStyle transition = manager.GetTransition(node, "video state finish transition", new FeatureFrameTransitionFactory(new FeatureFadeFactory(), 2000), "Transition"); if (transition == null) { Logger.Debug("No transition specified for VideoState. using default 2s bitmap fade transition."); transition = new FeatureFrameTransitionFactory(new FeatureFadeFactory(), 2000); } AddTransition(new StateTransition(Manager, this, manager.GetState(toAttr.Value), mTrigger, transition)); } LoadTriggers(node, manager, "StartTriggers", mStartTriggers, new Action <ITrigger>(StartTriggered)); LoadTriggers(node, manager, "StopTriggers", mStopTriggers, new Action <ITrigger>(StopTriggered)); mRestartMode = GetBool(node, false, "RestartMode"); if (mRestartMode) { LoadTriggers(node, manager, "ResetTriggers", mResetTriggers, new Action <ITrigger>(RestartTriggered)); } }
public ITransitionStyle GetTransition(XmlNode node, string reason, ITransitionStyle defalt, params string[] attributes) { return(GetInstance(node, mTransitionStyles, "transition style", reason, defalt, attributes)); }