X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/004f4002877acc09d8bc213602f55b22bdbae345..89b3361ec25cf1e6d255b14c7633d8375646e4fb:/samples/splash/splash.cpp?ds=sidebyside diff --git a/samples/splash/splash.cpp b/samples/splash/splash.cpp index 1b72d0be68..79014bd543 100644 --- a/samples/splash/splash.cpp +++ b/samples/splash/splash.cpp @@ -40,7 +40,7 @@ // the application icon (under Windows and OS/2 it is in resources and even // though we could still include the XPM here it would be unused) -#if !defined(__WXMSW__) && !defined(__WXPM__) +#ifndef wxHAS_IMAGES_IN_RESOURCES #include "../sample.xpm" #endif @@ -123,10 +123,13 @@ IMPLEMENT_APP(MyApp) // 'Main program' equivalent: the program execution "starts" here bool MyApp::OnInit() { + if ( !wxApp::OnInit() ) + return false; + wxImage::AddHandler(new wxPNGHandler); // create the main application window - MyFrame *frame = new MyFrame(_T("wxSplashScreen sample application")); + MyFrame *frame = new MyFrame(wxT("wxSplashScreen sample application")); wxBitmap bitmap; @@ -134,8 +137,8 @@ bool MyApp::OnInit() bitmap = wxBitmap(mobile_xpm); bool ok = frame->m_isPda - ? bitmap.Ok() - : bitmap.LoadFile(_T("splash.png"), wxBITMAP_TYPE_PNG); + ? bitmap.IsOk() + : bitmap.LoadFile(wxT("splash.png"), wxBITMAP_TYPE_PNG); if (ok) { @@ -144,7 +147,11 @@ bool MyApp::OnInit() 6000, frame, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSIMPLE_BORDER|wxSTAY_ON_TOP); } + +#if !defined(__WXGTK20__) + // we don't need it at least on wxGTK with GTK+ 2.12.9 wxYield(); +#endif // and show it (the frames, unlike simple controls, are not shown when // created initially) @@ -175,14 +182,14 @@ 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 frame")); + helpMenu->Append(wxID_ABOUT, wxT("&About\tF1"), wxT("Show about frame")); - menuFile->Append(wxID_EXIT, _T("E&xit\tAlt-X"), _T("Quit this program")); + menuFile->Append(wxID_EXIT, wxT("E&xit\tAlt-X"), wxT("Quit this program")); // now append the freshly created menu to the menu bar... wxMenuBar *menuBar = new wxMenuBar(); - menuBar->Append(menuFile, _T("&File")); - menuBar->Append(helpMenu, _T("&Help")); + menuBar->Append(menuFile, wxT("&File")); + menuBar->Append(helpMenu, wxT("&Help")); // ... and attach this menu bar to the frame SetMenuBar(menuBar); @@ -191,7 +198,7 @@ MyFrame::MyFrame(const wxString& title) #if wxUSE_STATUSBAR // create a status bar just for fun (by default with 1 pane only) CreateStatusBar(2); - SetStatusText(_T("Welcome to wxWidgets!")); + SetStatusText(wxT("Welcome to wxWidgets!")); #endif // wxUSE_STATUSBAR } @@ -211,28 +218,31 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) if (m_isPda) bitmap = wxBitmap(mobile_xpm); bool ok = m_isPda - ? bitmap.Ok() - : bitmap.LoadFile(_T("splash.png"), wxBITMAP_TYPE_PNG); + ? bitmap.IsOk() + : bitmap.LoadFile(wxT("splash.png"), wxBITMAP_TYPE_PNG); if (ok) { wxImage image = bitmap.ConvertToImage(); + // do not scale on already small screens if (!m_isPda) 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)); + wxMediaCtrl *media = new wxMediaCtrl( win, wxID_EXIT, wxT("press.mpg"), wxPoint(2,2)); media->Play(); #else wxStaticText *text = new wxStaticText( win, wxID_EXIT, - _T("click somewhere\non image"), + wxT("click somewhere\non this image"), wxPoint(m_isPda ? 0 : 13, m_isPda ? 0 : 11) );