X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8d07927991caf7ee8d9e4760ad223f1ddb20ec6f..53fdeb16a862d0fbba3e3829e9c8f56e402b03ce:/src/generic/splash.cpp diff --git a/src/generic/splash.cpp b/src/generic/splash.cpp index 2c0d403645..144bac6469 100644 --- a/src/generic/splash.cpp +++ b/src/generic/splash.cpp @@ -34,6 +34,8 @@ #define wxSPLASH_TIMER_ID 9999 +IMPLEMENT_DYNAMIC_CLASS(wxSplashScreen, wxFrame); + BEGIN_EVENT_TABLE(wxSplashScreen, wxFrame) EVT_TIMER(wxSPLASH_TIMER_ID, wxSplashScreen::OnNotify) EVT_CLOSE(wxSplashScreen::OnCloseWindow) @@ -115,11 +117,16 @@ void wxSplashScreenWindow::OnPaint(wxPaintEvent& WXUNUSED(event)) dc.DrawBitmap(m_bitmap, 0, 0); } +// VZ: why don't we do it under wxGTK? +#if !defined(__WXGTK__) && wxUSE_PALETTE + #define USE_PALETTE_IN_SPLASH +#endif + static void wxDrawSplashBitmap(wxDC& dc, const wxBitmap& bitmap, int WXUNUSED(x), int WXUNUSED(y)) { wxMemoryDC dcMem; -#ifndef __WXGTK__ +#ifdef USE_PALETTE_IN_SPLASH bool hiColour = (wxDisplayDepth() >= 16) ; if (bitmap.GetPalette() && !hiColour) @@ -127,19 +134,19 @@ static void wxDrawSplashBitmap(wxDC& dc, const wxBitmap& bitmap, int WXUNUSED(x) dc.SetPalette(* bitmap.GetPalette()); dcMem.SetPalette(* bitmap.GetPalette()); } -#endif +#endif // USE_PALETTE_IN_SPLASH dcMem.SelectObject(bitmap); dc.Blit(0, 0, bitmap.GetWidth(), bitmap.GetHeight(), & dcMem, 0, 0); dcMem.SelectObject(wxNullBitmap); -#ifndef __WXGTK__ +#ifdef USE_PALETTE_IN_SPLASH if (bitmap.GetPalette() && !hiColour) { dc.SetPalette(wxNullPalette); dcMem.SetPalette(wxNullPalette); } -#endif +#endif // USE_PALETTE_IN_SPLASH } void wxSplashScreenWindow::OnEraseBackground(wxEraseEvent& event)