Did much work on colors. It doesn't work and I guess

it's a GTK bug.
  Small change to Blit()
  Added GTK_NO_TYPE_CHECK when compiling without debug_flag
  Added more wxCHECK_XXX


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1998-10-26 00:19:25 +00:00
parent 019bf1286f
commit f96aa4d9eb
49 changed files with 1004 additions and 533 deletions

View File

@@ -1113,6 +1113,7 @@ void wxWindow::PreCreation( wxWindow *parent, wxWindowID id,
m_resizing = FALSE;
m_windowValidator = (wxValidator *) NULL;
m_hasOwnStyle = FALSE;
m_scrollGC = (GdkGC*) NULL;
}
void wxWindow::PostCreation()
@@ -1947,23 +1948,35 @@ wxColour wxWindow::GetBackgroundColour() const
return m_backgroundColour;
}
void wxWindow::SetBackgroundColourHelper( GdkWindow *window )
{
if (!m_backgroundColour.Ok()) return;
m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
gdk_window_set_background( window, m_backgroundColour.GetColor() );
gdk_window_clear( window );
}
void wxWindow::SetBackgroundColour( const wxColour &colour )
{
wxCHECK_RET( m_widget != NULL, "invalid window" );
m_backgroundColour = colour;
if (!m_backgroundColour.Ok()) return;
GtkWidget *widget = m_wxwindow == NULL ? m_widget : m_wxwindow;
SetBackgroundColourHelper( widget->window );
if (m_wxwindow)
{
GdkWindow *window = m_wxwindow->window;
m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
gdk_window_set_background( window, m_backgroundColour.GetColor() );
gdk_window_clear( window );
}
else
{
GtkStyle *style = gtk_widget_get_style( m_widget );
if (!m_hasOwnStyle)
{
m_hasOwnStyle = TRUE;
style = gtk_style_copy( style );
}
m_backgroundColour.CalcPixel( gdk_window_get_colormap( m_widget->window ) );
style->bg[GTK_STATE_NORMAL] = *m_backgroundColour.GetColor();
style->base[GTK_STATE_NORMAL] = *m_backgroundColour.GetColor();
gtk_widget_set_style( m_widget, style );
}
}
wxColour wxWindow::GetForegroundColour() const
@@ -2136,15 +2149,11 @@ void wxWindow::SetFont( const wxFont &font )
else
m_font = *wxSWISS_FONT;
GtkStyle *style = (GtkStyle*) NULL;
GtkStyle *style = gtk_widget_get_style( m_widget );
if (!m_hasOwnStyle)
{
m_hasOwnStyle = TRUE;
style = gtk_style_copy( gtk_widget_get_style( m_widget ) );
}
else
{
style = gtk_widget_get_style( m_widget );
style = gtk_style_copy( style );
}
gdk_font_unref( style->font );