PROGRAMMATION D’UNE INTERFACE
GRAPHIQUE
1
Simple DirectMedia Layer
• Bibliothèque de développement multiplateforme
– UNIX, LINUX, WINDOWS, MAC, Mobiles
• Ecrite en ...
Bibliothèque multiplateforme
3
Votre application toute belle et toute innovante !
SDL Module 1 Module 2
Xlib Direct X
Maté...
Bibliothèque bas niveau
• Formes basiques
– Points, lignes, rectangles et des textures !
– Ecrire à l’écran dans le greffo...
Squelette d’une application SDL
• Initialisations graphiques
– Variables globales ?
– Structures
• Boucle principale = ges...
File d’attente des événements
• Permet une gestion asynchrone des événements
• Lecture bloquante ou non d’un événement
• E...
Types d’événements (1)
• Structure SDL_event avec un champ type
• Système (notamment sur les mobiles)
• Clavier
• Souris
•...
Types d’événements (2) - Fenêtre
• Affichage / exposition
• Focus clavier
• Entrée ou sortie de la souris
• Fermeture
• Ré...
Contexte de moteur de rendu (renderer)
• Dessin 2D dans une zone
mémoire-tampon (buffer)
• Affichage différé
• Exploitatio...
Texture
• Zone dans laquelle on peut dessiner
– Chargement d’images
– Police de caractères (police TTF)
– Import de surfac...
Codes fournis
• Initialisation de la bibliothèque SDL2
• Exemple d’affichage d’un rectangle, d’un texte et d’un image
• Ge...
12
Opérations binaires en C
0 0 0
0 1 1
1 0 1
1 1 1
0 0 0
0 1 0
1 0 0
1 1 1
0 0 0
0 1 1
1 0 1
1 1 0
OU
|
ET
&
OU EXCLUSIF
...
Exemples
• 5 && 7
• 5 || 7
• !5
• 5 & 7
• 5 | 7
• 5 << 2
• 5 >> 2
• ~ 5
13
2n 64 32 16 8 4 2 1
5 0 0 0 0 1 0 1
7 0 0 0 0 1...
Dessiner
14
(0,0)
y
x
Hauteur/
height
Largeur/ width
Couleurs : (ROUGE, VERT, BLEU, ALPHA)
Prochain SlideShare
Chargement dans…5
×

Introduction à la SDL2

596 vues

Publié le

Le cours de première année ISIMA propose de voir deux bibliothèques graphique : la XLIb et la SDL2. Voici un focus sur la SDL2.

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
596
Sur SlideShare
0
Issues des intégrations
0
Intégrations
9
Actions
Partages
0
Téléchargements
5
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • SDL_ShowSimpleMessageBox
  • Disparition : fenetre cachée par le système
  • Une surface est aussi une image mais dont le rendu est toujours software
  • Complément à 1 : tilde
  • Introduction à la SDL2

    1. 1. PROGRAMMATION D’UNE INTERFACE GRAPHIQUE 1
    2. 2. Simple DirectMedia Layer • Bibliothèque de développement multiplateforme – UNIX, LINUX, WINDOWS, MAC, Mobiles • Ecrite en C, utilisable avec plein d’autres langages • Née en 1998 et en version 2 depuis 2013 • Bas niveau aux périphériques et à la couche graphique – OpenGL et Direct3D – Greffons standards et moins standards • SDL2_TTF, SDL2_mixer, SDL2_image, SDL2_net, SDL2_gfx • Orientée événements • Multifenêtres 2
    3. 3. Bibliothèque multiplateforme 3 Votre application toute belle et toute innovante ! SDL Module 1 Module 2 Xlib Direct X Matériel Autre système caché
    4. 4. Bibliothèque bas niveau • Formes basiques – Points, lignes, rectangles et des textures ! – Ecrire à l’écran dans le greffon standard SDL2_TTF – Lire des formats images autre que BMP avec SDL2_Image – Les ellipses dans le greffon non standard SDL2_GFX • Pas de composants hormis les fenêtres ou boites de dialogues 4
    5. 5. Squelette d’une application SDL • Initialisations graphiques – Variables globales ? – Structures • Boucle principale = gestion des événements asynchrones – Attente d’un événement (bloquant ou non) – Gestion de l’événement • Rendu des ressources graphiques 5
    6. 6. File d’attente des événements • Permet une gestion asynchrone des événements • Lecture bloquante ou non d’un événement • Eventuellement avec une limite • Insertion d’événement système / système graphique / utilisateur • Filtrage possible avant insertion • Désactivation d’événements 6
    7. 7. Types d’événements (1) • Structure SDL_event avec un champ type • Système (notamment sur les mobiles) • Clavier • Souris • Contrôleur / joystick / toucher / mouvement • Moteur de rendu • Audio • Utilisateur • Fenêtre  7
    8. 8. Types d’événements (2) - Fenêtre • Affichage / exposition • Focus clavier • Entrée ou sortie de la souris • Fermeture • Réduction / restauration / maximisation • Redimensionnement 8
    9. 9. Contexte de moteur de rendu (renderer) • Dessin 2D dans une zone mémoire-tampon (buffer) • Affichage différé • Exploitation des capacités des cartes graphiques 9 Effacer la zone mémoire Changer de couleur Dessiner Afficher
    10. 10. Texture • Zone dans laquelle on peut dessiner – Chargement d’images – Police de caractères (police TTF) – Import de surface (SDL 1.2) – Potentiellement gérée/accélérée par le matériel • Cible temporaire d’un renderer • Copie d’une texture vers un renderer 10
    11. 11. Codes fournis • Initialisation de la bibliothèque SDL2 • Exemple d’affichage d’un rectangle, d’un texte et d’un image • Gestion de quelques événéments 11
    12. 12. 12 Opérations binaires en C 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 OU | ET & OU EXCLUSIF ^ Mettre à 1 les bits d’un masque en fonction de certains critères Afficher deux fois un pixel l’efface
    13. 13. Exemples • 5 && 7 • 5 || 7 • !5 • 5 & 7 • 5 | 7 • 5 << 2 • 5 >> 2 • ~ 5 13 2n 64 32 16 8 4 2 1 5 0 0 0 0 1 0 1 7 0 0 0 0 1 1 1
    14. 14. Dessiner 14 (0,0) y x Hauteur/ height Largeur/ width Couleurs : (ROUGE, VERT, BLEU, ALPHA)

    ×