]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/splash/splash.cpp
wxMediaCtrl in wxSplashScreen presentation.
[wxWidgets.git] / samples / splash / splash.cpp
index cd7c2ad931e2fee901d606e1081a3c340df46e0e..290058ca79d092417ac25b70ce0649cb8446405f 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "wx/image.h"
 #include "wx/splash.h"
+#include "wx/mediactrl.h"
 
 // ----------------------------------------------------------------------------
 // resources
@@ -118,19 +119,19 @@ bool MyApp::OnInit()
 {
     wxImage::AddHandler(new wxPNGHandler);
 
+    // create the main application window
+    MyFrame *frame = new MyFrame(_T("wxSplashScreen sample application"));
+
     wxBitmap bitmap;
     if (bitmap.LoadFile(_T("splash.png"), wxBITMAP_TYPE_PNG))
     {
-        wxSplashScreen* splash = new wxSplashScreen(bitmap,
+        new wxSplashScreen(bitmap,
             wxSPLASH_CENTRE_ON_SCREEN|wxSPLASH_TIMEOUT,
-            6000, NULL, wxID_ANY, wxDefaultPosition, wxDefaultSize,
+            6000, frame, wxID_ANY, wxDefaultPosition, wxDefaultSize,
             wxSIMPLE_BORDER|wxSTAY_ON_TOP);
     }
     wxYield();
 
-    // create the main application window
-    MyFrame *frame = new MyFrame(_T("wxSplashScreen sample application"));
-
     // and show it (the frames, unlike simple controls, are not shown when
     // created initially)
     frame->Show(true);
@@ -158,7 +159,7 @@ MyFrame::MyFrame(const wxString& title)
 
     // the "About" item should be in the help menu
     wxMenu *helpMenu = new wxMenu;
-    helpMenu->Append(wxID_ABOUT, _T("&About...\tF1"), _T("Show about dialog"));
+    helpMenu->Append(wxID_ABOUT, _T("&About...\tF1"), _T("Show about frame"));
 
     menuFile->Append(wxID_EXIT, _T("E&xit\tAlt-X"), _T("Quit this program"));
 
@@ -189,9 +190,28 @@ void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
 
 void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 {
-    wxString msg;
-    msg.Printf( _T("This is the About dialog of the wxSplashScreen sample.\n")
-                _T("Welcome to %s"), wxVERSION_STRING);
-
-    wxMessageBox(msg, _T("About sample"), wxOK | wxICON_INFORMATION, this);
+    wxBitmap bitmap;
+    if (bitmap.LoadFile(_T("splash.png"), wxBITMAP_TYPE_PNG))
+    {
+        wxImage image = bitmap.ConvertToImage();
+        image.Rescale( bitmap.GetWidth()/2, bitmap.GetHeight()/2 );
+        bitmap = wxBitmap(image);
+        wxSplashScreen *splash = new wxSplashScreen(bitmap,
+            wxSPLASH_CENTRE_ON_PARENT | wxSPLASH_NO_TIMEOUT,
+            0, this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
+            wxSIMPLE_BORDER|wxSTAY_ON_TOP);
+        wxWindow *win = splash->GetSplashWindow();
+#if wxUSE_MEDIACTRL
+        wxMediaCtrl *media = new wxMediaCtrl( win, wxID_EXIT, _T("press.mpg"), wxPoint(2,2));
+        media->SetSize(wxSize(80,60));
+        media->Play();
+#else
+        wxStaticText *text = new wxStaticText( win, wxID_EXIT, _T("click somewhere\non image"), wxPoint(13,11) );
+        text->SetBackgroundColour(*wxWHITE);
+        text->SetForegroundColour(*wxBLACK);
+        wxFont font = text->GetFont();
+        font.SetPointSize(2*font.GetPointSize()/3);
+        text->SetFont(font);
+#endif
+    }
 }