Documentation de la bibliothèque MLV-0.5

medium/8_full_screen.c

Ce programme change change la taille des fenetres et met le programme en mode plein écran.

#include <MLV/MLV_all.h>
#include <stdio.h>

void affichage(){
        char message[100];
        int width = MLV_get_window_width();
        int height = MLV_get_window_height();
        MLV_draw_filled_rectangle( 0, 0, width, height , MLV_COLOR_YELLOW );
        MLV_draw_rectangle( 0,0, width, height, MLV_COLOR_RED );
        
        MLV_draw_text(
                10, height/2-70, 
                "Différentes résolutions d'écran vont défiler.",MLV_COLOR_BLACK
        );
        MLV_draw_text(
                10, height/2-50, 
                "Ces résolutions seront testées en mode plein écran et en mode fenêtre.",
                MLV_COLOR_BLACK
        );
        MLV_draw_text(
                10, height/2-30,
                "Veuillez attendre la fin de la démonstration.",MLV_COLOR_BLACK 
        );

        snprintf(message,100,"Résolution : %d X %d",width, height);
        MLV_draw_text( 10, height/2+0, message ,MLV_COLOR_BLACK );
        if( MLV_is_full_screen() ){
                MLV_draw_text( 10, height/2+20, "Mode : Plein écran" ,MLV_COLOR_BLACK );
        }else{
                MLV_draw_text( 10, height/2+20, "Mode : fenêtre" ,MLV_COLOR_BLACK );
        }
        MLV_draw_text(
                10, height/2+50, "Appuyer sur une touche pour continuer." ,MLV_COLOR_RED
        );

        MLV_actualise_window();
}


//
// Attention ! 
// Pour pouvoir compiler ce programme sous window et sous macintosh,
// il faut, pour la déclaration du main, respecter strictement la syntaxe
// suivante :
//
int main( int argc, char *argv[] ){

        //
        // Créé une fenetre qui n'est pas en mode plein écran
        //
        MLV_create_window( "medium - 8 - full screen", "full screen", 640, 480 );
        affichage();
        MLV_wait_keyboard(NULL,NULL,NULL);

        // On passe en mode plein écran
        MLV_enable_full_screen( );
        affichage();
        MLV_wait_keyboard(NULL,NULL,NULL);

        // On change la taille de la fenetre
        MLV_change_window_size( 550, 160 );
        // On quitte le mode plein écran
        MLV_disable_full_screen( );
        affichage();
        MLV_wait_keyboard(NULL,NULL,NULL);

        // On passe en mode plein écran
        // Ici la résolution de la fenetre n'est pas compatible avec 
        // la résolution de l'ecran.
        // Le programme passe donc en plein écran, mais n'adapte par la taille 
        // de l'image à celle de l'écran
        MLV_enable_full_screen( );
        affichage();
        MLV_wait_keyboard(NULL,NULL,NULL);

        //
        // Ferme la fenêtre
        //
        MLV_free_window();

        return 0;
}