A la hora de hacer pequeños juegos o demos, siempre es útil mostrar un diálogo que permita al usuario elegir entre pantalla completa y ventana.
Tengo código para hacerlo en Windows y Mac OS X, pero no tengo ni idea de cómo se haria en Linux, dada la ensalada de API's y librerias existentes.. ¿alguien se anima a completar este código con una entrada para Linux? A lo mejor tambien interesaria tener una entrada para C# + WindowsForms.
Si se termina se podria enviar como Código de la semana.
PD: Perdón por un código tan warrete
Tengo código para hacerlo en Windows y Mac OS X, pero no tengo ni idea de cómo se haria en Linux, dada la ensalada de API's y librerias existentes.. ¿alguien se anima a completar este código con una entrada para Linux? A lo mejor tambien interesaria tener una entrada para C# + WindowsForms.
Si se termina se podria enviar como Código de la semana.
Código [Seleccionar]
bool GoFullscreen()
{
#ifdef WIN32
MessageBox( NULL, Message, "¿Quieres ejecutar el juego a pantalla completa?", MB_OK );
#endif
#if defined( __APPLE__ ) && defined( __MACH__ )
#include <Carbon/Carbon.h>
AlertStdAlertParamRec pr;
Str255 cancelText;
char ct[] = "No";
CopyCStringToPascal("No",cancelText);
pr.movable = false;
pr.helpButton = false;
pr.filterProc = NULL;
pr.cancelButton = 1;
pr.defaultText = -1;
pr.cancelText = cancelText;
pr.otherText = NULL;
pr.defaultButton = kAlertStdAlertOKButton;
pr.cancelButton = kAlertStdAlertCancelButton;
pr.position = kWindowDefaultPosition;
SInt16 itemHit;
Str255 string;
CopyCStringToPascal( "¿Quieres ejecutar el juego a pantalla completa?", string );
// Open the alert box in OS X.
StandardAlert( kAlertNoteAlert, string ,NULL,&pr, &itemHit );
if(itemHit == 1)
return true;
else
return false;
#endif
// Añadir código para Linux...
}
PD: Perdón por un código tan warrete