Код: Выделить всё
Glib::RefPtr< Gdk::Display > display = Gdk::Display::get_default() ;
if( nullptr == display )
{
return ;
}
Gdk::Rectangle geo ;
Glib::RefPtr< Gio::ListModel > monitors = display->get_monitors() ;
for( uint8_t pos = 0 ; pos < monitors->get_n_items() ; ++pos )
{
Glib::RefPtr< ObjectBase > item = monitors->get_object( pos ) ;
Glib::RefPtr< Gdk::Monitor > monitor = std::dynamic_pointer_cast< Gdk::Monitor >( item ) ;
if( nullptr == monitor )
{
continue ;
}
monitor->get_geometry( geo ) ;
break ;
}
int width , height ;
get_default_size( width , height ) ;
int posX = geo.get_width() / 2 - width / 2 ;
int posY = geo.get_height() / 2 - height / 2 ;
Подробнее здесь: https://stackoverflow.com/questions/797 ... der-gtkmm4