Documentation de la bibliothèque MLV-3.1.0

beginner/04_texts_and_boxes.c

Ce programme montre comment il est possible d'utiliser deux types de boîte de texte.

La première est une boîte dont la taille s'adapte à celle du texte. Cette boîte se créé à l'aide de la fonction MLV_draw_adapted_text_box.

La deuxième est une boîte dont la taille est fixée par l'utilisateur. Cette boîte s'obtient à l'aide de la fonction MLV_draw_text_box.

#include <MLV/MLV_all.h>
//
// Attention !
// Pour pouvoir compiler ce programme sous windows et sous macintosh,
// il faut, pour la déclaration du main, respecter strictement la syntaxe
// suivante :
//
int main(int argc, char *argv[]){
//
// Déclaration et initialisation de la variable qui codera
// la distance entre deux lignes dans un texte
//
int taille_interlinge = 9;
//
// Créé et affiche la fenêtre
//
"beginner - 4 - texts and boxes", "texts and boxes", 640, 480
);
//
// Affiche du texte sans boîte
//
10, 10,
"Simple texte. Avec draw_text() vous ne devez pas utiliser de retour à la ligne.",
);
//
// Affiche le contenu des variables.
//
// Le format utilisé par la chaîne de
// caractère est le même que celui de printf de stdio.h.
// On rapelle que le .2 du %f signifie que l'on affiche que les 2 premiers
// chiffres après la virgurle du réel 'reel'.
// Dans MLV, ce mécanisme existe dans toute les fonctions qui travaille
// avec une une chaîne de caractère. :)
// Il suffit d'ajouter les variables à insérer dans le texte à la fin de la
// fonction.
//
int entier = 42;
double reel = 3.14;
const char* texte = "Combinatoire";
10, 50,
"entier = %d, reel = %.2f, texte = %s",
entier, reel, texte
);
//
// Affiche du texte dans une boîte dont la taille s'adapte au texte
// Le texte est justifié au centre dans la boîte
//
10,100,
"Exemple de boîte dont le contour\ns'adapte\nà la taille du texte.",
taille_interlinge,
);
//
// Affiche du texte dans une boîte dont la taille s'adapte au texte
// Le texte est justifié à gauche dans la boîte
//
10,190,
"Même chose,\nmais le texte\nest justifié à gauche\nde la fenêtre.",
taille_interlinge,
);
//
// Affiche du texte dans une boîte de taille fixe.
// Le texte est justifié à gauche, horizontalement et verticalement
// centré.
//
10,310,
600,150,
"Cette fois-ci,\nla taille de la boîte ne correspond pas à l'espace couvert par le texte.\nLa boîte est ici plus grande.",
taille_interlinge,
);
//
// Met à jour l'affichage de la fenêtre.
//
//
// Attend 15 seconde avant la fin du programme.
//
//
// Ferme la fenêtre
//
return 0;
}
/*
* This file is part of the MLV Library.
*
* Copyright (C) 2010,2011,2012,2013 Adrien Boussicault, Marc Zipstein
*
*
* This Library is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This Library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this Library. If not, see <http://www.gnu.org/licenses/>.
*/
MLV_TEXT_LEFT
@ MLV_TEXT_LEFT
Definition: MLV_text.h:46
MLV_create_window
void MLV_create_window(const char *window_name, const char *icone_name, unsigned int width, unsigned int height)
Créé une fenêtre dont la taille, et les différents noms sont passés en paramètres.
MLV_VERTICAL_CENTER
@ MLV_VERTICAL_CENTER
Definition: MLV_text.h:66
MLV_COLOR_MAGENTA
#define MLV_COLOR_MAGENTA
Definition: MLV_color.h:1387
MLV_free_window
void MLV_free_window()
Ferme la fenêtre de la bibliothèque MLV.
MLV_COLOR_RED
#define MLV_COLOR_RED
Definition: MLV_color.h:1297
MLV_update_window
void MLV_update_window()
Met à jour l'affichage de la fenêtre.
MLV_wait_seconds
void MLV_wait_seconds(int seconds)
Le programme s'intérompt pendant un nombre de secondes.
MLV_draw_text
void MLV_draw_text(int x, int y, const char *text, MLV_Color color,...)
Imprime un texte donné à une position et une couleur données.
MLV_TEXT_CENTER
@ MLV_TEXT_CENTER
Definition: MLV_text.h:45
MLV_COLOR_GREEN
#define MLV_COLOR_GREEN
Definition: MLV_color.h:931
MLV_HORIZONTAL_CENTER
@ MLV_HORIZONTAL_CENTER
Definition: MLV_text.h:54
MLV_all.h
Fichier d'entête principal incluant tous les autres fichiers entêtes de la bibliothèque MLV.
MLV_draw_adapted_text_box
void MLV_draw_adapted_text_box(int x, int y, const char *message, int sizeInterligne, MLV_Color borderColor, MLV_Color textColor, MLV_Color backgroundColor, MLV_Text_justification text_justification,...)
Dessine une boîte contenant du texte.
MLV_draw_text_box
void MLV_draw_text_box(int x, int y, int width, int height, const char *message, int sizeInterligne, MLV_Color borderColor, MLV_Color textColor, MLV_Color backgroundColor, MLV_Text_justification text_justification, MLV_Horizontal_position horizontal_position, MLV_Vertical_position vertical_position,...)
Dessine une boîte de taille donnée par l'utilisateur et contenant un texte donné par l'utilisateur.
MLV_COLOR_BLACK
#define MLV_COLOR_BLACK
Definition: MLV_color.h:379