Uso de SDL 1.3 Quiero crear una pantalla completa falsa SDL_Window en Linux. Es fácil si solo tengo una pantalla. Acabo de obtener el modo de visualización actual y creé una ventana.Modo de pantalla completa falsa de SDL en configuración de monitor dual en Linux
SDL_GetDesktopDisplayMode(0, &mode);
SDL_Window *win = SDL_CreateWindow("my window",
0,0,mode.w, mode.h,
SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_BORDERLESS);
Pero cuando tengo dos pantallas, las cosas se complican. La ventana se extiende a través de múltiples monitores. SDL solo ve una pantalla virtual de doble tamaño.
he comprobado con este código
int num = SDL_GetNumVideoDisplays();
for(int i=0; i < num; i++)
{
SDL_Rect displayRect;
SDL_GetDisplayBounds(i, &displayRect);
std::cout
<< "display " << i << ": x,y,w,h("
<< displayRect.x << ", "
<< displayRect.y << ", "
<< displayRect.w << ", "
<< displayRect.h << ")"
<< std::endl;
}
salida:
display 0: x,y,w,h(0, 0, 2960, 1050)
Pero i tienen dos pantallas (1680x1050 y 1280x1024).
Cómo forzar a la ventana a permanecer en una sola pantalla (suponga que es la principal)?
1 Interesante. Esto parece una elección del sistema operativo y no estoy seguro de que puedes hacer nada al respecto . – karlphillip
¿Qué método particular está utilizando para multimonitor? Xinerama? Xrandr? Twinview de Nvidia? Define la pantalla por separado en su xorg.conf? – genpfault
@genpfault: estoy usando fedora 15 en la configuración predeterminada (con gnome-shell). xrandr probablemente (todavía no soy un experto en Linux). Pero debería funcionar también en otras máquinas. – Frizi