/// <summary>
        /// Creates a new Target for a Silverlight FrameworkElement
        /// </summary>
        /// <param name="Target">The FrameworkElement for this target</param>
        /// <param name="TargetSource">The sequencing target associated with this target</param>
        /// <param name="TargetDependencies">The sequencing target this is dependent on</param>
        public FrameworkElementAdTarget(FrameworkElement Target, IAdSequencingTarget TargetSource, IEnumerable<IAdSequencingTarget> TargetDependencies)
            : base(TargetSource, TargetDependencies)
        {
            target = Target;
            target.SizeChanged += new SizeChangedEventHandler(target_SizeChanged);
#if !WINDOWS_PHONE && !FULLSCREEN
            Application.Current.Host.Content.FullScreenChanged += new EventHandler(Content_FullScreenChanged);
#endif
            size = target.GetEffectiveSize();
        }
        /// <summary>
        /// Creates a new Target for a Silverlight FrameworkElement
        /// </summary>
        /// <param name="Target">The FrameworkElement for this target</param>
        /// <param name="TargetSource">The sequencing target associated with this target</param>
        /// <param name="TargetDependencies">The sequencing target this is dependent on</param>
        public FrameworkElementAdTarget(FrameworkElement Target, IAdSequencingTarget TargetSource, IEnumerable <IAdSequencingTarget> TargetDependencies)
            : base(TargetSource, TargetDependencies)
        {
            target              = Target;
            target.SizeChanged += new SizeChangedEventHandler(target_SizeChanged);
#if !WINDOWS_PHONE && !FULLSCREEN
            Application.Current.Host.Content.FullScreenChanged += new EventHandler(Content_FullScreenChanged);
#endif
            size = target.GetEffectiveSize();
        }
 /// <summary>
 /// Finds the Silverlight FrameworkElement associated with the target.
 /// </summary>
 /// <param name="Target">The target for a given ad creative</param>
 /// <returns>The FrameworkElement cooresponding to the target</returns>
 protected virtual FrameworkElement GetAdContainer(IAdSequencingTarget Target)
 {
     if (Target.Region == TargetRegions.VideoArea)
     {
         return(adHost.VideoArea);
     }
     else
     {
         return(adHost.Containers.FirstOrDefault(c => c.Name == Target.Region));
     }
 }
 /// <summary>
 /// Creates a target object to store info about a chosen target to place a creative in.
 /// </summary>
 /// <param name="Element">The FrameworkElement that the ad creative will be place in.</param>
 /// <param name="TargetSource">The sequencing target that was selected from the ad source</param>
 /// <param name="TargetDependencies">The other dependency targets. These will be looked at later to make sure all dependency targets have been used before playing the ad.</param>
 /// <returns></returns>
 protected virtual IAdTarget CreateAdTarget(FrameworkElement Element, IAdSequencingTarget TargetSource, IList <IAdSequencingTarget> TargetDependencies)
 {
     if (Element is Panel)
     {
         return(new PanelAdTarget(Element as Panel, TargetSource, TargetDependencies));
     }
     else if (Element is ContentControl)
     {
         return(new ControlAdTarget(Element as ContentControl, TargetSource, TargetDependencies));
     }
     else if (Element is Border)
     {
         return(new BorderAdTarget(Element as Border, TargetSource, TargetDependencies));
     }
     else
     {
         return(null);
     }
 }
 /// <summary>
 /// Constructor for AdTargetBase base class
 /// </summary>
 /// <param name="TargetSource">The sequencing target associated with this target</param>
 /// <param name="TargetDependencies">The sequencing target this is dependent on</param>
 public AdTargetBase(IAdSequencingTarget TargetSource, IEnumerable<IAdSequencingTarget> TargetDependencies)
 {
     targetDependencies = TargetDependencies;
     targetSource = TargetSource;
 }
 /// <summary>
 /// Creates a target object to store info about a chosen target to place a creative in.
 /// </summary>
 /// <param name="Element">The FrameworkElement that the ad creative will be place in.</param>
 /// <param name="TargetSource">The sequencing target that was selected from the ad source</param>
 /// <param name="TargetDependencies">The other dependency targets. These will be looked at later to make sure all dependency targets have been used before playing the ad.</param>
 /// <returns></returns>
 protected virtual IAdTarget CreateAdTarget(FrameworkElement Element, IAdSequencingTarget TargetSource, IList<IAdSequencingTarget> TargetDependencies)
 {
     if (Element is Panel)
         return new PanelAdTarget(Element as Panel, TargetSource, TargetDependencies);
     else if (Element is ContentControl)
         return new ControlAdTarget(Element as ContentControl, TargetSource, TargetDependencies);
     else if (Element is Border)
         return new BorderAdTarget(Element as Border, TargetSource, TargetDependencies);
     else
         return null;
 }
 /// <summary>
 /// Finds the HTMLElement associated with the target
 /// </summary>
 /// <param name="Target">The target for a given ad creative</param>
 /// <returns>The HTMLElement cooresponding to the target</returns>
 protected virtual System.Windows.Browser.HtmlElement GetHtmlAdContainer(IAdSequencingTarget Target)
 {
     return System.Windows.Browser.HtmlPage.Document.GetElementById(Target.Region);
 }
 /// <summary>
 /// Finds the Silverlight FrameworkElement associated with the target.
 /// </summary>
 /// <param name="Target">The target for a given ad creative</param>
 /// <returns>The FrameworkElement cooresponding to the target</returns>
 protected virtual FrameworkElement GetAdContainer(IAdSequencingTarget Target)
 {
     if (Target.Region == TargetRegions.VideoArea)
     {
         return adHost.VideoArea;
     }
     else
     {
         return adHost.Containers.FirstOrDefault(c => c.Name == Target.Region);
     }
 }
 public TargetSearchResult(IAdSequencingTarget AdSequencingTarget, List <IAdSequencingTarget> DependencyTargets)
 {
     this.AdSequencingTarget = AdSequencingTarget;
     this.DependencyTargets  = DependencyTargets;
 }
 /// <summary>
 /// Creates a new Target for a Silverlight Panel control. This includes Grids and StackPanels
 /// </summary>
 /// <param name="Target">The Panel control to be used as a target</param>
 /// <param name="TargetSource">The sequencing target associated with this target</param>
 /// <param name="TargetDependencies">The sequencing target this is dependent on</param>
 public PanelAdTarget(Panel Target, IAdSequencingTarget TargetSource, IEnumerable<IAdSequencingTarget> TargetDependencies)
     : base(Target, TargetSource, TargetDependencies)
 {
 }
 /// <summary>
 /// Creates a new Target for a Silverlight ContentControl control
 /// </summary>
 /// <param name="Target">The ContentControl control to be used as a target</param>
 /// <param name="TargetSource">The sequencing target associated with this target</param>
 /// <param name="TargetDependencies">The sequencing target this is dependent on</param>
 public ControlAdTarget(ContentControl Target, IAdSequencingTarget TargetSource, IEnumerable <IAdSequencingTarget> TargetDependencies)
     : base(Target, TargetSource, TargetDependencies)
 {
 }
 /// <summary>
 /// Creates a new Target for an HtmlElement
 /// </summary>
 /// <param name="Target">The HtmlElement to be used as a target</param>
 /// <param name="TargetSource">The sequencing target associated with this target</param>
 /// <param name="TargetDependencies">The sequencing target this is dependent on</param>
 public HtmlElementAdTarget(HtmlElement Target, IAdSequencingTarget TargetSource, IEnumerable <IAdSequencingTarget> TargetDependencies)
     : base(TargetSource, TargetDependencies)
 {
     target = Target;
 }
 /// <summary>
 /// Creates a new Target for a Silverlight Border control
 /// </summary>
 /// <param name="Target">The Border control to be used as a target</param>
 /// <param name="TargetSource">The sequencing target associated with this target</param>
 /// <param name="TargetDependencies">The sequencing target this is dependent on</param>
 public BorderAdTarget(Border Target, IAdSequencingTarget TargetSource, IEnumerable<IAdSequencingTarget> TargetDependencies)
     : base(Target, TargetSource, TargetDependencies)
 {
 }
 /// <summary>
 /// Creates a new Target for a Silverlight Panel control. This includes Grids and StackPanels
 /// </summary>
 /// <param name="Target">The Panel control to be used as a target</param>
 /// <param name="TargetSource">The sequencing target associated with this target</param>
 /// <param name="TargetDependencies">The sequencing target this is dependent on</param>
 public PanelAdTarget(Panel Target, IAdSequencingTarget TargetSource, IEnumerable <IAdSequencingTarget> TargetDependencies)
     : base(Target, TargetSource, TargetDependencies)
 {
 }
 /// <summary>
 /// Finds the HTMLElement associated with the target
 /// </summary>
 /// <param name="Target">The target for a given ad creative</param>
 /// <returns>The HTMLElement cooresponding to the target</returns>
 protected virtual System.Windows.Browser.HtmlElement GetHtmlAdContainer(IAdSequencingTarget Target)
 {
     return(System.Windows.Browser.HtmlPage.Document.GetElementById(Target.Region));
 }
Ejemplo n.º 16
0
 /// <summary>
 /// Constructor for AdTargetBase base class
 /// </summary>
 /// <param name="TargetSource">The sequencing target associated with this target</param>
 /// <param name="TargetDependencies">The sequencing target this is dependent on</param>
 public AdTargetBase(IAdSequencingTarget TargetSource, IEnumerable <IAdSequencingTarget> TargetDependencies)
 {
     targetDependencies = TargetDependencies;
     targetSource       = TargetSource;
 }
 /// <summary>
 /// Creates a new Target for a Silverlight Border control
 /// </summary>
 /// <param name="Target">The Border control to be used as a target</param>
 /// <param name="TargetSource">The sequencing target associated with this target</param>
 /// <param name="TargetDependencies">The sequencing target this is dependent on</param>
 public BorderAdTarget(Border Target, IAdSequencingTarget TargetSource, IEnumerable <IAdSequencingTarget> TargetDependencies)
     : base(Target, TargetSource, TargetDependencies)
 {
 }
 /// <summary>
 /// Creates a new Target for an HtmlElement
 /// </summary>
 /// <param name="Target">The HtmlElement to be used as a target</param>
 /// <param name="TargetSource">The sequencing target associated with this target</param>
 /// <param name="TargetDependencies">The sequencing target this is dependent on</param>
 public HtmlElementAdTarget(HtmlElement Target, IAdSequencingTarget TargetSource, IEnumerable<IAdSequencingTarget> TargetDependencies)
     : base(TargetSource, TargetDependencies)
 {
     target = Target;
 }
 public TargetSearchResult(IAdSequencingTarget AdSequencingTarget, List<IAdSequencingTarget> DependencyTargets)
 {
     this.AdSequencingTarget = AdSequencingTarget;
     this.DependencyTargets = DependencyTargets;
 }
 /// <summary>
 /// Creates a new Target for a Silverlight ContentControl control
 /// </summary>
 /// <param name="Target">The ContentControl control to be used as a target</param>
 /// <param name="TargetSource">The sequencing target associated with this target</param>
 /// <param name="TargetDependencies">The sequencing target this is dependent on</param>
 public ControlAdTarget(ContentControl Target, IAdSequencingTarget TargetSource, IEnumerable<IAdSequencingTarget> TargetDependencies)
     : base(Target, TargetSource, TargetDependencies)
 {
 }