Applied Russel's changes to wxToolBarBase
fixed stippled brush for bitmaps (as opposed to pixmaps) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1702 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -48,20 +48,36 @@ END_EVENT_TABLE()
|
||||
// is still valid: a tool may have quit the toolbar.
|
||||
static wxList gs_ToolBars;
|
||||
|
||||
#ifdef __WXGTK__
|
||||
wxToolBarTool::wxToolBarTool(wxToolBar *owner, int theIndex,
|
||||
const wxBitmap& theBitmap1, const wxBitmap& theBitmap2,
|
||||
bool toggle, wxObject *clientData,
|
||||
const wxString& helpS1, const wxString& helpS2,
|
||||
GtkWidget *item )
|
||||
#else
|
||||
wxToolBarTool::wxToolBarTool(int theIndex,
|
||||
const wxBitmap& theBitmap1, const wxBitmap& theBitmap2, bool toggle,
|
||||
long xPos, long yPos, const wxString& helpS1, const wxString& helpS2)
|
||||
#endif
|
||||
{
|
||||
m_toolStyle = wxTOOL_STYLE_BUTTON;
|
||||
#ifdef __WXGTK__
|
||||
m_owner = owner;
|
||||
m_item = item;
|
||||
m_clientData = clientData;
|
||||
m_x = 0;
|
||||
m_y = 0;
|
||||
#else
|
||||
m_clientData = NULL;
|
||||
m_x = xPos;
|
||||
m_y = yPos;
|
||||
#endif
|
||||
m_index = theIndex;
|
||||
m_isToggle = toggle;
|
||||
m_toggleState = FALSE;
|
||||
m_enabled = TRUE;
|
||||
m_bitmap1 = theBitmap1;
|
||||
m_bitmap2 = theBitmap2;
|
||||
m_x = xPos;
|
||||
m_y = yPos;
|
||||
m_width = m_height = 0;
|
||||
m_deleteSecondBitmap = FALSE;
|
||||
if (m_bitmap1.Ok())
|
||||
@@ -167,7 +183,12 @@ wxToolBarTool *wxToolBarBase::AddTool(int index, const wxBitmap& bitmap, const w
|
||||
bool toggle, long xPos, long yPos, wxObject *clientData,
|
||||
const wxString& helpString1, const wxString& helpString2)
|
||||
{
|
||||
#ifdef __WXGTK__
|
||||
wxToolBarTool *tool = new wxToolBarTool( (wxToolBar*)this, index, bitmap, pushedBitmap, toggle,
|
||||
(wxObject*) NULL, helpString1, helpString2);
|
||||
#else
|
||||
wxToolBarTool *tool = new wxToolBarTool(index, bitmap, pushedBitmap, toggle, xPos, yPos, helpString1, helpString2);
|
||||
#endif
|
||||
tool->m_clientData = clientData;
|
||||
|
||||
if (xPos > -1)
|
||||
@@ -698,7 +719,9 @@ void wxToolBarBase::ViewStart (int *x, int *y) const
|
||||
|
||||
void wxToolBarBase::OnIdle(wxIdleEvent& event)
|
||||
{
|
||||
#ifndef __WXGTK__
|
||||
wxWindow::OnIdle(event);
|
||||
#endif
|
||||
|
||||
DoToolbarUpdates();
|
||||
}
|
||||
|
||||
@@ -64,6 +64,7 @@ LIB_CPP_SRC=\
|
||||
common/http.cpp \
|
||||
common/ftp.cpp \
|
||||
common/url.cpp \
|
||||
common/tbarbase.cpp \
|
||||
common/tokenzr.cpp \
|
||||
common/resource.cpp \
|
||||
common/wxexpr.cpp \
|
||||
|
||||
@@ -971,9 +971,12 @@ void wxWindowDC::SetBrush( const wxBrush &brush )
|
||||
|
||||
gdk_gc_set_fill( m_brushGC, fillStyle );
|
||||
|
||||
if (m_brush.GetStyle() == wxSTIPPLE)
|
||||
if ((m_brush.GetStyle() == wxSTIPPLE) && (m_brush.GetStipple()->Ok()))
|
||||
{
|
||||
gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
|
||||
if (m_brush.GetStipple()->GetPixmap())
|
||||
gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
|
||||
else
|
||||
gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetBitmap() );
|
||||
}
|
||||
|
||||
if (IS_HATCH(m_brush.GetStyle()))
|
||||
|
||||
@@ -23,39 +23,6 @@
|
||||
|
||||
extern bool g_blockEventsOnDrag;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxToolBarTool
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxToolBarTool,wxObject)
|
||||
|
||||
wxToolBarTool::wxToolBarTool( wxToolBar *owner, int theIndex,
|
||||
const wxBitmap& bitmap1, const wxBitmap& bitmap2,
|
||||
bool toggle,
|
||||
wxObject *clientData,
|
||||
const wxString& shortHelpString,
|
||||
const wxString& longHelpString,
|
||||
GtkWidget *item )
|
||||
{
|
||||
m_owner = owner;
|
||||
m_index = theIndex;
|
||||
m_bitmap1 = bitmap1;
|
||||
m_bitmap2 = bitmap2;
|
||||
m_isToggle = toggle;
|
||||
m_enabled = TRUE;
|
||||
m_toggleState = FALSE;
|
||||
m_shortHelpString = shortHelpString;
|
||||
m_longHelpString = longHelpString;
|
||||
m_isMenuCommand = TRUE;
|
||||
m_clientData = clientData;
|
||||
m_deleteSecondBitmap = FALSE;
|
||||
m_item = item;
|
||||
}
|
||||
|
||||
wxToolBarTool::~wxToolBarTool()
|
||||
{
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// "clicked" (internal from gtk_toolbar)
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -971,9 +971,12 @@ void wxWindowDC::SetBrush( const wxBrush &brush )
|
||||
|
||||
gdk_gc_set_fill( m_brushGC, fillStyle );
|
||||
|
||||
if (m_brush.GetStyle() == wxSTIPPLE)
|
||||
if ((m_brush.GetStyle() == wxSTIPPLE) && (m_brush.GetStipple()->Ok()))
|
||||
{
|
||||
gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
|
||||
if (m_brush.GetStipple()->GetPixmap())
|
||||
gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
|
||||
else
|
||||
gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetBitmap() );
|
||||
}
|
||||
|
||||
if (IS_HATCH(m_brush.GetStyle()))
|
||||
|
||||
@@ -23,39 +23,6 @@
|
||||
|
||||
extern bool g_blockEventsOnDrag;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxToolBarTool
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxToolBarTool,wxObject)
|
||||
|
||||
wxToolBarTool::wxToolBarTool( wxToolBar *owner, int theIndex,
|
||||
const wxBitmap& bitmap1, const wxBitmap& bitmap2,
|
||||
bool toggle,
|
||||
wxObject *clientData,
|
||||
const wxString& shortHelpString,
|
||||
const wxString& longHelpString,
|
||||
GtkWidget *item )
|
||||
{
|
||||
m_owner = owner;
|
||||
m_index = theIndex;
|
||||
m_bitmap1 = bitmap1;
|
||||
m_bitmap2 = bitmap2;
|
||||
m_isToggle = toggle;
|
||||
m_enabled = TRUE;
|
||||
m_toggleState = FALSE;
|
||||
m_shortHelpString = shortHelpString;
|
||||
m_longHelpString = longHelpString;
|
||||
m_isMenuCommand = TRUE;
|
||||
m_clientData = clientData;
|
||||
m_deleteSecondBitmap = FALSE;
|
||||
m_item = item;
|
||||
}
|
||||
|
||||
wxToolBarTool::~wxToolBarTool()
|
||||
{
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// "clicked" (internal from gtk_toolbar)
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user