ClanLib

Cet article est une ébauche concernant un logiciel libre.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

ClanLib

Informations
Développé par Magnus Norddahl, Kenneth Gangstoe, Harry Storbacka, Mark Page, Ingo Ruhnke, Sean Heber
Dernière version 4.1.0 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/sphair/ClanLibVoir et modifier les données sur Wikidata
Écrit en C++Voir et modifier les données sur Wikidata
Système d'exploitation Microsoft WindowsVoir et modifier les données sur Wikidata
Environnement Windows, Mac OS X, GNU/Linux
Type Bibliothèque logicielleVoir et modifier les données sur Wikidata
Licence Licence zlibVoir et modifier les données sur Wikidata
Site web clanlib.org et www.clanlib.orgVoir et modifier les données sur Wikidata

modifier - modifier le code - voir Wikidata (aide) Consultez la documentation du modèle

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

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

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>

class ExampleProgram
{
public:
    static int main(const std::vector<CL_String> &args)
    {
        CL_SetupCore setup_core;
        CL_SetupDisplay setup_display;
        CL_SetupGL setup_gl;

        CL_DisplayWindow window("Simple App", 640, 480);
        CL_GraphicContext gc = window.get_gc();
        CL_InputContext ic = window.get_ic();
        CL_Font font(gc, "Tahoma", 32);
        CL_BlendMode blend_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();
        }
        return 0;
    }
};

CL_ClanApplication app(&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

Liens externes

  • (en) Site officiel
  • (en) Documentation
v · m
Libres
2D
2,5D
3D
2D et 3D
  • Allegro
  • Godot
  • HPL
  • libGDX (en)
  • Raylib
  • Sokol (wrapper)
  • Spring
Fantasy console
Bibliothèques bas niveau multiplateformes
Propriétaires commercialisés
2D
3D
Fantasy console
Propriétaires utilisés en interne
2D
3D

Notes et références

  1. « Release 4.1.0 », (consulté le )
  • icône décorative Portail des logiciels libres
  • icône décorative Portail de la programmation informatique