проблема с разрешением экрана после запуска программы allegro в полноэкранном режиме

Моя программа allegro отлично работает в полноэкранном режиме, но после того, как я выхожу из программы, разрешение экрана моего рабочего стола искажается. У меня сложилось впечатление, что запуск allegro_exit(); вернет разрешение экрана к тому, что было изначально.

Мне просто интересно, были ли у кого-то еще такие проблемы и что они делали, чтобы исправить это.

Я запускаю его на Linux Mint 13


person cjfont84    schedule 13.07.2012    source источник
comment
Что говорится в документации Allegro?   -  person Alexey Frunze    schedule 13.07.2012


Ответы (1)


Во-первых, надеюсь, вы используете по крайней мере Allegro 4.4. Но даже тогда я бы настоятельно рекомендовал перейти на серию 5.0. Версии 4, по сути, больше не существует, и по мере изменения операционных систем вероятность ее надежной работы снижается.

Тем не менее, вы можете попробовать явно вызвать set_gfx_mode(GFX_TEXT, 0, 0, 0, 0), чтобы попытаться выйти из полноэкранного режима.

Кроме того, у вас будет меньше проблем, если вы установите тот же режим, что и рабочий стол. например.:

int w, h;
get_desktop_resolution(&w, &h);
set_color_depth(desktop_color_depth());
set_gfx_mode(GFX_AUTODETECT_FULLSCREEN, w, h, 0, 0);

И, возможно, GFX_XWINDOWS_FULLSCREEN будет работать лучше. Или, может быть, GFX_XDGA2 работает с правами root. Если ничего не помогает, скорее всего, вы застряли в оконном режиме.

person Matthew    schedule 13.07.2012