}
// calculate the best size if we should auto size the window
- if ( (sizeFlags & wxSIZE_AUTO_WIDTH) ||
- (sizeFlags & wxSIZE_AUTO_HEIGHT) )
+ if ( ((sizeFlags & wxSIZE_AUTO_WIDTH) && width == -1) ||
+ ((sizeFlags & wxSIZE_AUTO_HEIGHT) && height == -1) )
{
const wxSize sizeBest = GetBestSize();
- if ( sizeFlags & wxSIZE_AUTO_WIDTH )
+ if ( (sizeFlags & wxSIZE_AUTO_WIDTH) && width == -1 )
width = sizeBest.x;
- if ( sizeFlags & wxSIZE_AUTO_HEIGHT )
+ if ( (sizeFlags & wxSIZE_AUTO_HEIGHT) && height == -1 )
height = sizeBest.y;
}
{
wxCHECK_MSG( (m_widget != NULL), 12, wxT("invalid window") );
- wxCHECK_MSG( m_font.Ok(), 12, wxT("invalid font") );
+ wxFont font = GetFont();
+ wxCHECK_MSG( font.Ok(), 12, wxT("invalid font") );
#ifdef __WXGTK20__
PangoContext *context = NULL;
if (!context)
return 0;
- PangoFontDescription *desc = m_font.GetNativeFontInfo()->description;
+ PangoFontDescription *desc = font.GetNativeFontInfo()->description;
PangoLayout *layout = pango_layout_new(context);
pango_layout_set_font_description(layout, desc);
pango_layout_set_text(layout, "H", 1);
return (int) (rect.height / PANGO_SCALE);
#else
- GdkFont *font = m_font.GetInternalFont( 1.0 );
+ GdkFont *gfont = font.GetInternalFont( 1.0 );
- return font->ascent + font->descent;
+ return gfont->ascent + gfont->descent;
#endif
}
{
wxCHECK_MSG( (m_widget != NULL), 8, wxT("invalid window") );
- wxCHECK_MSG( m_font.Ok(), 8, wxT("invalid font") );
+ wxFont font = GetFont();
+ wxCHECK_MSG( font.Ok(), 8, wxT("invalid font") );
#ifdef __WXGTK20__
PangoContext *context = NULL;
if (!context)
return 0;
- PangoFontDescription *desc = m_font.GetNativeFontInfo()->description;
+ PangoFontDescription *desc = font.GetNativeFontInfo()->description;
PangoLayout *layout = pango_layout_new(context);
pango_layout_set_font_description(layout, desc);
pango_layout_set_text(layout, "g", 1);
return (int) (rect.width / PANGO_SCALE);
#else
- GdkFont *font = m_font.GetInternalFont( 1.0 );
+ GdkFont *gfont = font.GetInternalFont( 1.0 );
- return gdk_string_width( font, "g" );
+ return gdk_string_width( gfont, "g" );
#endif
}
int *externalLeading,
const wxFont *theFont ) const
{
- wxFont fontToUse = m_font;
- if (theFont) fontToUse = *theFont;
+ wxFont fontToUse = theFont ? *theFont : GetFont();
wxCHECK_RET( fontToUse.Ok(), wxT("invalid font") );
}
}
- if ( m_hasBgCol )
+ if ( m_hasBgCol && m_backgroundColour.Ok() )
{
m_backgroundColour.CalcPixel( gtk_widget_get_colormap( m_widget ) );
if (m_backgroundColour != wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE))