X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f4fc7967b595ea8257696baff78e1866511223d..f1d93f0beeec9d88f8a225aa35a9ccc163dcdb15:/src/generic/splash.cpp?ds=inline diff --git a/src/generic/splash.cpp b/src/generic/splash.cpp index e274dd0a45..54c8982dc9 100644 --- a/src/generic/splash.cpp +++ b/src/generic/splash.cpp @@ -46,7 +46,14 @@ 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. +#ifdef __WXMSW__ + int fudge = 2; +#else + int fudge = 0; +#endif + SetClientSize(bitmap.GetWidth()+fudge, bitmap.GetHeight()+fudge); if (m_splashStyle & wxSPLASH_CENTRE_ON_PARENT) CentreOnParent(); @@ -109,6 +116,7 @@ static void wxDrawSplashBitmap(wxDC& dc, const wxBitmap& bitmap, int x, int y) { wxMemoryDC dcMem; +#ifndef __WXGTK__ bool hiColour = (wxDisplayDepth() >= 16) ; if (bitmap.GetPalette() && !hiColour) @@ -116,14 +124,19 @@ static void wxDrawSplashBitmap(wxDC& dc, const wxBitmap& bitmap, int x, int y) dc.SetPalette(* bitmap.GetPalette()); dcMem.SetPalette(* bitmap.GetPalette()); } +#endif + dcMem.SelectObject(bitmap); dc.Blit(0, 0, bitmap.GetWidth(), bitmap.GetHeight(), & dcMem, 0, 0); dcMem.SelectObject(wxNullBitmap); + +#ifndef __WXGTK__ if (bitmap.GetPalette() && !hiColour) { dc.SetPalette(wxNullPalette); dcMem.SetPalette(wxNullPalette); } +#endif } void wxSplashScreenWindow::OnEraseBackground(wxEraseEvent& event)