public VideoState(OverlayPlugin manager, XmlNode node, IMediaPlayer player) : base(manager, node) { 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); 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(StartTriggered)); LoadTriggers(node, manager, "StopTriggers", mStopTriggers, new Action(StopTriggered)); mRestartMode = GetBool(node, false, "RestartMode"); if (mRestartMode) { LoadTriggers(node, manager, "ResetTriggers", mResetTriggers, new Action(RestartTriggered)); } }
public MouseActiveTrigger(OverlayPlugin plugin, XmlNode node) : base(node) { mManager = GetManager(plugin, node, "trigger"); mCore = plugin.Core; mMoveListener = new Action<FrameOverlayManager, EventArgs>(mManager_CursorMoved); }
public TouchscreenWindow(FrameOverlayManager manager, TouchscreenPlugin plugin) : base(manager) { mPlugin = plugin; mPlugin.Left.SizeChanged += () => Manager.ForceRedrawStatic(); mPlugin.Right.SizeChanged += () => Manager.ForceRedrawStatic(); mPlugin.Single.SizeChanged += () => Manager.ForceRedrawStatic(); }
public UnityState(OverlayPlugin manager, XmlNode node) : base(GetName(node, "creating unity state"), manager, node, false) { mUnity = Path.GetFullPath(GetString(node, null, "File")); mManager = manager; mMainWindow = GetManager(manager, node, "unity state"); mBounds = manager.GetBounds(node, "unity state"); ResizedHandler = new System.EventHandler(this.Resized); }
/// <summary> /// Initialise the fade transition, specifying how long the fade should last, in ms. /// </summary> /// <param name="transition">The transition this fade is part of.</param> /// <param name="manager">The window this fade is to be drawn on.</param> /// <param name="lengthMS">The length of time, in ms, the fade should last.</param> public FeatureFrameTransition(StateTransition transition, FrameOverlayManager manager, IFeatureTransition transitionEffect) : base(transition, manager) { mTransition = transitionEffect; mTransition.Start = From; mTransition.Finish = To; mTransition.Finished += new Action(transitionEffect_Finished); AddFeature(mTransition); }
/// <summary> /// /// </summary> /// <param name="transition"></param> /// <param name="window"></param> /// <exception cref="InvalidArgumentException">Thrown if there is no window state for the To or From state.</exception> public FrameTransition(StateTransition transition, FrameOverlayManager manager) : base(manager.Name) { mManager = manager; mTransition = transition; mFrom = transition.From[manager.Name]; mTo = transition.To[manager.Name]; Finished += trans => mSelected = false; }
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)); }
void mCoordinator_FrameAdded(Frame frame, EventArgs args) { FrameOverlayManager manager = new FrameOverlayManager(this, frame); mFrameManagers.Add(frame.Name, manager); if (mMasterForm != null) { manager.SetForm(mMasterForm); } if (mConfig.LaunchOverlay) { manager.Launch(); } }
public IWindowTransition Create(StateTransition transition, FrameOverlayManager manager) { return new FeatureFrameTransition(transition, manager, mFactory.Create(mLengthMS)); }
/// <summary> /// Create a window state for drawing this state to the specified window. /// </summary> /// <param name="window">The window the new window state is to draw on.</param> public virtual IFrameState CreateFrameState(FrameOverlayManager manager) { return new FrameState(manager); }
private void coordinator_WindowAdded(Frame frame, EventArgs args) { if (frame.Name == mWindow) { mManager = mOverlayPlugin[frame.Name]; frame.Core.FrameAdded -= mWindowAddedListener; } }
public void Init(Core core) { if (!core.HasPlugin<OverlayPlugin>()) { //throw new ArgumentException("Unable to load kinect cursor. Overlay plugin is not loaded."); Logger.Warn("Unable to load axis cursor. Overlay plugin is not loaded."); Init(); return; } mOverlayPlugin = core.GetPlugin<OverlayPlugin>(); if (core.HasFrame(mWindow)) { mManager = mOverlayPlugin[mWindow]; } else { mWindowAddedListener = new Action<Chimera.Frame, EventArgs>(coordinator_WindowAdded); core.FrameAdded += mWindowAddedListener; } Init(); }
void mManager_CursorMoved(FrameOverlayManager manager, EventArgs args) { Trigger(); }
public InfoState(string name, OverlayPlugin manager, string mainWindow, string whereWindow) : base(name, manager) { mPlugin = manager; mMainWindow = manager[mainWindow]; }
void mCoordinator_FrameAdded(Frame frame, EventArgs args) { FrameOverlayManager manager = new FrameOverlayManager(this, frame); mFrameManagers.Add(frame.Name, manager); if (mMasterForm != null) manager.SetForm(mMasterForm); if (mConfig.LaunchOverlay) manager.Launch(); }
/// <summary> /// CreateWindowState a window state for drawing this state to the specified window. /// </summary> /// <param name="window">The window the new window state is to draw on.</param> public override IFrameState CreateFrameState(FrameOverlayManager manager) { ImageBGWindow win = new ImageBGWindow(manager, mWindowBGs.ContainsKey(manager.Name) ? mWindowBGs[manager.Name] : mDefaultBG); mWindows.Add(manager.Name, win); return win; }
/// <param name="manager">The manager which controls this frame state.</param> public FrameState(FrameOverlayManager manager) : base(manager.Frame.Name) { mManager = manager; }
public KinectControlWindowState(FrameOverlayManager manager, double mOpacity) : this(manager) { this.mOpacity = mOpacity; }
/// <summary> /// Initialise the fade transition, specifying how long the fade should last, in ms. /// </summary> /// <param name="transition">The transition this fade is part of.</param> /// <param name="manager">The window this fade is to be drawn on.</param> /// <param name="lengthMS">The length of time, in ms, the fade should last.</param> public OpacityFadeWindowTransition(StateTransition transition, FrameOverlayManager manager, double lengthMS, bool fadeIn) : base(transition, manager) { mLengthMS = lengthMS; mFadeIn = fadeIn; mTickListener = new Action(Coordinator_Tick); Finished += new Action<IWindowTransition>(OpacityFadeWindowTransition_Finished); #if DEBUG StatisticsCollection.AddStatistics(mStatistics, transition.Name + " " + manager.Name); #endif }
/// <summary> /// CreateWindowState a window state for drawing this state to the specified window. /// </summary> /// <param name="window">The window the new window state is to draw on.</param> public abstract IFrameState CreateWindowState(FrameOverlayManager manager);
public IWindowTransition Create(StateTransition transition, FrameOverlayManager manager) { return new OpacityFadeWindowTransition(transition, manager, mLengthMS, !mFadeOut); }
public KinectControlWindowState(FrameOverlayManager manager) : base(manager) { }
/// <param name="manager">The manager which controls this window state.</param> public FrameState(FrameOverlayManager manager) : base(manager.Frame.Name) { mManager = manager; }
public override IFrameState CreateFrameState(FrameOverlayManager manager) { return new KinectControlWindowState(manager); }
public FlythroughState(OverlayPlugin manager, XmlNode node, IMediaPlayer player) : base(GetName(node, "flythrough state"), manager, node) { mStepListener = new Action<int>(mInput_StepStarted); mInput = manager.Core.GetPlugin<FlythroughPlugin>(); bool displaySubtitles = GetBool(node, false, "DisplaySubtitles"); mFlythrough = GetString(node, null, "File"); mAutoStepping = GetBool(node, true, "AutoStep"); mLoop = GetBool(node, true, "Loop"); if (mFlythrough == null) throw new ArgumentException("Unable to load flythrough state. No flythrough file specified."); mPlayer = player; if (mPlayer != null) mDefaultWindow = Manager[0]; if (displaySubtitles) { mSubtitlesText = Manager.MakeText(node.SelectSingleNode("child::SubtitleText")); mSubtitlesFont = Manager.MakeText(node.SelectSingleNode("child::SubtitleText")); } XmlNode stepTextNode = node.SelectSingleNode("child::StepText"); if (stepTextNode != null) mStepText = Manager.MakeText(stepTextNode); //mInput.CurrentEventChange += new Action<FlythroughEvent<Camera>,FlythroughEvent<Camera>>(mInput_CurrentEventChange); int subtitleTimeout = GetInt(node, 20, "SubtitleTimeout"); XmlNode stepsRoot = node.SelectSingleNode("child::Steps"); if (stepsRoot != null) { foreach (XmlNode child in stepsRoot.ChildNodes) { if (child is XmlElement) { Step step = new Step(this, child, mSubtitlesText, subtitleTimeout, mPlayer); mSteps.Add(step.StepNum, step); } } } if (displaySubtitles) AddFeature(mSubtitlesText); if (mStepText != null) AddFeature(mStepText); XmlNode triggersRoot = node.SelectSingleNode("child::Triggers"); if (triggersRoot != null) { foreach (XmlNode child in triggersRoot.ChildNodes) AddStepTrigger(manager.GetTrigger(child, "flythrough step", null)); } }
public void Init(FrameOverlayManager manager) { mManager = manager; drawPanel.BackColor = manager.TransparencyKey; TransparencyKey = manager.TransparencyKey; BackColor = manager.TransparencyKey; Opacity = manager.Opacity; refreshTimer.Interval = manager.FrameLength; //refreshTimer.Enabled = true; Thread tickthread = new Thread(TickThread); tickthread.Name = mManager.Name + " graphics thread."; tickthread.Start(); }
public OverlayWindow(FrameOverlayManager manager) : this() { Init(manager); }
private void Update(FrameOverlayManager manager, Rectangle bounds, int x, int y) { mOverlayPlugin[manager.Name].UpdateCursor((double)x / (double)bounds.Width, (double)y / (double)bounds.Height); }
/// <summary> /// Create a window state for drawing this state to the specified window. /// </summary> /// <param name="window">The window the new window state is to draw on.</param> public virtual IFrameState CreateFrameState(FrameOverlayManager manager) { return(new FrameState(manager)); }
public OverlayTouchSource(FrameOverlayManager manager) { mManager = manager; mManager.OnPress += () => { if (OnPress != null) OnPress(0); }; mManager.OnRelease += () => { if (OnRelease != null) OnRelease(0); }; }
public override IFrameState CreateFrameState(FrameOverlayManager manager) { if (manager.Name.Equals(mPlugin.Frame.Name)) return new TouchscreenWindow(manager, mPlugin); return new FrameState(manager); }
public override IFrameState CreateWindowState(FrameOverlayManager manager) { return new FrameState(manager); }
void Core_InitialisationComplete() { if (mFrame.Core.HasPlugin<OverlayPlugin>()) mManager = mFrame.Core.GetPlugin<OverlayPlugin>()[mFrame.Name]; if (mConfig.AutoStartViewer) Launch(); else if (mConfig.AutoStartProxy) StartProxy(); }