X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b41b2a052a3f48db6de28322c0e0e4bcda623cef..20c81bed846981e90769826b94a91eebb91158f1:/src/gtk/minifram.cpp diff --git a/src/gtk/minifram.cpp b/src/gtk/minifram.cpp index e915efca95..6a99ba396b 100644 --- a/src/gtk/minifram.cpp +++ b/src/gtk/minifram.cpp @@ -16,17 +16,13 @@ #ifndef WX_PRECOMP #include "wx/settings.h" - #include "wx/dcscreen.h" + #include "wx/dcclient.h" + #include "wx/image.h" #endif -#include "gtk/gtk.h" #include "wx/gtk/win_gtk.h" #include "wx/gtk/private.h" -#include -#include -#include - //----------------------------------------------------------------------------- // data //----------------------------------------------------------------------------- @@ -62,12 +58,12 @@ static wxColor LightContrastColour(const wxColour& c) } extern "C" { -static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *gdk_event, wxMiniFrame *win ) +static gboolean gtk_window_own_expose_callback(GtkWidget* widget, GdkEventExpose* gdk_event, wxMiniFrame* win) { - if (g_isIdle) wxapp_install_idle_handler(); + // don't need to install idle handler, its done from "event" signal - if (!win->m_hasVMT) return; - if (gdk_event->count > 0) return; + if (!win->m_hasVMT || gdk_event->count > 0) + return false; GtkPizza *pizza = GTK_PIZZA(widget); @@ -103,14 +99,15 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g wxBrush brush( LightContrastColour( wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT) ) ); dc.SetBrush( brush ); dc.SetPen( *wxTRANSPARENT_PEN ); - dc.DrawRectangle( 3, 3, win->m_width - 7, height-2 ); + dc.DrawRectangle( 3, 3, win->m_width - 7, height ); dc.SetTextForeground( *wxWHITE ); dc.DrawText( win->GetTitle(), 6, 3 ); if (style & wxCLOSE_BOX) - dc.DrawBitmap( win->m_closeButton, win->m_width-19, 3, true ); + dc.DrawBitmap( win->m_closeButton, win->m_width-19, 2, true ); } + return false; } } @@ -121,7 +118,7 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g extern "C" { static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton *gdk_event, wxMiniFrame *win ) { - if (g_isIdle) wxapp_install_idle_handler(); + // don't need to install idle handler, its done from "event" signal if (!win->m_hasVMT) return FALSE; if (g_blockEventsOnDrag) return TRUE; @@ -207,7 +204,7 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton extern "C" { static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButton *gdk_event, wxMiniFrame *win ) { - if (g_isIdle) wxapp_install_idle_handler(); + // don't need to install idle handler, its done from "event" signal if (!win->m_hasVMT) return FALSE; if (g_blockEventsOnDrag) return TRUE; @@ -242,8 +239,7 @@ extern "C" { static gboolean gtk_window_leave_callback( GtkWidget *widget, GdkEventCrossing *gdk_event, wxMiniFrame *win ) { - if (g_isIdle) - wxapp_install_idle_handler(); + // don't need to install idle handler, its done from "event" signal if (!win->m_hasVMT) return FALSE; if (g_blockEventsOnDrag) return FALSE; @@ -262,8 +258,7 @@ extern "C" { static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion *gdk_event, wxMiniFrame *win ) { - if (g_isIdle) - wxapp_install_idle_handler(); + // don't need to install idle handler, its done from "event" signal if (!win->m_hasVMT) return FALSE; if (g_blockEventsOnDrag) return TRUE;