X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/99529b9c4b711a81b85f80f556407cc9dbd055f7..5041b46fedadcafbdd945acad45c2cae500fd11d:/src/gtk/window.cpp diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 5b8290f3c8..21eaaf3f96 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -330,6 +330,9 @@ void wxgtk_window_size_request_callback(GtkWidget * WXUNUSED(widget), // "expose_event" of m_wxwindow //----------------------------------------------------------------------------- + +extern GtkWidget *GetEntryWidget(); + extern "C" { static gboolean gtk_window_expose_callback( GtkWidget *widget, @@ -360,10 +363,10 @@ gtk_window_expose_callback( GtkWidget *widget, if (win->HasFlag(wxBORDER_RAISED)) shadow = GTK_SHADOW_OUT; gtk_paint_shadow( - widget->style, gdk_event->window, GTK_STATE_NORMAL, - shadow, NULL, widget, "viewport", 0, 0, w, h); + GetEntryWidget()->style, gdk_event->window, GTK_STATE_NORMAL, + shadow, NULL, GetEntryWidget(), "entry", 0, 0, w, h); } - + return TRUE; } @@ -397,7 +400,7 @@ gtk_window_expose_callback( GtkWidget *widget, win->GtkSendPaintEvents(); // Let parent window draw window-less widgets - return TRUE; + return FALSE; } } @@ -405,14 +408,13 @@ gtk_window_expose_callback( GtkWidget *widget, // "expose_event" from m_widget, for drawing border //----------------------------------------------------------------------------- -#if 0 -ndef __WXUNIVERSAL__ +#ifndef __WXUNIVERSAL__ extern "C" { static gboolean -expose_event_border(GtkWidget* widget, GdkEventExpose* event, wxWindow* win) +expose_event_border(GtkWidget* widget, GdkEventExpose* gdk_event, wxWindow* win) { // if this event is not for the GdkWindow the border is drawn on - if (win->m_wxwindow == win->m_widget && event->window == widget->window) + if (win->m_wxwindow == win->m_widget && gdk_event->window == widget->window) return false; int x = 0; @@ -428,9 +430,9 @@ expose_event_border(GtkWidget* widget, GdkEventExpose* event, wxWindow* win) if (win->HasFlag(wxBORDER_SIMPLE)) { GdkGC* gc; - gc = gdk_gc_new(event->window); + gc = gdk_gc_new(gdk_event->window); gdk_gc_set_foreground(gc, &widget->style->black); - gdk_draw_rectangle(event->window, gc, false, x, y, w - 1, h - 1); + gdk_draw_rectangle(gdk_event->window, gc, false, x, y, w - 1, h - 1); g_object_unref(gc); } else @@ -439,8 +441,8 @@ expose_event_border(GtkWidget* widget, GdkEventExpose* event, wxWindow* win) if (win->HasFlag(wxBORDER_RAISED)) shadow = GTK_SHADOW_OUT; gtk_paint_shadow( - widget->style, event->window, GTK_STATE_NORMAL, - shadow, &event->area, widget, "entry", x, y, w, h); + GetEntryWidget()->style, gdk_event->window, GTK_STATE_NORMAL, + shadow, NULL, GetEntryWidget(), "viewport", x, y, w, h); } // no further painting is needed for border-only GdkWindow @@ -2439,8 +2441,7 @@ void wxWindowGTK::PostCreation() G_CALLBACK (gtk_wxwindow_commit_cb), this); // border drawing -#if 0 -ndef __WXUNIVERSAL__ +#ifndef __WXUNIVERSAL__ if (HasFlag(wxBORDER_SIMPLE | wxBORDER_RAISED | wxBORDER_SUNKEN)) { g_signal_connect(m_widget, "expose_event", @@ -3649,7 +3650,6 @@ void wxWindowGTK::GtkSendPaintEvents() } } -#if 0 if (GetThemeEnabled() && (GetBackgroundStyle() == wxBG_STYLE_SYSTEM)) { // find ancestor from which to steal background @@ -3703,11 +3703,7 @@ void wxWindowGTK::GtkSendPaintEvents() wxNcPaintEvent nc_paint_event( GetId() ); nc_paint_event.SetEventObject( this ); GetEventHandler()->ProcessEvent( nc_paint_event ); -#endif - if (GetName() == "MyMiniControl") - wxPrintf( "MyMini paint\n" ); - wxPaintEvent paint_event( GetId() ); paint_event.SetEventObject( this ); GetEventHandler()->ProcessEvent( paint_event );