using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace MediaPlayerSamples
{
	public partial class DemoMediaPlayer : UserControl
	{
		public DemoMediaPlayer()
		{
			InitializeComponent();
		}

		public bool IsShowingAds
		{
			get { return (bool)GetValue(IsShowingAdsProperty); }
			set { SetValue(IsShowingAdsProperty, value); }
		}

		public Brush DEMO_Background
		{
			get
			{
				return C1MediaPlayer.Background;
			}
			set
			{
				C1MediaPlayer.Background = value;
			}
		}

		public Brush DEMO_Foreground
		{
			get
			{
				return C1MediaPlayer.Foreground;
			}
			set
			{
				C1MediaPlayer.Foreground = value;
			}
		}

		public Brush DEMO_BorderBrush
		{
			get
			{
				return C1MediaPlayer.BorderBrush;
			}
			set
			{
				C1MediaPlayer.BorderBrush = value;
			}
		}

		public Brush MouseOverBrush
		{
			get
			{
				return C1MediaPlayer.MouseOverBrush;
			}
			set
			{
				C1MediaPlayer.MouseOverBrush = value;
			}
		}

		public Brush PressedBrush
		{
			get
			{
				return C1MediaPlayer.PressedBrush;
			}
			set
			{
				C1MediaPlayer.PressedBrush = value;
			}
		}

		public Brush ButtonBackground
		{
			get
			{
				return C1MediaPlayer.ButtonBackground;
			}
			set
			{
				C1MediaPlayer.ButtonBackground = value;
			}
		}

		public Brush ButtonForeground
		{
			get
			{
				return C1MediaPlayer.ButtonForeground;
			}
			set
			{
				C1MediaPlayer.ButtonForeground = value;
			}
		}
		
		public bool IsChapterListButtonVisible
		{
			get { return C1MediaPlayer.IsChapterListButtonVisible; }
			set
			{
				C1MediaPlayer.IsChapterListButtonVisible = value;
			}
		}
		public bool IsFullScreenButtonVisible
		{
			get { return C1MediaPlayer.IsFullScreenButtonVisible; }
			set
			{
				C1MediaPlayer.IsFullScreenButtonVisible = value;
			}
		}
		public bool IsItemListButtonVisible
		{
			get { return C1MediaPlayer.IsItemListButtonVisible; }
			set
			{
				C1MediaPlayer.IsItemListButtonVisible = value;
			}
		}
		public bool IsLoopButtonVisible
		{
			get { return C1MediaPlayer.IsLoopButtonVisible; }
			set
			{
				C1MediaPlayer.IsLoopButtonVisible = value;
			}
		}
		public bool IsNextButtonVisible
		{
			get { return C1MediaPlayer.IsNextButtonVisible; }
			set
			{
				C1MediaPlayer.IsNextButtonVisible = value;
			}
		}
		public bool IsPlayButtonVisible
		{
			get { return C1MediaPlayer.IsPlayButtonVisible; }
			set
			{
				C1MediaPlayer.IsPlayButtonVisible = value;
			}
		}
		public bool IsPositionSliderVisible
		{
			get { return C1MediaPlayer.IsPositionSliderVisible; }
			set
			{
				C1MediaPlayer.IsPositionSliderVisible = value;
			}
		}
		public bool IsPreviousButtonVisible 
		{
			get { return C1MediaPlayer.IsPreviousButtonVisible; }
			set
			{
				C1MediaPlayer.IsPreviousButtonVisible = value;
			}
		}
		public bool IsStopButtonVisible 
		{
			get { return C1MediaPlayer.IsStopButtonVisible; }
			set
			{
				C1MediaPlayer.IsStopButtonVisible = value;
			}
		}
		public bool IsTimePresenterVisible
		{
			get { return C1MediaPlayer.IsTimePresenterVisible; }
			set
			{
				C1MediaPlayer.IsTimePresenterVisible = value;
			}
		}
		public bool IsTitleVisible
		{
			get { return C1MediaPlayer.IsTitleVisible; }
			set
			{
				C1MediaPlayer.IsTitleVisible = value;
			}
		}
		public bool IsVolumeControlVisible
		{
			get { return C1MediaPlayer.IsVolumeControlVisible; }
			set
			{
				C1MediaPlayer.IsVolumeControlVisible = value;
			}
		}
		public bool SuperimposeButtonsFullScreen
		{
			get { return C1MediaPlayer.SuperimposeButtonsFullScreen; }
			set
			{
				C1MediaPlayer.SuperimposeButtonsFullScreen = value;
			}
		}
		public bool SuperimposeButtonsWindowed
		{
			get { return C1MediaPlayer.SuperimposeButtonsWindowed; }
			set
			{
				C1MediaPlayer.SuperimposeButtonsWindowed = value;
			}
		}
		public double Angle
		{
			get { return (C1MediaPlayer.MediaTransform as RotateTransform).Angle; }
			set
			{
				C1MediaPlayer.MediaTransform = new RotateTransform { Angle = value };
			}
		}

		public static readonly DependencyProperty IsShowingAdsProperty =
			DependencyProperty.Register("IsShowingAds", typeof(bool), typeof(DemoMediaPlayer), null);
	}
}
