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();
{
wxMemoryDC dcMem;
+#ifndef __WXGTK__
bool hiColour = (wxDisplayDepth() >= 16) ;
if (bitmap.GetPalette() && !hiColour)
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)