24#include <wx/nonownedwnd.h>
25#include <wx/settings.h>
33 wxColour bg = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW );
36 double brightness = ( bg.Red() / 255.0 ) * 0.299 +
37 ( bg.Green() / 255.0 ) * 0.587 +
38 ( bg.Blue() / 255.0 ) * 0.117;
40 return brightness < 0.5;
55 GtkWindow* window = GTK_WINDOW( aWindow->GetHandle() );
58 return gtk_window_is_active( window );
81 case wxCURSOR_BULLSEYE:
96 GList* cells = gtk_cell_layout_get_cells( GTK_CELL_LAYOUT( aChoice->m_widget ) );
101 GtkCellRenderer* cell = (GtkCellRenderer*) cells->data;
106 g_object_set( G_OBJECT( cell ),
"ellipsize", PANGO_ELLIPSIZE_END,
nullptr );
109 g_list_free( cells );
117 GtkWidget* widget =
static_cast<GtkWidget*
>( aWindow->GetHandle() );
119 if( widget && gtk_check_version( 3, 10, 0 ) == nullptr )
120 val = gtk_widget_get_scale_factor( widget );
128 return wxSize( aWindow->GetSize().GetX() - wxSystemSettings::GetMetric( wxSYS_VSCROLL_X ),
129 aWindow->GetSize().GetY() - wxSystemSettings::GetMetric( wxSYS_HSCROLL_Y ) );
135 gtk_scrolled_window_set_overlay_scrolling( GTK_SCROLLED_WINDOW( aWindow->GetHandle() ),
142 gboolean allowed = 1;
144 g_object_get( gtk_settings_get_default(),
"gtk-menu-images", &allowed, NULL );
152 if( !wxGetEnv( wxT(
"WAYLAND_DISPLAY" ),
nullptr ) )
154 aWindow->WarpPointer( aX, aY );
158 GdkDisplay* disp = gtk_widget_get_display(
static_cast<GtkWidget*
>( aWindow->GetHandle() ) );
159 GdkSeat* seat = gdk_display_get_default_seat( disp );
160 GdkDevice* dev = gdk_seat_get_pointer( seat );
161 GdkWindow* win = gdk_device_get_window_at_position( dev,
nullptr,
nullptr );
162 GdkCursor* blank_cursor = gdk_cursor_new_for_display( disp, GDK_BLANK_CURSOR );
163 GdkCursor* cur_cursor = gdk_window_get_cursor( win );
166 g_object_ref( cur_cursor );
168 gdk_window_set_cursor( win, blank_cursor );
169 aWindow->WarpPointer( aX, aY );
170 gdk_window_set_cursor( win, cur_cursor );
std::shared_ptr< PNS_LOG_VIEWER_OVERLAY > overlay