#include "wx/sizer.h"
#include "wx/dcclient.h"
#include "wx/log.h"
+#include "wx/image.h"
#ifdef __VMS
#pragma message disable nosimpint
// ----------------------------------------------------------------------------
#ifdef __WXGTK20__
- #include "wx/gtk/taskbarpriv.h"
-#else
+ #include <gtk/gtk.h>
+ #if GTK_CHECK_VERSION(2,1,0)
+ #include "wx/gtk/taskbarpriv.h"
+ #define TASKBAR_ICON_AREA_BASE_INCLUDED
+ #endif
+#endif
+
+#ifndef TASKBAR_ICON_AREA_BASE_INCLUDED
class WXDLLIMPEXP_ADV wxTaskBarIconAreaBase : public wxFrame
{
public:
_T("using legacy KDE1,2 and GNOME 1.2 methods"));
SetLegacyWMProperties();
}
+
+#if defined(__WXGTK20__) && defined(TASKBAR_ICON_AREA_BASE_INCLUDED)
+ m_invokingWindow = icon;
+#endif
// Set initial size to bitmap size (tray manager may and often will
// change it):
// determine suitable bitmap size:
wxSize winsize(GetSize());
wxSize bmpsize(m_bmp.GetWidth(), m_bmp.GetHeight());
- wxSize iconsize(wxMin(winsize.x-2, bmpsize.x), wxMin(winsize.y-2, bmpsize.y));
+ wxSize iconsize(wxMin(winsize.x, bmpsize.x), wxMin(winsize.y, bmpsize.y));
// rescale the bitmap to fit into the tray icon window:
if (bmpsize != iconsize)
}
wxRegion region;
- if (m_bmp.GetMask())
- region.Union(m_bmp);
- else
- region.Union(0,0, iconsize.x, iconsize.y);
+ region.Union(m_bmp);
// if the bitmap is smaller than the window, offset it:
if (winsize != iconsize)
{
if (!m_iconWnd)
return false;
- wxSize size(m_iconWnd->GetClientSize());
- m_iconWnd->PopupMenu(menu, size.x/2, size.y/2);
+ m_iconWnd->PopupMenu(menu);
return true;
}