Esempio n. 1
0
        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));
        }
Esempio n. 2
0
 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;
         }
     }
 }
Esempio n. 3
0
        /// <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);
            }
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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));
            }
        }
Esempio n. 6
0
 public ITransitionStyle GetTransition(XmlNode node, string reason, ITransitionStyle defalt, params string[] attributes)
 {
     return(GetInstance(node, mTransitionStyles, "transition style", reason, defalt, attributes));
 }