X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8601b2e15bf924d4be6b7843064028e514a71ec8..3b38e2a022d97b2afae69cb5f322f96a6a0140f3:/src/x11/popupwin.cpp?ds=sidebyside diff --git a/src/x11/popupwin.cpp b/src/x11/popupwin.cpp index 2fbf352a72..45b3a278c6 100644 --- a/src/x11/popupwin.cpp +++ b/src/x11/popupwin.cpp @@ -7,16 +7,14 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "popupwin.h" -#endif - #include "wx/defs.h" +#include "wx/log.h" #if wxUSE_POPUPWIN #include "wx/popupwin.h" #include "wx/app.h" +#include "wx/settings.h" #include "wx/x11/private.h" #include "X11/Xatom.h" @@ -29,11 +27,13 @@ BEGIN_EVENT_TABLE(wxPopupWindow,wxPopupWindowBase) END_EVENT_TABLE() -IMPLEMENT_DYNAMIC_CLASS(wxPopupWindow, wxWindow) +wxPopupWindow::~wxPopupWindow() +{ +} bool wxPopupWindow::Create( wxWindow *parent, int style ) { - if (!CreateBase( parent, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, "popup" )) + if (!CreateBase( parent, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, wxT("popup") )) { wxFAIL_MSG( wxT("wxPopupWindow creation failed") ); return FALSE; @@ -55,6 +55,7 @@ bool wxPopupWindow::Create( wxWindow *parent, int style ) int xscreen = DefaultScreen( xdisplay ); Visual *xvisual = DefaultVisual( xdisplay, xscreen ); Window xparent = RootWindow( xdisplay, xscreen ); + Colormap cm = DefaultColormap( xdisplay, xscreen); #if wxUSE_TWO_WINDOWS bool need_two_windows = @@ -69,6 +70,12 @@ bool wxPopupWindow::Create( wxWindow *parent, int style ) XSetWindowAttributes xattributes; long xattributes_mask = 0; + + m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE); + m_backgroundColour.CalcPixel( (WXColormap) cm); + + m_foregroundColour = *wxBLACK; + m_foregroundColour.CalcPixel( (WXColormap) cm); xattributes_mask |= CWBackPixel; xattributes.background_pixel = m_backgroundColour.GetPixel();