Allegro | |
---|---|
Sorts | multimediabibliotek |
Författare | Shawn Hargreaves |
Utvecklaren | gemenskap |
Skrivet i | C |
Operativ system | Microsoft Windows , Linux , macOS , iOS och Android |
Första upplagan | 1990 |
senaste versionen | |
stat | aktiva |
Licens | zlib licens |
Hemsida | liballeg.org |
Allegro är ett gratis plattformsoberoende multimediabibliotek [ 3] [4] [5] . Den tillhandahåller verktyg för att rendera grundläggande 2D-grafik och text, manipulera bilder, spela upp ljudfiler (inklusive MIDI -musik) och hantera användarinmatning. Den tillhandahåller också ytterligare funktioner för att använda fasta tal och flyttal , matrisoperationer , använda Unicode - strängar , arbeta med filsystemet och 3D-grafik. Biblioteket är skrivet i programmeringsspråket C och är designat för användning med språken C, C++ . Länka till Pascal , Python , Lua , Scheme , D , Go och många andra språk är också möjligt [6] .
Allegro stöder Windows , macOS , Unix-liknande system , Android och iOS-plattformar genom att abstrahera deras API:er till ett enda bärbart gränssnitt. Det finns en oberoende port av Allegro på AmigaOS 4 och MorphOS .
Allegro skapades av Sean Hargreaves i början av 1990-talet för Atari ST . Till en början dechiffrerades namnet på biblioteket som Atari Low-Level Game Rutines (lågnivåfunktioner för Atari-spel) [7] . Sean bestämde sig dock för att sluta utveckla Atari-versionen när han insåg att plattformen var föråldrad och återupptog utvecklingen för Borland C++ och DJGPP-kompilatorerna 1995. Stödet för Borland C++ togs bort med version 2.0, vilket lämnar DJGPP som den enda kompilatorn som stöds. Eftersom det var en DOS -kompilator kördes alla spel som använde Allegro på DOS. Omkring 1998 delades biblioteket upp i flera parallella versioner. Portar för Windows - WinAllegro och Unix - XwinAllegro skapades. Olika versioner slogs samman under arbetet med Allegro 3.9, och Allegro 4.0 var den första stabila versionen av biblioteket som stödde flera plattformar.
För närvarande är utvecklarnas ansträngningar koncentrerade på Allegro 5-grenen - en fullständig omarbetning av API:t och det mesta av den interna interaktionen. Tonvikten lades på gränssnittskonsistens och trådsäkerhet . Biblioteket använder nu hårdvaruacceleration som standard med OpenGL eller DirectX om möjligt. Många tillägg för Allegro 4 som tidigare fanns som separata projekt ingår nu i basbygget. Allegro 5 är en händelsestyrd .
Allegro tillhandahåller följande grafikfunktioner:
Allegro-användargemenskapen har skapat flera tillägg för biblioteket, till exempel ett tillägg som låter dig rulla en karta från brickor eller importera och exportera från en mängd olika filformat ( PNG , GIF , JPEG - bilder, MPEG -video, Ogg , MP3 , S3M -ljud, TTF -teckensnitt och etc.).