// Created: 28/6/2000
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma hdrstop
#endif
+#if wxUSE_SPLASH
+
#ifndef WX_PRECOMP
-#include "wx/wx.h"
+#include "wx/dcmemory.h"
#endif
#include "wx/splash.h"
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();
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();
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;
+#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)
GetParent()->Close(TRUE);
}
-void wxSplashScreenWindow::OnChar(wxKeyEvent& event)
+void wxSplashScreenWindow::OnChar(wxKeyEvent& WXUNUSED(event))
{
GetParent()->Close(TRUE);
}
+#endif // wxUSE_SPLASH