X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/25093cf311ba6bcef91a6a8cae530233c6074778..53e46b61bbe4ce72b92c8898907f0a879d5f012b:/src/generic/splash.cpp diff --git a/src/generic/splash.cpp b/src/generic/splash.cpp index 9cb2778415..3498795c50 100644 --- a/src/generic/splash.cpp +++ b/src/generic/splash.cpp @@ -6,7 +6,7 @@ // Created: 28/6/2000 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -20,8 +20,9 @@ #pragma hdrstop #endif +#if wxUSE_SPLASH + #ifndef WX_PRECOMP -#include "wx/wx.h" #endif #include "wx/splash.h" @@ -46,7 +47,15 @@ wxSplashScreen::wxSplashScreen(const wxBitmap& bitmap, long splashStyle, int mil m_window = new wxSplashScreenWindow(bitmap, this, -1, pos, size, wxNO_BORDER); - SetClientSize(bitmap.GetWidth(), bitmap.GetHeight()); + // For some reason, we need to make the client size a couple of pixels + // bigger for all of the bitmap to show. + // Or do we? +#ifdef __WXMSW__ + int fudge = 0; +#else + int fudge = 0; +#endif + SetClientSize(bitmap.GetWidth()+fudge, bitmap.GetHeight()+fudge); if (m_splashStyle & wxSPLASH_CENTRE_ON_PARENT) CentreOnParent(); @@ -69,13 +78,12 @@ wxSplashScreen::~wxSplashScreen() m_timer.Stop(); } -void wxSplashScreen::OnNotify(wxTimerEvent& event) +void wxSplashScreen::OnNotify(wxTimerEvent& WXUNUSED(event)) { - m_timer.Stop(); - this->Destroy(); + Close(TRUE); } -void wxSplashScreen::OnCloseWindow(wxCloseEvent& event) +void wxSplashScreen::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) { m_timer.Stop(); this->Destroy(); @@ -98,20 +106,20 @@ wxSplashScreenWindow::wxSplashScreenWindow(const wxBitmap& bitmap, wxWindow* par m_bitmap = bitmap; } -void wxSplashScreenWindow::OnPaint(wxPaintEvent& event) +void wxSplashScreenWindow::OnPaint(wxPaintEvent& WXUNUSED(event)) { wxPaintDC dc(this); if (m_bitmap.Ok()) dc.DrawBitmap(m_bitmap, 0, 0); } -static void wxDrawSplashBitmap(wxDC& dc, const wxBitmap& bitmap, int x, int y) +static void wxDrawSplashBitmap(wxDC& dc, const wxBitmap& bitmap, int WXUNUSED(x), int WXUNUSED(y)) { wxMemoryDC dcMem; - bool hiColour = (wxDisplayDepth() >= 16) ; - #ifndef __WXGTK__ + bool hiColour = (wxDisplayDepth() >= 16) ; + if (bitmap.GetPalette() && !hiColour) { dc.SetPalette(* bitmap.GetPalette()); @@ -157,8 +165,9 @@ void wxSplashScreenWindow::OnMouseEvent(wxMouseEvent& event) GetParent()->Close(TRUE); } -void wxSplashScreenWindow::OnChar(wxKeyEvent& event) +void wxSplashScreenWindow::OnChar(wxKeyEvent& WXUNUSED(event)) { GetParent()->Close(TRUE); } +#endif // wxUSE_SPLASH