Cet article est une ébauche concernant un logiciel libre.
| Développé par | Magnus Norddahl, Kenneth Gangstoe, Harry Storbacka, Mark Page, Ingo Ruhnke, Sean Heber |
|---|---|
| Dernière version |
4.2.0 ()[1]👁 Voir et modifier les données sur Wikidata |
| Dépôt |
github.com/sphair/ClanLib👁 Voir et modifier les données sur Wikidata |
| Écrit en |
C++👁 Voir et modifier les données sur Wikidata |
| Système d'exploitation |
Microsoft Windows👁 Voir et modifier les données sur Wikidata |
| Environnement | Windows, Mac OS X, GNU/Linux |
| Type |
Bibliothèque logicielle👁 Voir et modifier les données sur Wikidata |
| Licence |
Licence zlib👁 Voir et modifier les données sur Wikidata |
| Site web |
clanlib.org et www.clanlib.org👁 Voir et modifier les données sur Wikidata |
ClanLib est un kit de développement multiplate-forme écrit en C++ permettant de réaliser des applications multimédia, comme des jeux vidéo.
Cette bibliothèque fournit un système de fenêtrage pour réaliser des graphismes 2D rendus au niveau logiciel ou matériel, ou bien pour réaliser des applications 3D en OpenGL. Un module permet également d'intégrer des éléments d'interface graphique.
Cette bibliothèque est disponible pour les systèmes d'exploitation Windows, Linux et Mac OS X.
Fonctionnalités
[modifier | modifier le code]Les fonctionnalités sont réparties en plusieurs modules : système, fenêtrage, graphismes 2D, interface graphique, son, réseau, base de données, etc. Des classes gèrent le temps, l'affichage de texte avec des CSS, la lecture de documents XML, l'accès aux archives Zip, les expressions rationnelles, les courbes de Bézier, des fonctions mathématiques pour les calculs spécifiques à la 2D et la 3D, détection des collisions, gestion des ressources, interactions réseau, etc.
Exemple
[modifier | modifier le code]Voici un exemple d'utilisation de ClanLib en C++ qui affiche un simple texte dans une fenêtre de 640 par 480 pixels :
#include<ClanLib/core.h> #include<ClanLib/application.h> #include<ClanLib/display.h> #include<ClanLib/gl.h> classExampleProgram { public: staticintmain(conststd::vector<CL_String>&args) { CL_SetupCoresetup_core; CL_SetupDisplaysetup_display; CL_SetupGLsetup_gl; CL_DisplayWindowwindow("Simple App",640,480); CL_GraphicContextgc=window.get_gc(); CL_InputContextic=window.get_ic(); CL_Fontfont(gc,"Tahoma",32); CL_BlendModeblend_transparent; blend_transparent.enable_blending(true); while(ic.get_keyboard().get_keycode(CL_KEY_ESCAPE)==false) { gc.clear(CL_Colorf::white); gc.set_map_mode(cl_map_2d_upper_left); gc.set_blend_mode(blend_transparent); font.draw_text(gc,24,24,"Hello ClanLib",CL_Colorf::black); window.flip(); CL_KeepAlive::process(); } return0; } }; CL_ClanApplicationapp(&ExampleProgram::main);
Sous linux, vous pouvez compiler cet exemple avec la version 2.1 de ClanLib avec la commande :
LD=`pkg-config --cflags --libs clanCore-2.1 clanDisplay-2.1 clanGL-2.1 clanApp-2.1` g++ -o hello $LD clanexample.cxx
Voir aussi
[modifier | modifier le code]Liens externes
[modifier | modifier le code]- (en) Site officiel
- (en) Documentation
Notes et références
[modifier | modifier le code]- ↑ « Release 4.2.0 », (consulté le )
- Wikipédia:ébauche logiciel libre
- Page utilisant P348
- Page utilisant P1324
- Page utilisant P277
- Logiciel catégorisé automatiquement par langage d'écriture
- Page utilisant P306
- Page utilisant P31
- Page utilisant P275
- Page utilisant P856
- Article utilisant une Infobox
- Article contenant un appel à traduction en anglais
- Portail:Logiciels libres/Articles liés
- Portail:Logiciel/Articles liés
- Portail:Informatique/Articles liés
- Portail:Programmation informatique/Articles liés
