+// ----------------------------------------------------------------------------
+// MMBoardVideoFile
+
+MMBoardVideoFile::MMBoardVideoFile(const wxString& filename)
+{
+ m_output_window = NULL;
+ m_input_stream = new wxFileInputStream(filename);
+
+#if defined(__UNIX__)
+ m_video_driver = new wxVideoXANIM(*m_input_stream);
+#elif defined(__WIN32__)
+ m_video_driver = new wxVideoWindows(m_input_stream);
+#else
+ m_video_driver = NULL;
+ SetError(MMBoard_UnknownFile);
+#endif
+}
+
+MMBoardVideoFile::~MMBoardVideoFile()
+{
+ if (m_video_driver)
+ delete m_video_driver;
+
+ delete m_input_stream;
+}
+
+bool MMBoardVideoFile::NeedWindow()
+{
+ return TRUE;
+}
+
+void MMBoardVideoFile::SetWindow(wxWindow *window)
+{
+ m_output_window = window;
+ m_video_driver->AttachOutput(*window);
+}
+
+void MMBoardVideoFile::Play()
+{
+ m_video_driver->Play();
+}
+
+void MMBoardVideoFile::Pause()
+{
+ m_video_driver->Pause();
+}
+
+void MMBoardVideoFile::Resume()
+{
+ m_video_driver->Resume();
+}
+
+void MMBoardVideoFile::Stop()
+{
+ m_video_driver->Stop();
+}
+
+MMBoardTime MMBoardVideoFile::GetPosition()
+{
+ MMBoardTime btime;
+
+ btime.seconds = btime.minutes = btime.hours = 0;
+ return btime;
+}
+
+MMBoardTime MMBoardVideoFile::GetLength()
+{
+ MMBoardTime btime;
+
+ btime.seconds = 1;
+ btime.minutes = btime.hours = 0;
+ return btime;
+}
+
+bool MMBoardVideoFile::IsStopped()
+{
+ return m_video_driver->IsStopped();
+}
+
+bool MMBoardVideoFile::IsPaused()
+{
+ return m_video_driver->IsPaused();
+}
+
+wxString MMBoardVideoFile::GetStringType()
+{
+ return wxString("Video XANIM");
+}
+
+wxString MMBoardVideoFile::GetStringInformation()
+{
+ return wxString("No info");
+}
+
+// ----------------------------------------------------------------------------
+