--- /srv/reproducible-results/rbuild-debian/r-b-build.KyeXyfFD/b1/allegro5_5.2.10.1+dfsg-3_amd64.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.KyeXyfFD/b2/allegro5_5.2.10.1+dfsg-3_amd64.changes ├── Files │ @@ -1,9 +1,9 @@ │ │ - 96509ded357a09e3be740cc9dc28a41b 1408628 doc optional allegro5-doc_5.2.10.1+dfsg-3_all.deb │ + 69866afcc26569d2242e10ea5646fd1b 1394472 doc optional allegro5-doc_5.2.10.1+dfsg-3_all.deb │ 1a9a76381df48884167af77595172eaa 19476 libdevel optional liballegro-acodec5-dev_5.2.10.1+dfsg-3_amd64.deb │ 9ac123dafc207e3a9c738ef686490c6d 53232 debug optional liballegro-acodec5.2t64-dbgsym_5.2.10.1+dfsg-3_amd64.deb │ 889596683584fba4ab8f30d4dd865715 34940 libs optional liballegro-acodec5.2t64_5.2.10.1+dfsg-3_amd64.deb │ 957f045383ec60ba6ec3a2a6a961261b 22264 libdevel optional liballegro-audio5-dev_5.2.10.1+dfsg-3_amd64.deb │ 1fa790e1618ef75ce24d2ce6637b48b5 116448 debug optional liballegro-audio5.2t64-dbgsym_5.2.10.1+dfsg-3_amd64.deb │ 9a58ad5d0d6993a9b9f556133c8b6464 68868 libs optional liballegro-audio5.2t64_5.2.10.1+dfsg-3_amd64.deb │ c30a0b8af2f94528453bae4e13553d54 20540 libdevel optional liballegro-dialog5-dev_5.2.10.1+dfsg-3_amd64.deb ├── allegro5-doc_5.2.10.1+dfsg-3_all.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2025-10-04 17:02:00.000000 debian-binary │ │ --rw-r--r-- 0 0 0 31700 2025-10-04 17:02:00.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 1376736 2025-10-04 17:02:00.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 31684 2025-10-04 17:02:00.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 1362596 2025-10-04 17:02:00.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./control │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ Package: allegro5-doc │ │ │ │ Source: allegro5 │ │ │ │ Version: 2:5.2.10.1+dfsg-3 │ │ │ │ Architecture: all │ │ │ │ Maintainer: Debian Games Team │ │ │ │ -Installed-Size: 5782 │ │ │ │ +Installed-Size: 5507 │ │ │ │ Depends: fonts-dejavu-core │ │ │ │ Section: doc │ │ │ │ Priority: optional │ │ │ │ Multi-Arch: foreign │ │ │ │ Homepage: https://liballeg.org/ │ │ │ │ Description: documentation for the Allegro 5 library │ │ │ │ This package contains the Allegro documentation in various formats, │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -198,402 +198,402 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5396 2024-12-29 03:52:10.000000 ./usr/share/doc/allegro5-doc/examples/ex_window_maximized.c │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2660 2024-12-29 03:52:10.000000 ./usr/share/doc/allegro5-doc/examples/ex_window_title.c │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6511 2024-12-29 03:52:10.000000 ./usr/share/doc/allegro5-doc/examples/ex_windows.c │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1674 2024-12-29 03:52:10.000000 ./usr/share/doc/allegro5-doc/examples/ex_winfull.c │ │ │ │ -rw-r--r-- 0 root (0) root (0) 19521 2024-12-29 03:52:10.000000 ./usr/share/doc/allegro5-doc/examples/nihgui.cpp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6456 2024-12-29 03:52:10.000000 ./usr/share/doc/allegro5-doc/examples/nihgui.hpp │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 12204 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/acodec.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 281784 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/audio.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 11307 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/acodec.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 206583 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/audio.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 36350 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/autosuggest.js │ │ │ │ --rw-r--r-- 0 root (0) root (0) 86312 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/color.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 38404 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/config.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 17712 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/direct3d.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 89297 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/display.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 84172 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/events.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 62816 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/file.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 56732 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/fixed.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 118458 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/font.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 43136 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/fshook.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 13650 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/fullscreen_mode.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 62014 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/color.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 37047 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/config.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 17487 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/direct3d.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 87126 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/display.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 79697 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/events.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 61231 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/file.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 56556 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/fixed.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 82978 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/font.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 42130 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/fshook.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 13213 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/fullscreen_mode.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 17055 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/getting_started.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 225915 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/graphics.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 70455 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/haptic.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 13180 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/image.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 215523 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/graphics.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 69024 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/haptic.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 12034 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/image.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/images/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 21480 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/images/LINE_CAP.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 15893 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/images/LINE_JOIN.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 65065 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/images/audio.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 16058 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/images/primitives1.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 25805 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/images/primitives2.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6773 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/index.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 110785 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/index_all.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 35825 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/joystick.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 24344 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/keyboard.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 34597 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/joystick.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 23751 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/keyboard.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 9013 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/main.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 11156 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/memfile.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 27358 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/memory.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 10569 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/misc.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 15525 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/monitor.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 44119 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/mouse.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 94710 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/native_dialog.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 27233 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/opengl.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10382 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/memfile.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 23336 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/memory.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10027 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/misc.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 14990 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/monitor.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 43565 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/mouse.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 74835 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/native_dialog.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 26460 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/opengl.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3973 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/pandoc.css │ │ │ │ --rw-r--r-- 0 root (0) root (0) 38119 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/path.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 12287 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/physfs.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 31625 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/platform.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 174802 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/primitives.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 33068 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/path.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 11626 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/physfs.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 31258 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/platform.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 136297 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/primitives.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 72292 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/search_index.js │ │ │ │ --rw-r--r-- 0 root (0) root (0) 46597 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/shader.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 16224 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/state.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 72892 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/system.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 36034 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/threads.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 12633 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/time.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 28713 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/timer.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 23245 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/touch.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 82635 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/transformations.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 104905 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/utf8.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 37236 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/video.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 40567 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/shader.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 14393 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/state.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 70338 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/system.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 31348 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/threads.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 11499 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/time.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 23605 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/timer.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 20528 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/touch.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 76878 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/transformations.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 91492 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/utf8.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 29995 2025-10-04 17:02:00.000000 ./usr/share/doc/allegro5-doc/refman/video.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-10-04 17:02:00.000000 ./usr/share/doc-base/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 300 2025-01-01 19:45:12.000000 ./usr/share/doc-base/allegro5-doc.allegro5 │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-10-04 17:02:00.000000 ./usr/share/man/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 408 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_DEPTH.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 258 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_DEVICE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 556 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_EVENT_TYPE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 559 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_PAN_NONE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 320 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 478 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER_EVENT.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1127 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_STREAM.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 250 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_BITMAP.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 461 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_BITMAP_WRAP.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 252 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_BPM_TO_SECS.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 249 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_BPS_TO_SECS.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 283 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_CHANNEL_CONF.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 316 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_COLOR.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 249 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_COND.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 239 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_CONFIG.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_CONFIG_ENTRY.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 304 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_CONFIG_SECTION.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 251 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_DISPLAY.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 461 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_DISPLAY_MODE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 5119 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_EVENT.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 369 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_EVENT_QUEUE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 402 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_EVENT_SOURCE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 299 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_EVENT_TYPE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 310 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_EVENT_TYPE_IS_USER.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 273 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FILE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 252 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FILECHOOSER.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 775 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FILE_INTERFACE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 314 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FILE_MODE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 413 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FONT.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 422 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FOR_EACH_FS_ENTRY_RESULT.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 318 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FS_ENTRY.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 511 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FS_INTERFACE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 692 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_GET_EVENT_TYPE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 789 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_GLYPH.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 431 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 816 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC_CONSTANTS.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 3144 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 457 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT_ID.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 367 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_INDEX_BUFFER.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 336 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_JOYFLAGS.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 279 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_JOYSTICK.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 418 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_JOYSTICK_STATE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 457 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_KEYBOARD_STATE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 430 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_LINE_CAP.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 406 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_LINE_JOIN.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 798 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_LOCKED_REGION.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 372 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MEMORY_INTERFACE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 293 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MENU.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 709 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MENU_INFO.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 506 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MIXER.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 299 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MIXER_QUALITY.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 464 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MONITOR_INFO.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 448 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MOUSE_EMULATION_MODE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 458 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MOUSE_STATE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 247 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MSECS_TO_SECS.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 240 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MUTEX.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 296 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PI.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 2161 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PIXEL_FORMAT.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 469 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PLAYMODE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1140 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PRIM_ATTR.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 571 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PRIM_BUFFER_FLAGS.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 360 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PRIM_QUALITY.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 904 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PRIM_STORAGE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 485 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PRIM_TYPE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 336 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_RENDER_FUNCTION.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 862 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_RENDER_STATE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 412 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SAMPLE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 337 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SAMPLE_ID.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 601 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SAMPLE_INSTANCE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 297 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SEEK.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 459 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SHADER.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 514 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SHADER_PLATFORM.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 702 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SHADER_TYPE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 685 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_STATE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 272 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_STATE_FLAGS.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 389 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SYSTEM_ID.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 251 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TEXTLOG.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 241 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_THREAD.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 405 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_DEPTH.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 254 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_DEVICE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 554 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_EVENT_TYPE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 554 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_PAN_NONE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 316 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 474 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER_EVENT.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1124 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_STREAM.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 247 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_BITMAP.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 459 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_BITMAP_WRAP.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 250 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_BPM_TO_SECS.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 245 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_BPS_TO_SECS.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 281 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_CHANNEL_CONF.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 313 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_COLOR.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 244 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_COND.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 235 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_CONFIG.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 303 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_CONFIG_ENTRY.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 300 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_CONFIG_SECTION.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 247 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_DISPLAY.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 458 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_DISPLAY_MODE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 5117 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_EVENT.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 364 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_EVENT_QUEUE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 398 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_EVENT_SOURCE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 295 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_EVENT_TYPE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 307 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_EVENT_TYPE_IS_USER.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 268 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FILE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 248 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FILECHOOSER.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 772 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FILE_INTERFACE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 312 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FILE_MODE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 409 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FONT.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 418 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FOR_EACH_FS_ENTRY_RESULT.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 314 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FS_ENTRY.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 509 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_FS_INTERFACE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 689 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_GET_EVENT_TYPE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 786 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_GLYPH.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 426 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 813 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC_CONSTANTS.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 3142 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 453 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT_ID.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 362 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_INDEX_BUFFER.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 335 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_JOYFLAGS.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 275 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_JOYSTICK.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 413 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_JOYSTICK_STATE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 453 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_KEYBOARD_STATE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 428 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_LINE_CAP.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 404 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_LINE_JOIN.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 794 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_LOCKED_REGION.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 368 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MEMORY_INTERFACE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 289 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MENU.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 706 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MENU_INFO.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 502 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MIXER.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 296 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MIXER_QUALITY.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 461 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MONITOR_INFO.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 445 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MOUSE_EMULATION_MODE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 455 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MOUSE_STATE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 243 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MSECS_TO_SECS.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 236 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_MUTEX.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 298 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 290 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PI.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 2159 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PIXEL_FORMAT.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 467 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PLAYMODE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1138 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PRIM_ATTR.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 568 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PRIM_BUFFER_FLAGS.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 358 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PRIM_QUALITY.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 902 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PRIM_STORAGE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 484 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_PRIM_TYPE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 334 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_RENDER_FUNCTION.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 859 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_RENDER_STATE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 407 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SAMPLE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 332 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SAMPLE_ID.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 597 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SAMPLE_INSTANCE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 295 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SEEK.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 456 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SHADER.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 510 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SHADER_PLATFORM.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 699 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SHADER_TYPE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 680 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_STATE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 269 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_STATE_FLAGS.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 386 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_SYSTEM_ID.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 247 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TEXTLOG.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 238 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_THREAD.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 305 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TIMEOUT.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 251 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TIMER.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 275 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 275 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 347 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_STATE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 466 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_STATE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 367 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TRANSFORM.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 247 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_USECS_TO_SECS.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 672 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_USER_EVENT.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 311 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_USTR.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 349 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_USTR_INFO.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 593 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VERTEX.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 358 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_BUFFER.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 416 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_CACHE_SIZE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 376 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_DECL.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 889 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_ELEMENT.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 518 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VIDEO_EVENT_TYPE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 558 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VIDEO_POSITION_TYPE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 388 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VOICE.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 384 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_WRITE_MASK_FLAGS.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 247 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TIMER.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 272 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 342 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_STATE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 462 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_STATE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 362 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_TRANSFORM.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 243 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_USECS_TO_SECS.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 669 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_USER_EVENT.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 308 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_USTR.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 346 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_USTR_INFO.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 588 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VERTEX.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 353 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_BUFFER.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 412 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_CACHE_SIZE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 374 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_DECL.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 884 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_ELEMENT.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 516 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VIDEO_EVENT_TYPE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 553 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VIDEO_POSITION_TYPE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 383 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_VOICE.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 381 2025-10-04 17:02:00.000000 ./usr/share/man/man3/ALLEGRO_WRITE_MASK_FLAGS.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 477 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_acknowledge_drawing_halt.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 301 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_acknowledge_drawing_resume.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 554 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_acknowledge_resize.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 420 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_add_config_comment.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 301 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_add_config_section.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 291 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_add_new_bitmap_flag.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 371 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_add_timer_count.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 374 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_android_get_activity.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 625 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_android_get_jni_env.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_android_get_os_version.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 817 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_android_open_fd.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 394 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_android_set_apk_file_interface.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 494 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_android_set_apk_fs_interface.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 367 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_append_menu_item.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 457 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_append_native_text_log.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 362 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_append_menu_item.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 452 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_append_native_text_log.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_append_path_component.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 629 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_apply_window_constraints.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 345 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_audio_stream_to_mixer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 572 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_audio_stream_to_voice.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 442 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_mixer_to_mixer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 381 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_mixer_to_voice.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 353 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_sample_instance_to_mixer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 556 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_sample_instance_to_voice.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 340 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_audio_stream_to_mixer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 567 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_audio_stream_to_voice.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 438 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_mixer_to_mixer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 377 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_mixer_to_voice.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 349 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_sample_instance_to_mixer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 551 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_sample_instance_to_voice.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1752 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_shader_source.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 418 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_attach_shader_source_file.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 607 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_backup_dirty_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 344 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_backup_dirty_bitmaps.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 418 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_broadcast_cond.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 816 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_build_camera_transform.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 441 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_build_menu.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 437 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_build_menu.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 526 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_build_shader.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 568 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_build_transform.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1241 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_calculate_arc.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 666 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_calculate_ribbon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 626 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_calculate_spline.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 338 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_calloc.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1237 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_calculate_arc.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 660 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_calculate_ribbon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 620 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_calculate_spline.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 333 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_calloc.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 351 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_calloc_with_context.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 286 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_can_get_mouse_cursor_position.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 281 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_can_set_keyboard_leds.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 274 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_change_directory.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 896 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_check_inverse.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 560 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_clear_depth_buffer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 643 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_clear_keyboard_state.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_clear_to_color.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 309 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_clipboard_has_text.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 422 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_clone_bitmap.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 359 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_clone_menu.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 299 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_clone_menu_for_popup.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 357 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_clone_menu.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 295 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_clone_menu_for_popup.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 267 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_clone_path.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 339 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_close_directory.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 312 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_close_native_text_log.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 293 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_close_video.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 310 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_cmyk.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 304 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_cmyk_to_rgb.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 719 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_distance_ciede2000.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 369 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_hsl.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 408 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_hsl_to_rgb.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 366 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_hsv.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 400 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_hsv_to_rgb.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 440 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_html.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 503 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_html_to_rgb.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 578 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_lab.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 308 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_lab_to_rgb.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 535 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_lch.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_lch_to_rgb.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 760 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_linear.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 328 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_linear_to_rgb.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_name.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1219 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_name_to_rgb.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 491 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_oklab.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_oklab_to_rgb.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 428 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_cmyk.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 355 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_hsl.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 352 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_hsv.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 514 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_html.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 305 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_lab.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_lch.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 327 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_linear.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 322 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_name.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 309 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_oklab.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 305 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_xyy.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_xyz.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 295 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_yuv.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 397 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_xyy.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 305 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_xyy_to_rgb.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 538 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_xyz.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 307 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_xyz_to_rgb.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 284 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_yuv.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 297 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_yuv_to_rgb.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 307 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_close_native_text_log.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 289 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_close_video.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_cmyk.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 300 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_cmyk_to_rgb.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 715 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_distance_ciede2000.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 365 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_hsl.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 404 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_hsl_to_rgb.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 362 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_hsv.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 396 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_hsv_to_rgb.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 436 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_html.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 499 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_html_to_rgb.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 574 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_lab.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 305 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_lab_to_rgb.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 531 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_lch.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 303 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_lch_to_rgb.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 756 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_linear.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 325 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_linear_to_rgb.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_name.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1213 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_name_to_rgb.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 486 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_oklab.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 298 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_oklab_to_rgb.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 424 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_cmyk.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 349 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_hsl.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 347 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_hsv.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 509 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_html.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 301 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_lab.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_lch.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 323 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_linear.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 320 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_name.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 304 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_oklab.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 301 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_xyy.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_xyz.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 291 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_rgb_to_yuv.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 391 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_xyy.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 301 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_xyy_to_rgb.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 533 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_xyz.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 303 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_xyz_to_rgb.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 280 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_yuv.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 292 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_color_yuv_to_rgb.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 477 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_compose_transform.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 473 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_convert_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 339 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_convert_mask_to_alpha.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 549 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_convert_memory_bitmaps.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_copy_transform.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1028 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_audio_recorder.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1257 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_audio_stream.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1022 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_audio_recorder.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1252 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_audio_stream.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1605 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_bitmap.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 594 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_builtin_font.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 590 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_builtin_font.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_cond.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 272 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_config.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 562 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_display.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 338 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_event_queue.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 420 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_file_handle.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 305 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_fs_entry.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 782 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_index_buffer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 322 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_menu.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 578 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_mixer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 776 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_index_buffer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 318 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_menu.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 572 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_mixer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 406 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_mouse_cursor.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 339 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_mutex.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 468 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_mutex_recursive.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1624 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_native_file_dialog.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1600 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_native_file_dialog.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 404 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_path.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 339 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_path_for_directory.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 374 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_popup_menu.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 793 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_sample.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 398 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_sample_instance.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 370 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_popup_menu.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 787 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_sample.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 394 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_sample_instance.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 628 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_shader.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 711 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_sub_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 396 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_thread.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 503 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_thread_with_stacksize.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 504 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_timer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 783 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_vertex_buffer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 418 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_vertex_decl.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 707 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_voice.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 778 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_vertex_buffer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 414 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_vertex_decl.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 701 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_create_voice.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 660 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_cstr.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 395 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_cstr_dup.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 433 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_audio_recorder.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 366 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_audio_stream.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 429 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_audio_recorder.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 362 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_audio_stream.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 457 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 316 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_cond.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 304 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_config.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 416 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_display.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 378 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_event_queue.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 288 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_font.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 285 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_font.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 320 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_fs_entry.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 310 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_index_buffer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 360 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_menu.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 257 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_mixer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 308 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_index_buffer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 356 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_menu.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 253 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_mixer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_mouse_cursor.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 318 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_mutex.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 268 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_native_file_dialog.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 264 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_native_file_dialog.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 285 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_path.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 406 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_sample.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 341 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_sample_instance.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 402 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_sample.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 336 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_sample_instance.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 456 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_shader.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 335 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_thread.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 354 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_timer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 326 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_user_event_source.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 311 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_vertex_buffer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 331 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_vertex_decl.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 299 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_voice.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 321 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_detach_audio_stream.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 286 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_detach_mixer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 351 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_detach_sample_instance.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 305 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_detach_voice.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 325 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_disable_menu_event_source.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 929 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_do_multiline_text.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 374 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_do_multiline_ustr.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 359 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_drain_audio_stream.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 498 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_arc.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 308 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_vertex_buffer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 327 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_vertex_decl.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 295 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_destroy_voice.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 317 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_detach_audio_stream.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 283 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_detach_mixer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 347 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_detach_sample_instance.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 299 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_detach_voice.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 321 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_disable_menu_event_source.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 922 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_do_multiline_text.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 367 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_do_multiline_ustr.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 355 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_drain_audio_stream.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 493 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_arc.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 729 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 455 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_bitmap_region.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 403 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_circle.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 406 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_ellipse.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 522 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_elliptical_arc.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 350 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_circle.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 357 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_ellipse.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 477 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_pieslice.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 522 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_polygon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 953 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_polygon_with_holes.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 374 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_rectangle.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 400 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_rounded_rectangle.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 357 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_triangle.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 640 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_glyph.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 726 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_indexed_buffer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 630 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_indexed_prim.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 575 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_justified_text.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 387 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_justified_textf.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 366 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_justified_ustr.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 407 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_line.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1241 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_multiline_text.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 409 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_multiline_textf.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 390 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_multiline_ustr.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 525 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_pieslice.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 399 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_circle.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 402 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_ellipse.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 517 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_elliptical_arc.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 345 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_circle.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 352 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_ellipse.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 472 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_pieslice.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 505 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_polygon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 944 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_polygon_with_holes.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 369 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_rectangle.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 395 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_rounded_rectangle.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 353 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_filled_triangle.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 635 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_glyph.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 721 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_indexed_buffer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 624 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_indexed_prim.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 570 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_justified_text.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 382 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_justified_textf.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 359 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_justified_ustr.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 403 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_line.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1236 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_multiline_text.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 405 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_multiline_textf.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 383 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_multiline_ustr.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 520 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_pieslice.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 620 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_pixel.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 574 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_polygon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 801 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_polyline.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 762 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_prim.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 421 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_rectangle.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 586 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_ribbon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 570 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_polygon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 795 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_polyline.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 756 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_prim.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 417 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_rectangle.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 580 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_ribbon.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 677 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_rotated_bitmap.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 454 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_rounded_rectangle.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 449 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_rounded_rectangle.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 463 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_scaled_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 546 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_scaled_rotated_bitmap.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 818 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_soft_line.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1058 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_soft_triangle.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 423 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_spline.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 702 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_text.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 368 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_textf.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 811 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_soft_line.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1048 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_soft_triangle.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 419 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_spline.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 697 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_text.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 362 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_textf.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 507 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_tinted_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 375 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_tinted_bitmap_region.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 374 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_tinted_rotated_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 380 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_tinted_scaled_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 388 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_tinted_scaled_rotated_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 531 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_tinted_scaled_rotated_bitmap_region.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 414 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_triangle.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 367 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_ustr.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 622 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_vertex_buffer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 409 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_triangle.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 362 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_ustr.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 615 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_draw_vertex_buffer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 332 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_drop_next_event.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 269 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_drop_path_tail.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 972 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_emit_user_event.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 402 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_enable_menu_event_source.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 397 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_enable_menu_event_source.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 427 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fclearerr.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 300 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fclose.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 478 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_feof.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 365 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_ferrmsg.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 339 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_ferror.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 307 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fflush.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 462 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fget_ustr.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 281 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fgetc.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 544 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fgets.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_filename_exists.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 377 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fill_silence.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 408 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_find_menu.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 518 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_find_menu_item.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 371 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fill_silence.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 403 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_find_menu.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 513 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_find_menu_item.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 501 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixacos.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 638 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixadd.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 602 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixasin.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 406 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixatan.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 590 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixatan2.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 374 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixceil.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 429 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixcos.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 697 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixdiv.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 895 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixed.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 891 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixed.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 385 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixfloor.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 318 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixhypot.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 670 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixmul.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 409 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixsin.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 292 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixsqrt.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 651 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixsub.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 464 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fixtan.3alleg5.gz │ │ │ │ @@ -611,76 +611,76 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 357 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fputc.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 503 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fputs.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 469 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fread.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 398 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fread16be.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 400 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fread16le.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 397 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fread32be.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 400 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fread32le.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 458 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_free.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 454 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_free.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 342 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_free_with_context.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 341 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fs_entry_exists.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 546 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fseek.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 256 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fsize.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 336 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_ftell.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 513 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_ftofix.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 547 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fungetc.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 393 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fwrite.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 329 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fwrite16be.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 330 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fwrite16le.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 329 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fwrite32be.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 330 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_fwrite32le.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 267 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_acodec_version.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_audio_version.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_color_version.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 268 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_font_version.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_image_version.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_memfile_version.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 275 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_native_dialog_version.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 271 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_physfs_version.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 273 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_primitives_version.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 268 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_ttf_version.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 267 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_audio_version.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 267 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_color_version.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 265 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_font_version.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 267 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_image_version.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 267 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_memfile_version.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 271 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_native_dialog_version.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 268 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_physfs_version.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_primitives_version.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 265 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_ttf_version.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 544 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_version.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 279 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_video_version.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 276 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_allegro_video_version.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 256 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_app_name.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 305 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_depth_size.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 284 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_device_name.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 280 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_output_device.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 326 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_recorder_event.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 351 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_recorder_event_source.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 310 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_attached.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 290 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_channels.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 277 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_depth.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 337 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_event_source.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 711 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_fragment.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 343 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_fragments.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 269 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_frequency.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 280 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_gain.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 267 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_length.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 379 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_length_secs.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 274 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_pan.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 307 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_played_samples.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 279 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_playing.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 297 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_playmode.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 353 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_position_secs.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 288 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_speed.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 354 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_available_audio_stream_fragments.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 301 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_depth_size.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 280 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_device_name.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 277 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_output_device.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 321 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_recorder_event.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 345 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_recorder_event_source.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 305 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_attached.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 286 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_channels.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 273 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_depth.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 333 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_event_source.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 707 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_fragment.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 340 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_fragments.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 265 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_frequency.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 276 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_gain.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 263 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_length.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 374 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_length_secs.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 271 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_pan.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 304 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_played_samples.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 276 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_playing.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 290 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_playmode.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 348 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_position_secs.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 284 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_audio_stream_speed.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 350 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_available_audio_stream_fragments.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 577 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_backbuffer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 326 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_bitmap_blend_color.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 361 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_bitmap_blender.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 361 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_bitmap_depth.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 266 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_bitmap_flags.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 282 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_bitmap_format.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 246 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_bitmap_height.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 367 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_bitmap_samples.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 246 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_bitmap_width.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 309 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_bitmap_x.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 309 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_bitmap_y.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 298 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_blend_color.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_blender.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_channel_count.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_channel_count.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 519 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_clipboard_text.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 267 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_clipping_rectangle.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 417 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_config_value.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 664 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_cpu_count.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 407 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_current_directory.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 303 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_current_display.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 426 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_current_inverse_transform.3alleg5.gz │ │ │ │ @@ -688,60 +688,60 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 294 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_current_shader.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 349 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_current_transform.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 332 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_d3d_device.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 353 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_d3d_system_texture.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 394 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_d3d_texture_position.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 374 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_d3d_texture_size.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 376 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_d3d_video_texture.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 367 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_default_menu_event_source.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 407 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_default_mixer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 363 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_default_menu_event_source.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 402 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_default_mixer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 501 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_default_shader_source.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 283 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_default_voice.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 280 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_default_voice.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 303 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_display_adapter.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 315 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_display_event_source.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 456 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_display_flags.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 266 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_display_format.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 279 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_display_height.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 329 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_display_menu.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 323 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_display_menu.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 433 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_display_mode.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 274 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_display_option.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 338 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_display_orientation.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 262 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_display_refresh_rate.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 279 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_display_width.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 284 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_errno.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 316 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_event_source_data.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 280 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_fallback_font.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 276 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_fallback_font.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 308 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_file_userdata.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 425 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_first_config_entry.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 475 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_first_config_section.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 279 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_font_ascent.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 280 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_font_descent.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 546 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_font_line_height.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 505 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_font_ranges.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 275 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_font_ascent.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 276 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_font_descent.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 543 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_font_line_height.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 501 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_font_ranges.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 404 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_fs_entry_atime.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 307 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_fs_entry_ctime.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 320 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_fs_entry_mode.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_fs_entry_mtime.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 540 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_fs_entry_name.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 308 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_fs_entry_size.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 298 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_fs_interface.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 516 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_glyph.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1230 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_glyph_advance.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1087 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_glyph_dimensions.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 385 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_glyph_width.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 511 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_glyph.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1225 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_glyph_advance.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1082 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_glyph_dimensions.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 381 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_glyph_width.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 710 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_haptic_autocenter.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 440 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_haptic_capabilities.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 463 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_haptic_effect_duration.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 416 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_haptic_from_display.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 525 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_haptic_from_joystick.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 420 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_haptic_from_keyboard.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 413 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_haptic_from_mouse.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 425 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_haptic_from_touch_input.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 577 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_haptic_gain.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 285 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_index_buffer_size.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 282 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_index_buffer_size.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 481 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_joystick.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 385 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_joystick_active.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 336 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_joystick_axis_name.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 343 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_joystick_button_name.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 293 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_joystick_event_source.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 285 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_joystick_name.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 312 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_joystick_num_axes.3alleg5.gz │ │ │ │ @@ -749,38 +749,38 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_joystick_num_sticks.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 291 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_joystick_state.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 327 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_joystick_stick_flags.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 327 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_joystick_stick_name.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 316 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_keyboard_event_source.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 338 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_keyboard_state.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 459 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_max_haptic_effects.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 361 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_menu_item_caption.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 356 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_menu_item_flags.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 407 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_menu_item_icon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 329 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_attached.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 281 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_channels.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 271 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_depth.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 276 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_frequency.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 307 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_gain.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 271 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_playing.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 277 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_quality.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 357 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_menu_item_caption.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 353 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_menu_item_flags.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 403 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_menu_item_icon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 325 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_attached.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 277 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_channels.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 267 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_depth.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 272 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_frequency.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 303 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_gain.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 268 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_playing.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 273 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mixer_quality.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 281 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_monitor_dpi.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 460 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_monitor_info.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 355 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_monitor_refresh_rate.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 411 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mouse_cursor_position.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 401 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mouse_emulation_mode.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 313 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mouse_event_source.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 271 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mouse_num_axes.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mouse_num_buttons.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 476 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mouse_state.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 342 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mouse_state_axis.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 278 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_mouse_wheel_precision.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 289 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_native_file_dialog_count.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 483 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_native_file_dialog_path.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 474 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_native_text_log_event_source.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 285 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_native_file_dialog_count.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 478 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_native_file_dialog_path.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 469 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_native_text_log_event_source.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 370 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_new_bitmap_depth.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 258 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_new_bitmap_flags.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 278 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_new_bitmap_format.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 370 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_new_bitmap_samples.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 330 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_new_bitmap_wrap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 344 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_new_display_adapter.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 282 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_new_display_flags.3alleg5.gz │ │ │ │ @@ -788,15 +788,15 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 284 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_new_display_refresh_rate.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 304 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_new_file_interface.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 295 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_new_window_position.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 450 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_new_window_title.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 314 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_next_config_entry.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 352 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_next_config_section.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 402 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_next_event.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 291 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_num_audio_output_devices.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 288 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_num_audio_output_devices.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 394 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_num_display_modes.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 366 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_num_joysticks.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 436 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_num_video_adapters.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 773 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_opengl_extension_list.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 528 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_opengl_fbo.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 697 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_opengl_proc_address.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 312 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_opengl_program_object.3alleg5.gz │ │ │ │ @@ -818,316 +818,316 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_pixel_block_height.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 320 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_pixel_block_size.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_pixel_block_width.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 331 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_pixel_format_bits.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 331 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_pixel_size.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 707 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_ram_size.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 369 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_render_state.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 450 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 316 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_channels.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 304 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_data.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 310 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_depth.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_frequency.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 320 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_attached.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 314 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_channels.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 301 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_depth.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 291 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_frequency.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 288 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_gain.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 341 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_length.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 282 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_pan.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 325 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_playing.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_playmode.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 294 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_position.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 295 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_speed.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 315 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_time.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 308 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_length.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 446 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 311 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_channels.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 300 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_data.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 305 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_depth.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_frequency.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 316 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_attached.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 309 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_channels.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 297 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_depth.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 287 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_frequency.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 285 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_gain.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 338 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_length.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 279 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_pan.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 321 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_playing.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 297 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_playmode.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 290 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_position.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 290 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_speed.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 310 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_instance_time.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 304 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_sample_length.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 377 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_separate_bitmap_blender.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 326 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_separate_blender.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 398 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_shader_log.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_shader_platform.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1433 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_standard_path.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 719 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_system_config.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 271 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_system_id.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 261 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_target_bitmap.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 534 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_text_dimensions.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 325 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_text_width.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 528 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_text_dimensions.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 321 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_text_width.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 428 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_thread_should_stop.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 320 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_time.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 287 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_timer_count.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 285 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_timer_event_source.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_timer_speed.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 258 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_timer_started.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 328 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_touch_input_event_source.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 444 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_touch_input_mouse_emulation_event_source.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 312 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_touch_input_state.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 341 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_ustr_dimensions.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 290 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_ustr_width.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 287 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_vertex_buffer_size.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 266 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_audio_rate.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_event_source.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 295 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_fps.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 548 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_frame.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 336 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_position.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 361 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_scaled_height.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 360 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_scaled_width.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 283 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_voice_channels.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 273 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_voice_depth.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 263 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_voice_frequency.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 277 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_voice_playing.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 343 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_voice_position.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 336 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_ustr_dimensions.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 288 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_ustr_width.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 284 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_vertex_buffer_size.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 262 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_audio_rate.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_event_source.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 292 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_fps.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 544 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_frame.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 331 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_position.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 358 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_scaled_height.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 356 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_video_scaled_width.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 279 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_voice_channels.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_voice_depth.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_voice_frequency.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 273 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_voice_playing.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 338 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_voice_position.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 266 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_win_window_handle.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 514 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_window_borders.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 314 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_window_constraints.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 290 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_window_position.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 265 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_get_x_window_id.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1192 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_grab_font_from_bitmap.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1188 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_grab_font_from_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 438 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_grab_mouse.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 322 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_have_d3d_non_pow2_texture_support.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 310 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_have_d3d_non_square_texture_support.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 423 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_have_opengl_extension.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 371 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_hide_mouse_cursor.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 755 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_hold_bitmap_drawing.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 353 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_horizontal_shear_transform.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 398 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_identify_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 541 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_identify_bitmap_f.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 407 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_identify_sample.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 541 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_identify_sample_f.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 387 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_identify_video.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 481 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_identify_video_f.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 404 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_identify_sample.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 538 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_identify_sample_f.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 383 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_identify_video.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 476 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_identify_video_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 380 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_identity_transform.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 348 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_inhibit_screensaver.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 506 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 675 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_acodec_addon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 521 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_font_addon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 615 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_image_addon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 476 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_native_dialog_addon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 298 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_primitives_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 501 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 672 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_acodec_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 518 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_font_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 614 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_image_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 472 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_native_dialog_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 296 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_primitives_addon.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 370 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_timeout.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 323 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_ttf_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 319 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_ttf_addon.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 772 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_user_event_source.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 239 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_video_addon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 794 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_insert_menu_item.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 238 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_init_video_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 787 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_insert_menu_item.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 410 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_insert_path_component.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 352 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_install_audio.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 349 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_install_audio.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 657 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_install_haptic.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 287 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_install_joystick.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 308 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_install_keyboard.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 280 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_install_mouse.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 732 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_install_system.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 300 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_install_touch_input.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 462 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_invert_transform.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 276 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_iphone_get_view.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 271 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_iphone_get_window.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 351 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_iphone_set_statusbar_orientation.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 273 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_acodec_addon_initialized.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 265 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_audio_installed.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 343 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_audio_recorder_recording.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_acodec_addon_initialized.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 262 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_audio_installed.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 339 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_audio_recorder_recording.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 274 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_bitmap_drawing_held.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 287 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_bitmap_locked.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 348 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_color_valid.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 575 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_compatible_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 361 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_d3d_device_lost.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 443 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_display_haptic.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 295 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_event_queue_empty.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 286 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_event_queue_paused.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 300 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_event_source_registered.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 300 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_font_addon_initialized.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 297 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_font_addon_initialized.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 389 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_haptic_active.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 475 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_haptic_capable.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 443 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_haptic_effect_ok.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 505 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_haptic_effect_playing.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 373 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_haptic_installed.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 272 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_image_addon_initialized.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 269 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_image_addon_initialized.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 387 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_joystick_haptic.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 250 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_joystick_installed.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 387 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_keyboard_haptic.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 250 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_keyboard_installed.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 383 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_mouse_haptic.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 246 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_mouse_installed.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 279 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_native_dialog_addon_initialized.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_primitives_addon_initialized.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 276 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_native_dialog_addon_initialized.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 303 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_primitives_addon_initialized.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 295 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_sub_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 250 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_system_installed.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 401 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_touch_input_haptic.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 261 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_touch_input_installed.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 301 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_ttf_addon_initialized.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 272 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_video_addon_initialized.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 265 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_video_playing.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 298 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_ttf_addon_initialized.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 268 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_video_addon_initialized.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 262 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_is_video_playing.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 529 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_itofix.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 480 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_join_paths.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 401 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_join_thread.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 291 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_key_down.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 247 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_keycode_to_name.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 657 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_audio_stream.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 777 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_audio_stream_f.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 650 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_audio_stream.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 771 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_audio_stream_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 540 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 602 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_bitmap_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1751 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_bitmap_flags.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 591 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_bitmap_flags_f.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 429 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_bitmap_font.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 376 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_bitmap_font_flags.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 425 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_bitmap_font.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 372 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_bitmap_font_flags.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 328 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_config_file.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 342 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_config_file_f.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 479 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_font.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 526 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_sample.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 616 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_sample_f.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 824 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_ttf_font.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 439 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_ttf_font_f.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 543 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_ttf_font_stretch.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 474 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_ttf_font_stretch_f.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 474 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_font.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 522 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_sample.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 611 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_sample_f.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 820 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_ttf_font.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 434 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_ttf_font_f.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 538 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_ttf_font_stretch.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 468 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_load_ttf_font_stretch_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1178 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_lock_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 559 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_lock_bitmap_blocked.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 640 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_lock_bitmap_region.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 386 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_lock_bitmap_region_blocked.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 521 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_lock_index_buffer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 517 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_lock_index_buffer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 500 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_lock_mutex.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 587 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_lock_sample_id.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 519 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_lock_vertex_buffer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 583 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_lock_sample_id.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 515 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_lock_vertex_buffer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 378 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_make_directory.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 440 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_make_path_canonical.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 517 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_make_temp_file.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 360 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_malloc.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 355 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_malloc.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 345 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_malloc_with_context.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 339 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_map_rgb.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 332 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_map_rgb_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 338 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_map_rgba.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 328 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_map_rgba_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 367 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_merge_config.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 338 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_merge_config_into.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 343 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_mixer_has_attachments.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 339 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_mixer_has_attachments.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 480 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_mouse_button_down.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 334 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_open_directory.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 419 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_open_fs_entry.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 565 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_open_memfile.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 628 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_open_native_text_log.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 317 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_open_video.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 559 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_open_memfile.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 622 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_open_native_text_log.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 313 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_open_video.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 835 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_orthographic_transform.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 279 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_osx_get_window.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 477 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_path_cstr.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 485 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_path_ustr.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 484 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_pause_event_queue.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 409 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_peek_next_event.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1272 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_perspective_transform.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 612 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_play_audio_stream.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 732 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_play_audio_stream_f.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 608 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_play_audio_stream.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 727 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_play_audio_stream_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 598 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_play_haptic_effect.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 703 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_play_sample.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 298 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_play_sample_instance.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 680 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_popup_menu.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 698 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_play_sample.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 294 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_play_sample_instance.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 675 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_popup_menu.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 622 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_premul_rgba.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 605 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_premul_rgba_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 300 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_put_blended_pixel.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 408 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_put_pixel.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 363 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_radtofix_r.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 465 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_read_directory.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 340 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_realloc.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 335 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_realloc.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 352 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_realloc_with_context.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 451 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_rebase_path.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 785 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_reconfigure_joysticks.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 394 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_ref_buffer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 531 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_ref_cstr.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 364 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_ref_info.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 610 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_ref_ustr.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 376 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_assert_handler.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 550 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_audio_stream_loader.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 553 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_audio_stream_loader_f.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 544 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_audio_stream_loader.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 548 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_audio_stream_loader_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 684 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_bitmap_identifier.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 508 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_bitmap_loader.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 502 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_bitmap_loader_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 507 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_bitmap_saver.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 501 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_bitmap_saver_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 373 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_event_source.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 501 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_font_loader.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 700 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_sample_identifier.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 505 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_sample_loader.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 499 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_sample_loader_f.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 512 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_sample_saver.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 506 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_sample_saver_f.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 496 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_font_loader.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 695 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_sample_identifier.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 502 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_sample_loader.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 495 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_sample_loader_f.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 509 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_sample_saver.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 501 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_sample_saver_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 447 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_register_trace_handler.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 604 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_release_haptic.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 718 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_release_haptic_effect.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 269 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_release_joystick.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 335 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_remove_config_key.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 307 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_remove_config_section.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 385 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_remove_display_menu.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 382 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_remove_display_menu.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 392 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_remove_filename.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 357 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_remove_fs_entry.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 490 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_remove_menu_item.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 485 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_remove_menu_item.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 345 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_remove_opengl_fbo.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 373 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_remove_path_component.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 522 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_reparent_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 383 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_replace_path_component.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 614 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_reserve_samples.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 612 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_reserve_samples.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 349 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_reset_bitmap_blender.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 356 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_reset_clipping_rectangle.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 260 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_reset_new_display_options.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 391 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_resize_display.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 411 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_rest.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 453 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_restore_default_mixer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 450 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_restore_default_mixer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 274 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_restore_state.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 384 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_resume_timer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 349 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_rewind_audio_stream.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 345 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_rewind_audio_stream.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 341 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_rotate_transform.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 382 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_rotate_transform_3d.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 798 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_rumble_haptic.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 394 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_run_detached_thread.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 483 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_run_main.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 449 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_save_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 523 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_save_bitmap_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 311 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_save_config_file.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 330 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_save_config_file_f.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 474 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_save_sample.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 515 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_save_sample_f.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 470 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_save_sample.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 511 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_save_sample_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 336 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_scale_transform.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 330 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_scale_transform_3d.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 383 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_seek_audio_stream_secs.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 308 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_seek_video.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 379 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_seek_audio_stream_secs.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 304 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_seek_video.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 357 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_app_name.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 286 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_channel_matrix.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 361 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_fragment.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 346 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_gain.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 350 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_loop_secs.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 496 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_pan.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 312 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_playing.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 327 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_playmode.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 365 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_speed.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 356 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_fragment.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 341 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_gain.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 347 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_loop_secs.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 491 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_pan.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 307 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_playing.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 323 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_playmode.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 361 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_audio_stream_speed.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 339 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_bitmap_blend_color.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 469 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_bitmap_blender.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 324 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_blend_color.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1432 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_blender.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 315 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_clipboard_text.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 323 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_clipping_rectangle.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 539 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_config_value.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 512 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_current_opengl_context.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 419 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_d3d_device_release_callback.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 400 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_d3d_device_restore_callback.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 426 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_default_mixer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 366 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_default_voice.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 420 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_default_mixer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 363 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_default_voice.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 490 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_display_flag.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 306 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_display_icon.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 530 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_display_icons.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 642 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_display_menu.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 637 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_display_menu.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 580 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_display_option.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 227 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_errno.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 367 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_event_source_data.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 457 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_exe_name.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 398 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_fallback_font.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 393 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_fallback_font.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 294 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_fs_interface.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 771 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_haptic_autocenter.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 595 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_haptic_gain.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 434 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_keyboard_leds.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 418 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_memory_interface.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 349 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_menu_item_caption.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 342 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_menu_item_flags.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 465 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_menu_item_icon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 345 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mixer_frequency.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 326 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mixer_gain.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 303 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mixer_playing.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 470 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mixer_postprocess_callback.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 361 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mixer_quality.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 344 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_menu_item_caption.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 338 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_menu_item_flags.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 463 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_menu_item_icon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 342 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mixer_frequency.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 321 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mixer_gain.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 299 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mixer_playing.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 465 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mixer_postprocess_callback.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 349 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mixer_quality.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 344 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mouse_axis.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 395 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mouse_cursor.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 394 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mouse_emulation_mode.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 285 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mouse_w.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 746 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mouse_wheel_precision.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 378 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mouse_xy.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 283 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_mouse_z.3alleg5.gz │ │ │ │ @@ -1143,25 +1143,25 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 337 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_new_file_interface.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 399 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_new_window_position.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 396 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_new_window_title.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 363 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_org_name.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 310 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_path_drive.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 446 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_path_extension.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 335 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_path_filename.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 673 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_physfs_file_interface.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 671 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_physfs_file_interface.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 376 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_render_state.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 598 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 755 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_channel_matrix.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 349 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_gain.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 418 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_length.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 551 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_pan.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 360 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_playing.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 336 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_playmode.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 329 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_position.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 372 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_speed.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 593 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 751 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_channel_matrix.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 345 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_gain.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 414 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_length.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 546 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_pan.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 356 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_playing.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 332 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_playmode.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 326 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_position.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 368 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_sample_instance_speed.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 437 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_separate_bitmap_blender.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 397 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_separate_blender.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 348 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_shader_bool.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 348 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_shader_float.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 322 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_shader_float_vector.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 353 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_shader_int.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 689 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_shader_int_vector.3alleg5.gz │ │ │ │ @@ -1171,64 +1171,64 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 285 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_standard_fs_interface.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 596 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_system_mouse_cursor.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 280 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_target_backbuffer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1461 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_target_bitmap.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 300 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_thread_should_stop.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 352 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_timer_count.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 446 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_timer_speed.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 263 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_video_playing.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 401 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_voice_playing.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 365 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_voice_position.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 260 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_video_playing.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 395 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_voice_playing.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 359 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_voice_position.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 451 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_window_constraints.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 291 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_window_position.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 276 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_set_window_title.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 334 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_show_mouse_cursor.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 545 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_show_native_file_dialog.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1150 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_show_native_message_box.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 302 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_shutdown_font_addon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 285 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_shutdown_image_addon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 272 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_shutdown_native_dialog_addon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 307 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_shutdown_primitives_addon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 259 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_shutdown_ttf_addon.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 296 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_shutdown_video_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 541 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_show_native_file_dialog.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1144 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_show_native_message_box.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 298 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_shutdown_font_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 282 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_shutdown_image_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 270 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_shutdown_native_dialog_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 304 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_shutdown_primitives_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 257 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_shutdown_ttf_addon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 292 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_shutdown_video_addon.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 338 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_signal_cond.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 433 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_start_audio_recorder.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 429 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_start_audio_recorder.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 336 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_start_thread.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 398 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_start_timer.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 272 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_start_video.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 289 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_start_video_with_voice.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 497 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_stop_audio_recorder.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 269 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_start_video.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 286 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_start_video_with_voice.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 492 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_stop_audio_recorder.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 450 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_stop_haptic_effect.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 267 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_stop_sample.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 273 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_stop_sample_instance.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 251 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_stop_samples.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 265 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_stop_sample.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 269 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_stop_sample_instance.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 247 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_stop_samples.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 341 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_stop_timer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 525 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_store_state.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 492 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_toggle_menu_item_flags.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 487 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_toggle_menu_item_flags.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 342 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_transform_coordinates.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 419 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_transform_coordinates_3d.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 769 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_transform_coordinates_3d_projective.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 365 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_transform_coordinates_4d.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 333 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_translate_transform.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 329 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_translate_transform_3d.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 445 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_transpose_transform.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 815 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_triangulate_polygon.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 808 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_triangulate_polygon.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 307 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_ungrab_mouse.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 246 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_uninstall_audio.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 243 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_uninstall_audio.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 482 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_uninstall_haptic.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 347 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_uninstall_joystick.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 323 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_uninstall_keyboard.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 305 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_uninstall_mouse.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 292 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_uninstall_system.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 315 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_uninstall_touch_input.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 356 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unlock_bitmap.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 297 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unlock_index_buffer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 293 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unlock_index_buffer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 333 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unlock_mutex.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 457 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unlock_sample_id.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 299 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unlock_vertex_buffer.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 452 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unlock_sample_id.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 294 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unlock_vertex_buffer.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 356 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unmap_rgb.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 348 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unmap_rgb_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 349 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unmap_rgba.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 344 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unmap_rgba_f.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 380 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unref_user_event.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 383 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_unregister_event_source.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 454 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_update_display_region.3alleg5.gz │ │ │ │ @@ -1297,15 +1297,15 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 385 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_ustr_vappendf.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 434 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_utf16_encode.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 341 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_utf16_width.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 423 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_utf8_encode.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 347 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_utf8_width.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 350 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_vertical_shear_transform.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 345 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_vfprintf.3alleg5.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 329 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_voice_has_attachments.3alleg5.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 324 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_voice_has_attachments.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 654 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_wait_cond.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 372 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_wait_cond_until.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 392 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_wait_for_event.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 541 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_wait_for_event_timed.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 547 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_wait_for_event_until.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 416 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_wait_for_vsync.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 599 2025-10-04 17:02:00.000000 ./usr/share/man/man3/al_win_add_window_callback.3alleg5.gz │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/acodec.html │ │ │ │ @@ -181,16 +181,15 @@ │ │ │ │ id="toc-al_get_allegro_acodec_version">al_get_allegro_acodec_version │ │ │ │ │ │ │ │ │ │ │ │

These functions are declared in the following header file. Link with │ │ │ │ allegro_acodec.

│ │ │ │
 #include <allegro5/allegro_acodec.h>
│ │ │ │

al_init_acodec_addon

│ │ │ │ -
bool al_init_acodec_addon(void)
│ │ │ │ -bool al_init_acodec_addon(void)
│ │ │ │ +
bool al_init_acodec_addon(void)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

This function registers all the known audio file type handlers for al_load_sample, al_save_sample, al_load_audio_stream, │ │ │ │ @@ -210,41 +209,28 @@ │ │ │ │ href="audio.html#al_load_sample_f">al_load_sample_f and must be │ │ │ │ streamed with al_load_audio_stream or al_load_audio_stream_f.

│ │ │ │
  • .voc file streaming is unimplemented.

  • │ │ │ │ │ │ │ │

    Return true on success.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_is_acodec_addon_initialized

    │ │ │ │ -
    bool al_is_acodec_addon_initialized(void)
    │ │ │ │ -bool al_is_acodec_addon_initialized(void)
    │ │ │ │ +
    bool al_is_acodec_addon_initialized(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if the acodec addon is initialized, otherwise returns │ │ │ │ false.

    │ │ │ │

    Since: 5.2.6

    │ │ │ │

    al_get_allegro_acodec_version

    │ │ │ │
    uint32_t al_get_allegro_acodec_version(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    │ │ │ │ -

    │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

    │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -47,16 +47,14 @@ │ │ │ │ │ * al_is_acodec_addon_initialized │ │ │ │ │ * al_get_allegro_acodec_version │ │ │ │ │ These functions are declared in the following header file. Link with allegro_ │ │ │ │ │ acodec. │ │ │ │ │ #include │ │ │ │ │ ****** al_init_acodec_addon ****** │ │ │ │ │ bool al_init_acodec_addon(void) │ │ │ │ │ - │ │ │ │ │ -bool al_init_acodec_addon(void) │ │ │ │ │ Source_Code │ │ │ │ │ This function registers all the known audio file type handlers for al_load_ │ │ │ │ │ sample, al_save_sample, al_load_audio_stream, etc. │ │ │ │ │ Depending on what libraries are available, the full set of recognised │ │ │ │ │ extensions is: .wav, .flac, .ogg, .opus, .it, .mod, .s3m, .xm, .voc. │ │ │ │ │ Limitations: │ │ │ │ │ * Saving is only supported for wav files. │ │ │ │ │ @@ -66,24 +64,17 @@ │ │ │ │ │ * Module files (.it, .mod, .s3m, .xm) are often composed with streaming in │ │ │ │ │ mind, and sometimes cannot be easily rendered into a finite length │ │ │ │ │ sample. Therefore they cannot be loaded with al_load_sample/al_load_ │ │ │ │ │ sample_f and must be streamed with al_load_audio_stream or al_load_audio_ │ │ │ │ │ stream_f. │ │ │ │ │ * .voc file streaming is unimplemented. │ │ │ │ │ Return true on success. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_stream_file.c │ │ │ │ │ - * ex_acodec_multi.c │ │ │ │ │ - * ex_kcm_direct.c │ │ │ │ │ ****** al_is_acodec_addon_initialized ****** │ │ │ │ │ bool al_is_acodec_addon_initialized(void) │ │ │ │ │ - │ │ │ │ │ -bool al_is_acodec_addon_initialized(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true if the acodec addon is initialized, otherwise returns false. │ │ │ │ │ Since: 5.2.6 │ │ │ │ │ ****** al_get_allegro_acodec_version ****** │ │ │ │ │ uint32_t al_get_allegro_acodec_version(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as al_get_ │ │ │ │ │ allegro_version. │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/audio.html │ │ │ │ @@ -554,33 +554,26 @@ │ │ │ │

    If you want to play large audio files (e.g. background music) without │ │ │ │ loading the whole file at once you can use al_play_audio_stream (after │ │ │ │ calling al_reserve_samples). │ │ │ │ This will load and play an ALLEGRO_AUDIO_STREAM. Note that │ │ │ │ the basic API only supports one such audio stream playing at once.

    │ │ │ │

    ALLEGRO_SAMPLE_ID

    │ │ │ │ -
    typedef struct ALLEGRO_SAMPLE_ID ALLEGRO_SAMPLE_ID;
    │ │ │ │ -typedef struct ALLEGRO_SAMPLE_ID ALLEGRO_SAMPLE_ID;
    │ │ │ │ +
    typedef struct ALLEGRO_SAMPLE_ID ALLEGRO_SAMPLE_ID;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    An ALLEGRO_SAMPLE_ID represents a sample being played via al_play_sample. It can be used to │ │ │ │ later stop the sample with al_stop_sample. The underlying │ │ │ │ ALLEGRO_SAMPLE_INSTANCE can be extracted using al_lock_sample_id.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_install_audio

    │ │ │ │ -
    bool al_install_audio(void)
    │ │ │ │ -bool al_install_audio(void)
    │ │ │ │ +
    bool al_install_audio(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Install the audio subsystem.

    │ │ │ │

    Returns true on success, false on failure.

    │ │ │ │
    │ │ │ │

    Note: most users will call │ │ │ │

    │ │ │ │

    See also: al_reserve_samples, al_uninstall_audio, al_is_audio_installed, al_init_acodec_addon

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_uninstall_audio

    │ │ │ │ -
    void al_uninstall_audio(void)
    │ │ │ │ -void al_uninstall_audio(void)
    │ │ │ │ +
    void al_uninstall_audio(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Uninstalls the audio subsystem.

    │ │ │ │

    See also: al_install_audio

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_is_audio_installed

    │ │ │ │ -
    bool al_is_audio_installed(void)
    │ │ │ │ -bool al_is_audio_installed(void)
    │ │ │ │ +
    bool al_is_audio_installed(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if al_install_audio was called │ │ │ │ previously and returned successfully.

    │ │ │ │

    al_reserve_samples

    │ │ │ │ -
    bool al_reserve_samples(int reserve_samples)
    │ │ │ │ -bool al_reserve_samples(int reserve_samples)
    │ │ │ │ +
    bool al_reserve_samples(int reserve_samples)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Reserves a number of sample instances, attaching them to the default │ │ │ │ mixer. If no default mixer is set when this function is called, then it │ │ │ │ will create one and attach it to the default voice. If no default voice │ │ │ │ has been set, it, too, will be created.

    │ │ │ │ @@ -652,28 +624,17 @@ │ │ │ │ sample instance N │ │ │ │

    Returns true on success, false on error. al_install_audio must have been │ │ │ │ called first.

    │ │ │ │

    See also: al_set_default_mixer, al_play_sample

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_play_sample

    │ │ │ │
    bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed,
    │ │ │ │ -   ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id)
    │ │ │ │ -bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed,
    │ │ │ │ -   ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id)
    │ │ │ │ + ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Plays a sample on one of the sample instances created by al_reserve_samples. Returns │ │ │ │ true on success, false on failure. Playback may fail because all the │ │ │ │ reserved sample instances are currently used.

    │ │ │ │ @@ -696,59 +657,33 @@ │ │ │ │

    See also: al_load_sample, ALLEGRO_PLAYMODE, ALLEGRO_AUDIO_PAN_NONE, ALLEGRO_SAMPLE_ID, al_stop_sample, al_stop_samples, al_lock_sample_id.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_stop_sample

    │ │ │ │ -
    void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id)
    │ │ │ │ -void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id)
    │ │ │ │ +
    void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Stop the sample started by al_play_sample.

    │ │ │ │

    See also: al_stop_samples

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_stop_samples

    │ │ │ │ -
    void al_stop_samples(void)
    │ │ │ │ -void al_stop_samples(void)
    │ │ │ │ +
    void al_stop_samples(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Stop all samples started by al_play_sample.

    │ │ │ │

    See also: al_stop_sample

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_lock_sample_id

    │ │ │ │ -
    ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)
    │ │ │ │ -ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)
    │ │ │ │ +
    ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Locks a ALLEGRO_SAMPLE_ID, │ │ │ │ returning the underlying ALLEGRO_SAMPLE_INSTANCE. │ │ │ │ This allows you to adjust the various properties of the instance (such │ │ │ │ @@ -764,22 +699,16 @@ │ │ │ │

    See also: al_play_sample, al_unlock_sample_id

    │ │ │ │

    Since: 5.2.3

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: New API.

    │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_unlock_sample_id

    │ │ │ │ -
    void al_unlock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)
    │ │ │ │ -void al_unlock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)
    │ │ │ │ +
    void al_unlock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Unlocks a ALLEGRO_SAMPLE_ID, allowing │ │ │ │ future calls to al_play_sample │ │ │ │ to reuse it if possible. Note that after the id is unlocked, the See also: al_play_sample, al_lock_sample_id

    │ │ │ │

    Since: 5.2.3

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: New API.

    │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_play_audio_stream

    │ │ │ │ -
    ALLEGRO_AUDIO_STREAM *al_play_audio_stream(const char *filename)
    │ │ │ │ -ALLEGRO_AUDIO_STREAM *al_play_audio_stream(const char *filename)
    │ │ │ │ +
    ALLEGRO_AUDIO_STREAM *al_play_audio_stream(const char *filename)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Loads and plays an audio file, streaming from disk as it is needed. │ │ │ │ This API can only play one audio stream at a time. This requires a │ │ │ │ default mixer to be set, which is typically done via al_reserve_samples, but can │ │ │ │ @@ -824,22 +747,16 @@ │ │ │ │ href="audio.html#al_play_audio_stream_f">al_play_audio_stream_f, al_load_audio_stream

    │ │ │ │

    Since: 5.2.8

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: New API.

    │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_play_audio_stream_f

    │ │ │ │ -
    ALLEGRO_AUDIO_STREAM *al_play_audio_stream_f(ALLEGRO_FILE *fp, const char *ident)
    │ │ │ │ -ALLEGRO_AUDIO_STREAM *al_play_audio_stream_f(ALLEGRO_FILE *fp, const char *ident)
    │ │ │ │ +
    ALLEGRO_AUDIO_STREAM *al_play_audio_stream_f(ALLEGRO_FILE *fp, const char *ident)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Loads and plays an audio file from ALLEGRO_FILE stream, streaming it is │ │ │ │ needed. This API can only play one audio stream at a time. This requires │ │ │ │ a default mixer to be set, which is typically done via Since: 5.2.8

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: New API.

    │ │ │ │
    │ │ │ │

    Samples

    │ │ │ │

    ALLEGRO_SAMPLE

    │ │ │ │ -
    typedef struct ALLEGRO_SAMPLE ALLEGRO_SAMPLE;
    │ │ │ │ -typedef struct ALLEGRO_SAMPLE ALLEGRO_SAMPLE;
    │ │ │ │ +
    typedef struct ALLEGRO_SAMPLE ALLEGRO_SAMPLE;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    An ALLEGRO_SAMPLE object stores the data necessary for playing │ │ │ │ pre-defined digital audio. It holds a user-specified PCM data buffer and │ │ │ │ information about its format (data length, depth, frequency, channel │ │ │ │ configuration). You can have the same ALLEGRO_SAMPLE playing multiple │ │ │ │ times simultaneously.

    │ │ │ │

    See also: ALLEGRO_SAMPLE_INSTANCE

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_create_sample

    │ │ │ │
    ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,
    │ │ │ │     unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,
    │ │ │ │ -   ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)
    │ │ │ │ -ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,
    │ │ │ │ -   unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,
    │ │ │ │ -   ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)
    │ │ │ │ + ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Create a sample data structure from the supplied buffer. If │ │ │ │ free_buf is true then the buffer will be freed with al_free when the sample data structure is │ │ │ │ destroyed. For portability (especially Windows), the buffer should have │ │ │ │ @@ -919,26 +823,16 @@ │ │ │ │ * al_get_audio_depth_size(depth); │ │ │ │ int bytes = samples * sample_size; │ │ │ │ void *buffer = al_malloc(bytes); │ │ │ │

    See also: al_destroy_sample, ALLEGRO_AUDIO_DEPTH, ALLEGRO_CHANNEL_CONF

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_load_sample

    │ │ │ │ -
    ALLEGRO_SAMPLE *al_load_sample(const char *filename)
    │ │ │ │ -ALLEGRO_SAMPLE *al_load_sample(const char *filename)
    │ │ │ │ +
    ALLEGRO_SAMPLE *al_load_sample(const char *filename)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Loads a few different audio file formats based on their │ │ │ │ extension.

    │ │ │ │

    Note that this stores the entire file in memory at once, which may be │ │ │ │ time consuming. To read the file as it is needed, use Note: the allegro_audio library does not support any audio │ │ │ │ file formats by default. You must use the allegro_acodec addon, or │ │ │ │ register your own format handler.

    │ │ │ │ │ │ │ │

    See also: al_register_sample_loader, │ │ │ │ al_init_acodec_addon

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_load_sample_f

    │ │ │ │ -
    ALLEGRO_SAMPLE *al_load_sample_f(ALLEGRO_FILE* fp, const char *ident)
    │ │ │ │ -ALLEGRO_SAMPLE *al_load_sample_f(ALLEGRO_FILE* fp, const char *ident)
    │ │ │ │ +
    ALLEGRO_SAMPLE *al_load_sample_f(ALLEGRO_FILE* fp, const char *ident)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Loads an audio file from an ALLEGRO_FILE stream into an ALLEGRO_SAMPLE. The file type is │ │ │ │ determined by the passed ‘ident’ parameter, which is a file name │ │ │ │ @@ -985,16 +869,15 @@ │ │ │ │ file formats by default. You must use the allegro_acodec addon, or │ │ │ │ register your own format handler.

    │ │ │ │ │ │ │ │

    See also: al_register_sample_loader_f, │ │ │ │ al_init_acodec_addon

    │ │ │ │

    al_save_sample

    │ │ │ │ -
    bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl)
    │ │ │ │ -bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl)
    │ │ │ │ +
    bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Writes a sample into a file. Currently, wav is the only supported │ │ │ │ format, and the extension must be “.wav”.

    │ │ │ │

    Returns true on success, false on error.

    │ │ │ │
    │ │ │ │ @@ -1003,16 +886,15 @@ │ │ │ │ register your own format handler.

    │ │ │ │
    │ │ │ │

    See also: al_save_sample_f, │ │ │ │ al_register_sample_saver, │ │ │ │ al_init_acodec_addon

    │ │ │ │

    al_save_sample_f

    │ │ │ │ -
    bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl)
    │ │ │ │ -bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl)
    │ │ │ │ +
    bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Writes a sample into a ALLEGRO_FILE filestream. Currently, │ │ │ │ wav is the only supported format, and the extension must be “.wav”.

    │ │ │ │

    Returns true on success, false on error. The file remains open │ │ │ │ @@ -1022,105 +904,85 @@ │ │ │ │ file formats by default. You must use the allegro_acodec addon, or │ │ │ │ register your own format handler.

    │ │ │ │ │ │ │ │

    See also: al_save_sample, al_register_sample_saver_f, │ │ │ │ al_init_acodec_addon

    │ │ │ │

    al_destroy_sample

    │ │ │ │ -
    void al_destroy_sample(ALLEGRO_SAMPLE *spl)
    │ │ │ │ -void al_destroy_sample(ALLEGRO_SAMPLE *spl)
    │ │ │ │ +
    void al_destroy_sample(ALLEGRO_SAMPLE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Free the sample data structure. If it was created with the │ │ │ │ free_buf parameter set to true, then the buffer will be │ │ │ │ freed with al_free.

    │ │ │ │

    This function will stop any sample instances which may be playing the │ │ │ │ buffer referenced by the ALLEGRO_SAMPLE.

    │ │ │ │

    See also: al_destroy_sample_instance, │ │ │ │ al_stop_sample, al_stop_samples

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_channels

    │ │ │ │ -
    ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl)
    │ │ │ │ -ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl)
    │ │ │ │ +
    ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the channel configuration of the sample.

    │ │ │ │

    See also: ALLEGRO_CHANNEL_CONF, al_get_sample_depth, al_get_sample_frequency, │ │ │ │ al_get_sample_length, al_get_sample_data

    │ │ │ │

    al_get_sample_depth

    │ │ │ │ -
    ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl)
    │ │ │ │ -ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl)
    │ │ │ │ +
    ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the audio depth of the sample.

    │ │ │ │

    See also: ALLEGRO_AUDIO_DEPTH, al_get_sample_channels, al_get_sample_frequency, │ │ │ │ al_get_sample_length, al_get_sample_data

    │ │ │ │

    al_get_sample_frequency

    │ │ │ │ -
    unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl)
    │ │ │ │ -unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl)
    │ │ │ │ +
    unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the frequency (in Hz) of the sample.

    │ │ │ │

    See also: al_get_sample_channels, al_get_sample_depth, al_get_sample_length, al_get_sample_data

    │ │ │ │

    al_get_sample_length

    │ │ │ │ -
    unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl)
    │ │ │ │ -unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl)
    │ │ │ │ +
    unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the length of the sample in sample values.

    │ │ │ │

    See also: al_get_sample_channels, al_get_sample_depth, al_get_sample_frequency, │ │ │ │ al_get_sample_data

    │ │ │ │

    al_get_sample_data

    │ │ │ │ -
    void *al_get_sample_data(const ALLEGRO_SAMPLE *spl)
    │ │ │ │ -void *al_get_sample_data(const ALLEGRO_SAMPLE *spl)
    │ │ │ │ +
    void *al_get_sample_data(const ALLEGRO_SAMPLE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return a pointer to the raw sample data.

    │ │ │ │

    See also: al_get_sample_channels, al_get_sample_depth, al_get_sample_frequency, │ │ │ │ al_get_sample_length

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Advanced Audio

    │ │ │ │

    For more fine-grained control over audio output, here’s a short │ │ │ │ description of the basic concepts:

    │ │ │ │

    Voices represent audio devices on the system. Basically, every audio │ │ │ │ output chain that you want to be heard needs to end up in a voice. As │ │ │ │ voices are on the hardware/driver side of things, there is only limited │ │ │ │ control over their parameters (frequency, sample format, channel │ │ │ │ @@ -1204,16 +1066,15 @@ │ │ │ │ al_play_sample is called, it’ll use one of these internal sample │ │ │ │ instances that is not currently playing to play the requested sample. │ │ │ │ All of these sample instances will be attached to the default mixer, │ │ │ │ which can be changed via al_set_default_mixer.

    │ │ │ │

    Sample instances

    │ │ │ │

    ALLEGRO_SAMPLE_INSTANCE

    │ │ │ │ -
    typedef struct ALLEGRO_SAMPLE_INSTANCE ALLEGRO_SAMPLE_INSTANCE;
    │ │ │ │ -typedef struct ALLEGRO_SAMPLE_INSTANCE ALLEGRO_SAMPLE_INSTANCE;
    │ │ │ │ +
    typedef struct ALLEGRO_SAMPLE_INSTANCE ALLEGRO_SAMPLE_INSTANCE;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    An ALLEGRO_SAMPLE_INSTANCE object represents a playable instance of a │ │ │ │ predefined sound effect. It holds information about how the effect │ │ │ │ should be played: These playback parameters consist of the looping mode, │ │ │ │ loop start/end points, playing position, speed, gain, pan and the │ │ │ │ @@ -1224,300 +1085,173 @@ │ │ │ │ instances may be created from the same ALLEGRO_SAMPLE. An ALLEGRO_SAMPLE │ │ │ │ must not be destroyed while there are instances which reference it.

    │ │ │ │

    To actually produce audio output, an ALLEGRO_SAMPLE_INSTANCE must be │ │ │ │ attached to an ALLEGRO_MIXER │ │ │ │ which eventually reaches an ALLEGRO_VOICE object.

    │ │ │ │

    See also: ALLEGRO_SAMPLE

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_create_sample_instance

    │ │ │ │ -
    ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data)
    │ │ │ │ -ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data)
    │ │ │ │ +
    ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Creates a sample instance, using the supplied sample data. The │ │ │ │ instance must be attached to a mixer (or voice) in order to actually │ │ │ │ produce output.

    │ │ │ │

    The argument may be NULL. You can then set the sample data later with │ │ │ │ al_set_sample.

    │ │ │ │

    See also: al_destroy_sample_instance

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_destroy_sample_instance

    │ │ │ │ -
    void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Detaches the sample instance from anything it may be attached to and │ │ │ │ frees it (the sample data, i.e. its ALLEGRO_SAMPLE, is not │ │ │ │ freed!).

    │ │ │ │

    See also: al_create_sample_instance

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_play_sample_instance

    │ │ │ │ -
    bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Play the sample instance. Returns true on success, false on │ │ │ │ failure.

    │ │ │ │

    See also: al_stop_sample_instance

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_stop_sample_instance

    │ │ │ │ -
    bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Stop an sample instance playing.

    │ │ │ │

    See also: al_play_sample_instance

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_instance_channels

    │ │ │ │
    ALLEGRO_CHANNEL_CONF al_get_sample_instance_channels(
    │ │ │ │ -   const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -ALLEGRO_CHANNEL_CONF al_get_sample_instance_channels(
    │ │ │ │ -   const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ + const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the channel configuration of the sample instance’s sample │ │ │ │ data.

    │ │ │ │

    See also: ALLEGRO_CHANNEL_CONF.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_instance_depth

    │ │ │ │ -
    ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the audio depth of the sample instance’s sample data.

    │ │ │ │

    See also: ALLEGRO_AUDIO_DEPTH.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_instance_frequency

    │ │ │ │ -
    unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the frequency (in Hz) of the sample instance’s sample │ │ │ │ data.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_instance_length

    │ │ │ │ -
    unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the length of the sample instance in sample values. This │ │ │ │ property may differ from the length of the instance’s sample data.

    │ │ │ │

    See also: al_set_sample_instance_length, │ │ │ │ al_get_sample_instance_time

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_sample_instance_length

    │ │ │ │
    bool al_set_sample_instance_length(ALLEGRO_SAMPLE_INSTANCE *spl,
    │ │ │ │ -   unsigned int val)
    │ │ │ │ -bool al_set_sample_instance_length(ALLEGRO_SAMPLE_INSTANCE *spl,
    │ │ │ │ -   unsigned int val)
    │ │ │ │ + unsigned int val) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the length of the sample instance in sample values. This can be │ │ │ │ used to play only parts of the underlying sample. Be careful not to │ │ │ │ exceed the actual length of the sample data, though.

    │ │ │ │

    Return true on success, false on failure. Will fail if the sample │ │ │ │ instance is currently playing.

    │ │ │ │

    See also: al_get_sample_instance_length

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_instance_position

    │ │ │ │ -
    unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Get the playback position of a sample instance.

    │ │ │ │

    See also: al_set_sample_instance_position

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_sample_instance_position

    │ │ │ │
    bool al_set_sample_instance_position(ALLEGRO_SAMPLE_INSTANCE *spl,
    │ │ │ │ -   unsigned int val)
    │ │ │ │ -bool al_set_sample_instance_position(ALLEGRO_SAMPLE_INSTANCE *spl,
    │ │ │ │ -   unsigned int val)
    │ │ │ │ + unsigned int val) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the playback position of a sample instance.

    │ │ │ │

    Returns true on success, false on failure.

    │ │ │ │

    See also: al_get_sample_instance_position

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_instance_speed

    │ │ │ │ -
    float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the relative playback speed of the sample instance.

    │ │ │ │

    See also: al_set_sample_instance_speed

    │ │ │ │

    al_set_sample_instance_speed

    │ │ │ │ -
    bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    │ │ │ │ -bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    │ │ │ │ +
    bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the relative playback speed of the sample instance. 1.0 means │ │ │ │ normal speed.

    │ │ │ │

    Return true on success, false on failure. Will fail if the sample │ │ │ │ instance is attached directly to a voice.

    │ │ │ │

    See also: al_get_sample_instance_speed

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_instance_gain

    │ │ │ │ -
    float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the playback gain of the sample instance.

    │ │ │ │

    See also: al_set_sample_instance_gain

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_sample_instance_gain

    │ │ │ │ -
    bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    │ │ │ │ -bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    │ │ │ │ +
    bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the playback gain of the sample instance.

    │ │ │ │

    Returns true on success, false on failure. Will fail if the sample │ │ │ │ instance is attached directly to a voice.

    │ │ │ │

    See also: al_get_sample_instance_gain

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_instance_pan

    │ │ │ │ -
    float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Get the pan value of the sample instance.

    │ │ │ │

    See also: al_set_sample_instance_pan.

    │ │ │ │

    al_set_sample_instance_pan

    │ │ │ │ -
    bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    │ │ │ │ -bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    │ │ │ │ +
    bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the pan value on a sample instance. A value of -1.0 means to play │ │ │ │ the sample only through the left speaker; +1.0 means only through the │ │ │ │ right speaker; 0.0 means the sample is centre balanced. A special value │ │ │ │ ALLEGRO_AUDIO_PAN_NONE │ │ │ │ @@ -1529,172 +1263,111 @@ │ │ │ │ │ │ │ │

    Returns true on success, false on failure. Will fail if the sample │ │ │ │ instance is attached directly to a voice.

    │ │ │ │

    See also: al_get_sample_instance_pan, │ │ │ │ ALLEGRO_AUDIO_PAN_NONE

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_instance_time

    │ │ │ │ -
    float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the length of the sample instance in seconds, assuming a │ │ │ │ playback speed of 1.0.

    │ │ │ │

    See also: al_get_sample_instance_length

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_instance_playmode

    │ │ │ │ -
    ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the playback mode of the sample instance.

    │ │ │ │

    See also: ALLEGRO_PLAYMODE, │ │ │ │ al_set_sample_instance_playmode

    │ │ │ │

    al_set_sample_instance_playmode

    │ │ │ │
    bool al_set_sample_instance_playmode(ALLEGRO_SAMPLE_INSTANCE *spl,
    │ │ │ │ -   ALLEGRO_PLAYMODE val)
    │ │ │ │ -bool al_set_sample_instance_playmode(ALLEGRO_SAMPLE_INSTANCE *spl,
    │ │ │ │ -   ALLEGRO_PLAYMODE val)
    │ │ │ │ + ALLEGRO_PLAYMODE val) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the playback mode of the sample instance.

    │ │ │ │

    Returns true on success, false on failure.

    │ │ │ │

    See also: ALLEGRO_PLAYMODE, │ │ │ │ al_get_sample_instance_playmode

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_instance_playing

    │ │ │ │ -
    bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return true if the sample instance is in the playing state. This may │ │ │ │ be true even if the instance is not attached to anything.

    │ │ │ │

    See also: al_set_sample_instance_playing

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_sample_instance_playing

    │ │ │ │ -
    bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val)
    │ │ │ │ -bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val)
    │ │ │ │ +
    bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Change whether the sample instance is playing.

    │ │ │ │

    The instance does not need to be attached to anything (since: │ │ │ │ 5.1.8).

    │ │ │ │

    Returns true on success, false on failure.

    │ │ │ │

    See also: al_get_sample_instance_playing

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample_instance_attached

    │ │ │ │ -
    bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return whether the sample instance is attached to something.

    │ │ │ │

    See also: al_attach_sample_instance_to_mixer, │ │ │ │ al_attach_sample_instance_to_voice, │ │ │ │ al_detach_sample_instance

    │ │ │ │

    al_detach_sample_instance

    │ │ │ │ -
    bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Detach the sample instance from whatever it’s attached to, if │ │ │ │ anything.

    │ │ │ │

    Returns true on success.

    │ │ │ │

    See also: al_attach_sample_instance_to_mixer, │ │ │ │ al_attach_sample_instance_to_voice, │ │ │ │ al_get_sample_instance_attached

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_sample

    │ │ │ │ -
    ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ -ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │ +
    ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the sample data that the sample instance plays.

    │ │ │ │

    Note this returns a pointer to an internal structure, not │ │ │ │ the ALLEGRO_SAMPLE that you may │ │ │ │ have passed to al_set_sample. │ │ │ │ However, the sample buffer of the returned ALLEGRO_SAMPLE will be the │ │ │ │ same as the one that was used to create the sample (passed to al_create_sample). You can use al_get_sample_data on the │ │ │ │ return value to retrieve and compare it.

    │ │ │ │

    See also: al_set_sample

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_sample

    │ │ │ │ -
    bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data)
    │ │ │ │ -bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data)
    │ │ │ │ +
    bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Change the sample data that a sample instance plays. This can be │ │ │ │ quite an involved process.

    │ │ │ │

    First, the sample is stopped if it is not already.

    │ │ │ │

    Next, if data is NULL, the sample is detached from its parent (if │ │ │ │ @@ -1705,27 +1378,17 @@ │ │ │ │ Reattaching may not always succeed.

    │ │ │ │

    On success, the sample remains stopped. The playback position and │ │ │ │ loop end points are reset to their default values. The loop mode remains │ │ │ │ unchanged.

    │ │ │ │

    Returns true on success, false on failure. On failure, the sample │ │ │ │ will be stopped and detached from its parent.

    │ │ │ │

    See also: al_get_sample

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_sample_instance_channel_matrix

    │ │ │ │ -
    bool al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE *spl, const float *matrix)
    │ │ │ │ -bool al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE *spl, const float *matrix)
    │ │ │ │ +
    bool al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE *spl, const float *matrix)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the matrix used to mix the channels coming from this instance │ │ │ │ into the mixer it is attached to. Normally Allegro derives the values of │ │ │ │ this matrix from the gain and pan settings, as well as the channel │ │ │ │ configurations of this instance and the mixer it is attached to, but │ │ │ │ @@ -1748,23 +1411,17 @@ │ │ │ │

    Returns true on success, false on failure (e.g. if this is not │ │ │ │ attached to a mixer).

    │ │ │ │

    Since: 5.2.3

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: New API.

    │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Audio streams

    │ │ │ │

    ALLEGRO_AUDIO_STREAM

    │ │ │ │ -
    typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM;
    │ │ │ │ -typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM;
    │ │ │ │ +
    typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    An ALLEGRO_AUDIO_STREAM object is used to stream generated audio to │ │ │ │ the sound device, in real-time. This is done by reading from a buffer, │ │ │ │ which is split into a number of fragments. Whenever a fragment has │ │ │ │ finished playing, the user can refill it with new data.

    │ │ │ │ @@ -1810,30 +1467,18 @@ │ │ │ │ } │ │ │ │

    If the stream is created by al_load_audio_stream or al_play_audio_stream then it │ │ │ │ will also generate an ALLEGRO_EVENT_AUDIO_STREAM_FINISHED │ │ │ │ event if it reaches the end of the file and is not set to loop.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_create_audio_stream

    │ │ │ │
    ALLEGRO_AUDIO_STREAM *al_create_audio_stream(size_t fragment_count,
    │ │ │ │     unsigned int frag_samples, unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,
    │ │ │ │ -   ALLEGRO_CHANNEL_CONF chan_conf)
    │ │ │ │ -ALLEGRO_AUDIO_STREAM *al_create_audio_stream(size_t fragment_count,
    │ │ │ │ -   unsigned int frag_samples, unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,
    │ │ │ │ -   ALLEGRO_CHANNEL_CONF chan_conf)
    │ │ │ │ + ALLEGRO_CHANNEL_CONF chan_conf) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Creates an ALLEGRO_AUDIO_STREAM. The │ │ │ │ stream will be set to play by default. It will feed audio data from a │ │ │ │ buffer, which is split into a number of fragments.

    │ │ │ │ @@ -1878,28 +1523,17 @@ │ │ │ │
    │ │ │ │

    Note: Unlike many Allegro objects, audio streams are not │ │ │ │ implicitly destroyed when Allegro is shut down. You must destroy them │ │ │ │ manually with al_destroy_audio_stream │ │ │ │ before the audio system is shut down.

    │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_load_audio_stream

    │ │ │ │
    ALLEGRO_AUDIO_STREAM *al_load_audio_stream(const char *filename,
    │ │ │ │ -   size_t buffer_count, unsigned int samples)
    │ │ │ │ -ALLEGRO_AUDIO_STREAM *al_load_audio_stream(const char *filename,
    │ │ │ │ -   size_t buffer_count, unsigned int samples)
    │ │ │ │ + size_t buffer_count, unsigned int samples) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Loads an audio file from disk as it is needed.

    │ │ │ │

    Unlike regular streams, the one returned by this function need not be │ │ │ │ fed by the user; the library will automatically read more of the file as │ │ │ │ it is needed. The stream will contain buffer_count buffers with │ │ │ │ @@ -1914,28 +1548,17 @@ │ │ │ │ file formats by default. You must use the allegro_acodec addon, or │ │ │ │ register your own format handler.

    │ │ │ │ │ │ │ │

    See also: al_load_audio_stream_f, al_register_audio_stream_loader, │ │ │ │ al_init_acodec_addon

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_load_audio_stream_f

    │ │ │ │
    ALLEGRO_AUDIO_STREAM *al_load_audio_stream_f(ALLEGRO_FILE* fp, const char *ident,
    │ │ │ │ -   size_t buffer_count, unsigned int samples)
    │ │ │ │ -ALLEGRO_AUDIO_STREAM *al_load_audio_stream_f(ALLEGRO_FILE* fp, const char *ident,
    │ │ │ │ -   size_t buffer_count, unsigned int samples)
    │ │ │ │ + size_t buffer_count, unsigned int samples) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Loads an audio file from ALLEGRO_FILE stream as it is │ │ │ │ needed.

    │ │ │ │

    Unlike regular streams, the one returned by this function need not be │ │ │ │ @@ -1957,207 +1580,141 @@ │ │ │ │ register your own format handler.

    │ │ │ │ │ │ │ │

    See also: al_load_audio_stream, al_register_audio_stream_loader_f, │ │ │ │ al_init_acodec_addon

    │ │ │ │

    al_destroy_audio_stream

    │ │ │ │ -
    void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Destroy an audio stream which was created with al_create_audio_stream or │ │ │ │ al_load_audio_stream.

    │ │ │ │
    │ │ │ │

    Note: If the stream is still attached to a mixer or voice, │ │ │ │ al_detach_audio_stream │ │ │ │ is automatically called on it first.

    │ │ │ │
    │ │ │ │

    See also: al_drain_audio_stream.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_audio_stream_event_source

    │ │ │ │
    ALLEGRO_EVENT_SOURCE *al_get_audio_stream_event_source(
    │ │ │ │ -   ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_get_audio_stream_event_source(
    │ │ │ │ -   ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ + ALLEGRO_AUDIO_STREAM *stream) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Retrieve the associated event source.

    │ │ │ │

    See al_get_audio_stream_fragment │ │ │ │ for a description of the ALLEGRO_EVENT_AUDIO_STREAM_FRAGMENT │ │ │ │ event that audio streams emit.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_drain_audio_stream

    │ │ │ │ -
    void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    You should call this to finalise an audio stream that you will no │ │ │ │ longer be feeding, to wait for all pending buffers to finish playing. │ │ │ │ The stream’s playing state will change to false.

    │ │ │ │

    See also: al_destroy_audio_stream

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_rewind_audio_stream

    │ │ │ │ -
    bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the streaming file playing position to the beginning. Returns │ │ │ │ true on success. Currently this can only be called on streams created │ │ │ │ with al_load_audio_stream, │ │ │ │ al_play_audio_stream, al_load_audio_stream_f or │ │ │ │ al_play_audio_stream_f.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_audio_stream_frequency

    │ │ │ │ -
    unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the stream frequency (in Hz).

    │ │ │ │

    al_get_audio_stream_channels

    │ │ │ │
    ALLEGRO_CHANNEL_CONF al_get_audio_stream_channels(
    │ │ │ │ -   const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -ALLEGRO_CHANNEL_CONF al_get_audio_stream_channels(
    │ │ │ │ -   const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ + const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the stream channel configuration.

    │ │ │ │

    See also: ALLEGRO_CHANNEL_CONF.

    │ │ │ │

    al_get_audio_stream_depth

    │ │ │ │
    ALLEGRO_AUDIO_DEPTH al_get_audio_stream_depth(
    │ │ │ │ -   const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -ALLEGRO_AUDIO_DEPTH al_get_audio_stream_depth(
    │ │ │ │ -   const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ + const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the stream audio depth.

    │ │ │ │

    See also: ALLEGRO_AUDIO_DEPTH.

    │ │ │ │

    al_get_audio_stream_length

    │ │ │ │ -
    unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the stream length in samples.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_audio_stream_speed

    │ │ │ │ -
    float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the relative playback speed of the stream.

    │ │ │ │

    See also: al_set_audio_stream_speed.

    │ │ │ │

    al_set_audio_stream_speed

    │ │ │ │ -
    bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val)
    │ │ │ │ -bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val)
    │ │ │ │ +
    bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the relative playback speed of the stream. 1.0 means normal │ │ │ │ speed.

    │ │ │ │

    Return true on success, false on failure. Will fail if the audio │ │ │ │ stream is attached directly to a voice.

    │ │ │ │

    See also: al_get_audio_stream_speed.

    │ │ │ │

    al_get_audio_stream_gain

    │ │ │ │ -
    float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the playback gain of the stream.

    │ │ │ │

    See also: al_set_audio_stream_gain.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_audio_stream_gain

    │ │ │ │ -
    bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val)
    │ │ │ │ -bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val)
    │ │ │ │ +
    bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the playback gain of the stream.

    │ │ │ │

    Returns true on success, false on failure. Will fail if the audio │ │ │ │ stream is attached directly to a voice.

    │ │ │ │

    See also: al_get_audio_stream_gain.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_audio_stream_pan

    │ │ │ │ -
    float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Get the pan value of the stream.

    │ │ │ │

    See also: al_set_audio_stream_pan.

    │ │ │ │

    al_set_audio_stream_pan

    │ │ │ │ -
    bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val)
    │ │ │ │ -bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val)
    │ │ │ │ +
    bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the pan value on an audio stream. A value of -1.0 means to play │ │ │ │ the stream only through the left speaker; +1.0 means only through the │ │ │ │ right speaker; 0.0 means the sample is centre balanced. A special value │ │ │ │ ALLEGRO_AUDIO_PAN_NONE │ │ │ │ @@ -2165,134 +1722,87 @@ │ │ │ │ be louder than a pan value of 0.0.

    │ │ │ │

    Returns true on success, false on failure. Will fail if the audio │ │ │ │ stream is attached directly to a voice.

    │ │ │ │

    See also: al_get_audio_stream_pan, │ │ │ │ ALLEGRO_AUDIO_PAN_NONE

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_audio_stream_playing

    │ │ │ │ -
    bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return true if the stream is playing.

    │ │ │ │

    See also: al_set_audio_stream_playing.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_audio_stream_playing

    │ │ │ │ -
    bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val)
    │ │ │ │ -bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val)
    │ │ │ │ +
    bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Change whether the stream is playing.

    │ │ │ │

    Returns true on success, false on failure.

    │ │ │ │

    See also: al_get_audio_stream_playing

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_audio_stream_playmode

    │ │ │ │
    ALLEGRO_PLAYMODE al_get_audio_stream_playmode(
    │ │ │ │ -   const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -ALLEGRO_PLAYMODE al_get_audio_stream_playmode(
    │ │ │ │ -   const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ + const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the playback mode of the stream.

    │ │ │ │

    See also: ALLEGRO_PLAYMODE, │ │ │ │ al_set_audio_stream_playmode.

    │ │ │ │

    al_set_audio_stream_playmode

    │ │ │ │
    bool al_set_audio_stream_playmode(ALLEGRO_AUDIO_STREAM *stream,
    │ │ │ │ -   ALLEGRO_PLAYMODE val)
    │ │ │ │ -bool al_set_audio_stream_playmode(ALLEGRO_AUDIO_STREAM *stream,
    │ │ │ │ -   ALLEGRO_PLAYMODE val)
    │ │ │ │ + ALLEGRO_PLAYMODE val) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the playback mode of the stream.

    │ │ │ │

    Returns true on success, false on failure.

    │ │ │ │

    See also: ALLEGRO_PLAYMODE, │ │ │ │ al_get_audio_stream_playmode.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_audio_stream_attached

    │ │ │ │ -
    bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return whether the stream is attached to something.

    │ │ │ │

    See also: al_attach_audio_stream_to_mixer, │ │ │ │ al_attach_audio_stream_to_voice, │ │ │ │ al_detach_audio_stream.

    │ │ │ │

    al_detach_audio_stream

    │ │ │ │ -
    bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Detach the stream from whatever it’s attached to, if anything.

    │ │ │ │

    See also: al_attach_audio_stream_to_mixer, │ │ │ │ al_attach_audio_stream_to_voice, │ │ │ │ al_get_audio_stream_attached.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_audio_stream_played_samples

    │ │ │ │ -
    uint64_t al_get_audio_stream_played_samples(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -uint64_t al_get_audio_stream_played_samples(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    uint64_t al_get_audio_stream_played_samples(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Get the number of samples consumed by the parent since the audio │ │ │ │ stream was started.

    │ │ │ │

    Since: 5.1.8

    │ │ │ │

    al_get_audio_stream_fragment

    │ │ │ │ -
    void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    When using Allegro’s audio streaming, you will use this function to │ │ │ │ continuously provide new sample data to a stream.

    │ │ │ │

    If the stream is ready for new data, the function will return the │ │ │ │ address of an internal buffer to be filled with audio data. The length │ │ │ │ @@ -2320,175 +1830,126 @@ │ │ │ │ href="audio.html#al_get_audio_stream_frequency">al_get_audio_stream_frequency, │ │ │ │ al_get_audio_stream_channels, │ │ │ │ al_get_audio_stream_depth, │ │ │ │ al_get_audio_stream_length

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_audio_stream_fragment

    │ │ │ │ -
    bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val)
    │ │ │ │ -bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val)
    │ │ │ │ +
    bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This function needs to be called for every successful call of al_get_audio_stream_fragment │ │ │ │ to indicate that the buffer (pointed to by val) is filled │ │ │ │ with new data.

    │ │ │ │

    See also: al_get_audio_stream_fragment

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_audio_stream_fragments

    │ │ │ │ -
    unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the number of fragments this stream uses. This is the same │ │ │ │ value as passed to al_create_audio_stream when │ │ │ │ a new stream is created.

    │ │ │ │

    See also: al_get_available_audio_stream_fragments

    │ │ │ │

    al_get_available_audio_stream_fragments

    │ │ │ │
    unsigned int al_get_available_audio_stream_fragments(
    │ │ │ │ -   const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -unsigned int al_get_available_audio_stream_fragments(
    │ │ │ │ -   const ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ + const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the number of available fragments in the stream, that is, │ │ │ │ fragments which are not currently filled with data for playback.

    │ │ │ │

    See also: al_get_audio_stream_fragment, │ │ │ │ al_get_audio_stream_fragments

    │ │ │ │

    al_seek_audio_stream_secs

    │ │ │ │ -
    bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time)
    │ │ │ │ -bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time)
    │ │ │ │ +
    bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the streaming file playing position to time. Returns true on │ │ │ │ success. Currently this can only be called on streams created with al_load_audio_stream, al_play_audio_stream, al_load_audio_stream_f or │ │ │ │ al_play_audio_stream_f.

    │ │ │ │

    See also: al_get_audio_stream_position_secs, │ │ │ │ al_get_audio_stream_length_secs

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_audio_stream_position_secs

    │ │ │ │ -
    double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the position of the stream in seconds. Currently this can only │ │ │ │ be called on streams created with al_load_audio_stream, al_play_audio_stream, al_load_audio_stream_f or │ │ │ │ al_play_audio_stream_f.

    │ │ │ │

    See also: al_get_audio_stream_length_secs

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_audio_stream_length_secs

    │ │ │ │ -
    double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ -double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │ +
    double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the length of the stream in seconds, if known. Otherwise │ │ │ │ returns zero.

    │ │ │ │

    Currently this can only be called on streams created with al_load_audio_stream, al_play_audio_stream, al_load_audio_stream_f or │ │ │ │ al_play_audio_stream_f.

    │ │ │ │

    See also: al_get_audio_stream_position_secs

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_audio_stream_loop_secs

    │ │ │ │
    bool al_set_audio_stream_loop_secs(ALLEGRO_AUDIO_STREAM *stream,
    │ │ │ │ -   double start, double end)
    │ │ │ │ -bool al_set_audio_stream_loop_secs(ALLEGRO_AUDIO_STREAM *stream,
    │ │ │ │ -   double start, double end)
    │ │ │ │ + double start, double end) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets the loop points for the stream in seconds. Currently this can │ │ │ │ only be called on streams created with al_load_audio_stream, al_play_audio_stream, al_load_audio_stream_f or │ │ │ │ al_play_audio_stream_f.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_audio_stream_channel_matrix

    │ │ │ │

    Source Code

    │ │ │ │

    Like al_set_sample_instance_channel_matrix │ │ │ │ but for streams.

    │ │ │ │

    Since: 5.2.3

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: New API.

    │ │ │ │
    │ │ │ │

    Advanced audio file I/O

    │ │ │ │

    al_register_sample_loader

    │ │ │ │
    bool al_register_sample_loader(const char *ext,
    │ │ │ │ -   ALLEGRO_SAMPLE *(*loader)(const char *filename))
    │ │ │ │ -bool al_register_sample_loader(const char *ext,
    │ │ │ │ -   ALLEGRO_SAMPLE *(*loader)(const char *filename))
    │ │ │ │ + ALLEGRO_SAMPLE *(*loader)(const char *filename)) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Register a handler for al_load_sample. The given function │ │ │ │ will be used to handle the loading of sample files with the given │ │ │ │ extension.

    │ │ │ │ @@ -2500,17 +1961,15 @@ │ │ │ │ unregistering an entry that doesn’t exist.

    │ │ │ │

    See also: al_register_sample_loader_f, │ │ │ │ al_register_sample_saver

    │ │ │ │

    al_register_sample_loader_f

    │ │ │ │
    bool al_register_sample_loader_f(const char *ext,
    │ │ │ │ -   ALLEGRO_SAMPLE *(*loader)(ALLEGRO_FILE* fp))
    │ │ │ │ -bool al_register_sample_loader_f(const char *ext,
    │ │ │ │ -   ALLEGRO_SAMPLE *(*loader)(ALLEGRO_FILE* fp))
    │ │ │ │ + ALLEGRO_SAMPLE *(*loader)(ALLEGRO_FILE* fp)) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Register a handler for al_load_sample_f. The given │ │ │ │ function will be used to handle the loading of sample files with the │ │ │ │ given extension.

    │ │ │ │ @@ -2520,17 +1979,15 @@ │ │ │ │ entry.

    │ │ │ │

    Returns true on success, false on error. Returns false if │ │ │ │ unregistering an entry that doesn’t exist.

    │ │ │ │

    See also: al_register_sample_loader

    │ │ │ │

    al_register_sample_saver

    │ │ │ │
    bool al_register_sample_saver(const char *ext,
    │ │ │ │ -   bool (*saver)(const char *filename, ALLEGRO_SAMPLE *spl))
    │ │ │ │ -bool al_register_sample_saver(const char *ext,
    │ │ │ │ -   bool (*saver)(const char *filename, ALLEGRO_SAMPLE *spl))
    │ │ │ │ + bool (*saver)(const char *filename, ALLEGRO_SAMPLE *spl)) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Register a handler for al_save_sample. The given function │ │ │ │ will be used to handle the saving of sample files with the given │ │ │ │ extension.

    │ │ │ │ @@ -2543,17 +2000,15 @@ │ │ │ │

    See also: al_register_sample_saver_f, │ │ │ │ al_register_sample_loader

    │ │ │ │

    al_register_sample_saver_f

    │ │ │ │
    bool al_register_sample_saver_f(const char *ext,
    │ │ │ │ -   bool (*saver)(ALLEGRO_FILE* fp, ALLEGRO_SAMPLE *spl))
    │ │ │ │ -bool al_register_sample_saver_f(const char *ext,
    │ │ │ │ -   bool (*saver)(ALLEGRO_FILE* fp, ALLEGRO_SAMPLE *spl))
    │ │ │ │ + bool (*saver)(ALLEGRO_FILE* fp, ALLEGRO_SAMPLE *spl)) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Register a handler for al_save_sample_f. The given │ │ │ │ function will be used to handle the saving of sample files with the │ │ │ │ given extension.

    │ │ │ │ @@ -2566,18 +2021,15 @@ │ │ │ │

    See also: al_register_sample_saver

    │ │ │ │

    al_register_audio_stream_loader

    │ │ │ │
    bool al_register_audio_stream_loader(const char *ext,
    │ │ │ │     ALLEGRO_AUDIO_STREAM *(*stream_loader)(const char *filename,
    │ │ │ │ -      size_t buffer_count, unsigned int samples))
    │ │ │ │ -bool al_register_audio_stream_loader(const char *ext,
    │ │ │ │ -   ALLEGRO_AUDIO_STREAM *(*stream_loader)(const char *filename,
    │ │ │ │ -      size_t buffer_count, unsigned int samples))
    │ │ │ │ + size_t buffer_count, unsigned int samples)) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Register a handler for al_load_audio_stream and al_play_audio_stream. The │ │ │ │ given function will be used to open streams from files with the given │ │ │ │ @@ -2591,18 +2043,15 @@ │ │ │ │

    See also: al_register_audio_stream_loader_f

    │ │ │ │

    al_register_audio_stream_loader_f

    │ │ │ │
    bool al_register_audio_stream_loader_f(const char *ext,
    │ │ │ │     ALLEGRO_AUDIO_STREAM *(*stream_loader)(ALLEGRO_FILE* fp,
    │ │ │ │ -      size_t buffer_count, unsigned int samples))
    │ │ │ │ -bool al_register_audio_stream_loader_f(const char *ext,
    │ │ │ │ -   ALLEGRO_AUDIO_STREAM *(*stream_loader)(ALLEGRO_FILE* fp,
    │ │ │ │ -      size_t buffer_count, unsigned int samples))
    │ │ │ │ + size_t buffer_count, unsigned int samples)) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Register a handler for al_load_audio_stream_f and │ │ │ │ al_play_audio_stream_f. │ │ │ │ The given function will be used to open streams from files with the │ │ │ │ @@ -2615,17 +2064,15 @@ │ │ │ │ unregistering an entry that doesn’t exist.

    │ │ │ │

    See also: al_register_audio_stream_loader

    │ │ │ │

    al_register_sample_identifier

    │ │ │ │
    bool al_register_sample_identifier(const char *ext,
    │ │ │ │ -   bool (*identifier)(ALLEGRO_FILE* fp))
    │ │ │ │ -bool al_register_sample_identifier(const char *ext,
    │ │ │ │ -   bool (*identifier)(ALLEGRO_FILE* fp))
    │ │ │ │ + bool (*identifier)(ALLEGRO_FILE* fp)) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Register an identify handler for al_identify_sample. The given │ │ │ │ function will be used to detect files for the given extension. It will │ │ │ │ be called with a single argument of type Returns true on success, false on error. Returns false if │ │ │ │ unregistering an entry that doesn’t exist.

    │ │ │ │

    Since: 5.2.8

    │ │ │ │

    See also: al_identify_bitmap

    │ │ │ │

    al_identify_sample

    │ │ │ │
    char const *al_identify_sample(char const *filename)
    │ │ │ │ -char const *al_identify_sample(char const *filename)
    │ │ │ │ +class="sourceCode c">char const *al_identify_sample(char const *filename) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This works exactly as al_identify_sample_f but you │ │ │ │ specify the filename of the file for which to detect the type and not a │ │ │ │ file handle. The extension, if any, of the passed filename is not taken │ │ │ │ @@ -2659,16 +2105,15 @@ │ │ │ │

    Since: 5.2.8

    │ │ │ │

    See also: al_init_acodec_addon, al_identify_sample_f, al_register_sample_identifier

    │ │ │ │

    al_identify_sample_f

    │ │ │ │
    char const *al_identify_sample_f(ALLEGRO_FILE *fp)
    │ │ │ │ -char const *al_identify_sample_f(ALLEGRO_FILE *fp)
    │ │ │ │ +class="sourceCode c">char const *al_identify_sample_f(ALLEGRO_FILE *fp) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Tries to guess the audio file type of the open ALLEGRO_FILE by │ │ │ │ reading the first few bytes. By default Allegro cannot recognize any │ │ │ │ file types, but calling al_init_acodec_addon will │ │ │ │ @@ -2690,36 +2135,27 @@ │ │ │ │ add a small amount of latency. However, for most applications that small │ │ │ │ overhead will not adversely affect performance.

    │ │ │ │

    Recording is supported by the ALSA, AudioQueue, DirectSound8, and │ │ │ │ PulseAudio drivers. Enumerating or choosing other recording devices is │ │ │ │ not yet supported.

    │ │ │ │

    ALLEGRO_AUDIO_RECORDER

    │ │ │ │
    typedef struct ALLEGRO_AUDIO_RECORDER ALLEGRO_AUDIO_RECORDER;
    │ │ │ │ -typedef struct ALLEGRO_AUDIO_RECORDER ALLEGRO_AUDIO_RECORDER;
    │ │ │ │ +class="sourceCode c">typedef struct ALLEGRO_AUDIO_RECORDER ALLEGRO_AUDIO_RECORDER; │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    An opaque datatype that represents a recording device.

    │ │ │ │

    Since: 5.1.1

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: The API may need a slight redesign.

    │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_AUDIO_RECORDER_EVENT

    │ │ │ │
    typedef struct ALLEGRO_AUDIO_RECORDER_EVENT ALLEGRO_AUDIO_RECORDER_EVENT;
    │ │ │ │ -typedef struct ALLEGRO_AUDIO_RECORDER_EVENT ALLEGRO_AUDIO_RECORDER_EVENT;
    │ │ │ │ +class="sourceCode c">typedef struct ALLEGRO_AUDIO_RECORDER_EVENT ALLEGRO_AUDIO_RECORDER_EVENT; │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Structure that holds the audio recorder event data. Every event type │ │ │ │ will contain:

    │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

    These functions are declared in the main Allegro header file:

    │ │ │ │
     #include <allegro5/allegro.h>
    │ │ │ │

    al_fixed

    │ │ │ │ -
    typedef int32_t al_fixed;
    │ │ │ │ -typedef int32_t al_fixed;
    │ │ │ │ +
    typedef int32_t al_fixed;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    A fixed point number.

    │ │ │ │

    Allegro provides some routines for working with fixed point numbers, │ │ │ │ and defines the type al_fixed to be a signed 32-bit │ │ │ │ integer. The high word is used for the integer part and the low word for │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -66,16 +66,14 @@ │ │ │ │ │ o al_fixatan2 │ │ │ │ │ o al_fixsqrt │ │ │ │ │ o al_fixhypot │ │ │ │ │ These functions are declared in the main Allegro header file: │ │ │ │ │ #include │ │ │ │ │ ****** al_fixed ****** │ │ │ │ │ typedef int32_t al_fixed; │ │ │ │ │ - │ │ │ │ │ -typedef int32_t al_fixed; │ │ │ │ │ Source_Code │ │ │ │ │ A fixed point number. │ │ │ │ │ Allegro provides some routines for working with fixed point numbers, and │ │ │ │ │ defines the type al_fixed to be a signed 32-bit integer. The high word is used │ │ │ │ │ for the integer part and the low word for the fraction, giving a range of - │ │ │ │ │ 32768 to 32767 and an accuracy of about four or five decimal places. Fixed │ │ │ │ │ point numbers can be assigned, compared, added, subtracted, negated and shifted │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/font.html │ │ │ │ @@ -283,38 +283,27 @@ │ │ │ │ │ │ │ │ │ │ │ │

    These functions are declared in the following header file. Link with │ │ │ │ allegro_font.

    │ │ │ │
     #include <allegro5/allegro_font.h>
    │ │ │ │

    General font routines

    │ │ │ │

    ALLEGRO_FONT

    │ │ │ │ -
    typedef struct ALLEGRO_FONT ALLEGRO_FONT;
    │ │ │ │ -typedef struct ALLEGRO_FONT ALLEGRO_FONT;
    │ │ │ │ +
    typedef struct ALLEGRO_FONT ALLEGRO_FONT;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    A handle identifying any kind of font. Usually you will create it │ │ │ │ with al_load_font which supports │ │ │ │ loading all kinds of TrueType fonts supported by the FreeType library. │ │ │ │ If you instead pass the filename of a bitmap file, it will be loaded │ │ │ │ with al_load_bitmap and a │ │ │ │ font in Allegro’s bitmap font format will be created from it with al_grab_font_from_bitmap.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_GLYPH

    │ │ │ │ -
    typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH;
    │ │ │ │ -typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH;
    │ │ │ │ +
    typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    A structure containing the properties of a character in a font.

    │ │ │ │
    typedef struct ALLEGRO_GLYPH {
    │ │ │ │     ALLEGRO_BITMAP *bitmap;   // the bitmap the character is on
    │ │ │ │     int x;                    // the x position of the glyph on bitmap
    │ │ │ │ @@ -339,22 +328,16 @@
    │ │ │ │  to the next character in a string and includes kerning.

    │ │ │ │

    Since: 5.2.1

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: This API is new and subject to refinement.

    │ │ │ │
    │ │ │ │

    See also: al_get_glyph

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_ttf.c
    • │ │ │ │ -
    │ │ │ │

    al_init_font_addon

    │ │ │ │ -
    bool al_init_font_addon(void)
    │ │ │ │ -bool al_init_font_addon(void)
    │ │ │ │ +
    bool al_init_font_addon(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Initialise the font addon.

    │ │ │ │

    Note that if you intend to load bitmap fonts, you will need to │ │ │ │ initialise allegro_image separately (unless you are using another │ │ │ │ library to load images).

    │ │ │ │ @@ -364,48 +347,36 @@ │ │ │ │ function has no return value. You may wish to avoid checking the return │ │ │ │ value if your code needs to be compatible with Allegro 5.0. Currently, │ │ │ │ the function will never return false.

    │ │ │ │

    See also: al_init_image_addon, al_init_ttf_addon, al_shutdown_font_addon

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_is_font_addon_initialized

    │ │ │ │ -
    bool al_is_font_addon_initialized(void)
    │ │ │ │ -bool al_is_font_addon_initialized(void)
    │ │ │ │ +
    bool al_is_font_addon_initialized(void)
    │ │ │ │

    Source │ │ │ │ -Code#Laddons/audio/kcm_mixer.c)

    │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/addons/font/font.c#L393">Source │ │ │ │ +Code

    │ │ │ │

    Returns true if the font addon is initialized, otherwise returns │ │ │ │ false.

    │ │ │ │

    Since: 5.2.6

    │ │ │ │

    See also: al_init_font_addon, al_shutdown_font_addon

    │ │ │ │

    al_shutdown_font_addon

    │ │ │ │ -
    void al_shutdown_font_addon(void)
    │ │ │ │ -void al_shutdown_font_addon(void)
    │ │ │ │ +
    void al_shutdown_font_addon(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Shut down the font addon. This is done automatically at program exit, │ │ │ │ but can be called any time the user wishes as well.

    │ │ │ │

    See also: al_init_font_addon

    │ │ │ │

    al_load_font

    │ │ │ │ -
    ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags)
    │ │ │ │ -ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags)
    │ │ │ │ +
    ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Loads a font from disk. This will use al_load_bitmap_font_flags │ │ │ │ if you pass the name of a known bitmap format, or else al_load_ttf_font.

    │ │ │ │ @@ -414,62 +385,40 @@ │ │ │ │ href="graphics.html#al_set_new_bitmap_flags">bitmap flags at the │ │ │ │ time the font is loaded.

    │ │ │ │

    See also: al_destroy_font, al_init_font_addon, al_register_font_loader, al_load_bitmap_font_flags, │ │ │ │ al_load_ttf_font

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_destroy_font

    │ │ │ │ -
    void al_destroy_font(ALLEGRO_FONT *f)
    │ │ │ │ -void al_destroy_font(ALLEGRO_FONT *f)
    │ │ │ │ +
    void al_destroy_font(ALLEGRO_FONT *f)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Frees the memory being used by a font structure. Does nothing if │ │ │ │ passed NULL.

    │ │ │ │

    See also: al_load_font

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_register_font_loader

    │ │ │ │
    bool al_register_font_loader(char const *extension,
    │ │ │ │ -   ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags))
    │ │ │ │ -bool al_register_font_loader(char const *extension,
    │ │ │ │ -   ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags))
    │ │ │ │ + ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags))
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Informs Allegro of a new font file type, telling it how to load files │ │ │ │ of this format.

    │ │ │ │

    The extension should include the leading dot (‘.’) │ │ │ │ character. It will be matched case-insensitively.

    │ │ │ │

    The load_font argument may be NULL to unregister an │ │ │ │ entry.

    │ │ │ │

    Returns true on success, false on error. Returns false if │ │ │ │ unregistering an entry that doesn’t exist.

    │ │ │ │

    See also: al_init_font_addon

    │ │ │ │

    al_get_font_line_height

    │ │ │ │ -
    int al_get_font_line_height(const ALLEGRO_FONT *f)
    │ │ │ │ -int al_get_font_line_height(const ALLEGRO_FONT *f)
    │ │ │ │ +
    int al_get_font_line_height(const ALLEGRO_FONT *f)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the usual height of a line of text in the specified font. For │ │ │ │ bitmap fonts this is simply the height of all glyph bitmaps. For │ │ │ │ truetype fonts it is whatever the font file specifies. In particular, │ │ │ │ some special glyphs may be higher than the height returned here.

    │ │ │ │ @@ -485,97 +434,57 @@ │ │ │ │ | | │ │ │ │ descent | │ │ │ │ | | │ │ │ │ ------------------------- │ │ │ │

    See also: al_get_text_width, al_get_text_dimensions

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_font_ascent

    │ │ │ │ -
    int al_get_font_ascent(const ALLEGRO_FONT *f)
    │ │ │ │ -int al_get_font_ascent(const ALLEGRO_FONT *f)
    │ │ │ │ +
    int al_get_font_ascent(const ALLEGRO_FONT *f)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the ascent of the specified font.

    │ │ │ │

    See also: al_get_font_descent, al_get_font_line_height

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_font_descent

    │ │ │ │ -
    int al_get_font_descent(const ALLEGRO_FONT *f)
    │ │ │ │ -int al_get_font_descent(const ALLEGRO_FONT *f)
    │ │ │ │ +
    int al_get_font_descent(const ALLEGRO_FONT *f)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the descent of the specified font.

    │ │ │ │

    See also: al_get_font_ascent, al_get_font_line_height

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_text_width

    │ │ │ │ -
    int al_get_text_width(const ALLEGRO_FONT *f, const char *str)
    │ │ │ │ -int al_get_text_width(const ALLEGRO_FONT *f, const char *str)
    │ │ │ │ +
    int al_get_text_width(const ALLEGRO_FONT *f, const char *str)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Calculates the length of a string in a particular font, in │ │ │ │ pixels.

    │ │ │ │

    See also: al_get_ustr_width, al_get_font_line_height, al_get_text_dimensions

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_ustr_width

    │ │ │ │ -
    int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr)
    │ │ │ │ -int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr)
    │ │ │ │ +
    int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_get_text_width but │ │ │ │ expects an ALLEGRO_USTR.

    │ │ │ │

    See also: al_get_text_width, al_get_ustr_dimensions

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_text

    │ │ │ │
    void al_draw_text(const ALLEGRO_FONT *font,
    │ │ │ │     ALLEGRO_COLOR color, float x, float y, int flags,
    │ │ │ │ -   char const *text) 
    │ │ │ │ -void al_draw_text(const ALLEGRO_FONT *font,
    │ │ │ │ -   ALLEGRO_COLOR color, float x, float y, int flags,
    │ │ │ │ -   char const *text) 
    │ │ │ │ + char const *text) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Writes the NUL-terminated string text onto the target │ │ │ │ bitmap at position x, y, using the specified │ │ │ │ font.

    │ │ │ │

    The flags parameter can be 0 or one of the following │ │ │ │ @@ -597,55 +506,31 @@ │ │ │ │ but you can use al_draw_multiline_text for │ │ │ │ multi line text output.

    │ │ │ │

    See also: al_draw_ustr, al_draw_textf, al_draw_justified_text, al_draw_multiline_text.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_ustr

    │ │ │ │
    void al_draw_ustr(const ALLEGRO_FONT *font,
    │ │ │ │     ALLEGRO_COLOR color, float x, float y, int flags,
    │ │ │ │ -   const ALLEGRO_USTR *ustr) 
    │ │ │ │ -void al_draw_ustr(const ALLEGRO_FONT *font,
    │ │ │ │ -   ALLEGRO_COLOR color, float x, float y, int flags,
    │ │ │ │ -   const ALLEGRO_USTR *ustr) 
    │ │ │ │ + const ALLEGRO_USTR *ustr) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_draw_text, except the │ │ │ │ text is passed as an ALLEGRO_USTR instead of a NUL-terminated char │ │ │ │ array.

    │ │ │ │

    See also: al_draw_text, al_draw_justified_ustr, al_draw_multiline_ustr

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_justified_text

    │ │ │ │
    void al_draw_justified_text(const ALLEGRO_FONT *font,
    │ │ │ │     ALLEGRO_COLOR color, float x1, float x2,
    │ │ │ │ -   float y, float diff, int flags, const char *text)
    │ │ │ │ -void al_draw_justified_text(const ALLEGRO_FONT *font,
    │ │ │ │ -   ALLEGRO_COLOR color, float x1, float x2,
    │ │ │ │ -   float y, float diff, int flags, const char *text)
    │ │ │ │ + float y, float diff, int flags, const char *text) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_draw_text, but justifies │ │ │ │ the string to the region x1-x2.

    │ │ │ │

    The diff parameter is the maximum amount of horizontal │ │ │ │ space to allow between words. If justisfying the text would exceed │ │ │ │ @@ -656,84 +541,58 @@ │ │ │ │

    │ │ │ │

    See also: al_draw_justified_textf, al_draw_justified_ustr

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_justified_ustr

    │ │ │ │
    void al_draw_justified_ustr(const ALLEGRO_FONT *font,
    │ │ │ │     ALLEGRO_COLOR color, float x1, float x2,
    │ │ │ │ -   float y, float diff, int flags, const ALLEGRO_USTR *ustr)
    │ │ │ │ -void al_draw_justified_ustr(const ALLEGRO_FONT *font,
    │ │ │ │ -   ALLEGRO_COLOR color, float x1, float x2,
    │ │ │ │ -   float y, float diff, int flags, const ALLEGRO_USTR *ustr)
    │ │ │ │ + float y, float diff, int flags, const ALLEGRO_USTR *ustr) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_draw_justified_text, │ │ │ │ except the text is passed as an ALLEGRO_USTR instead of a NUL-terminated │ │ │ │ char array.

    │ │ │ │

    See also: al_draw_justified_text, al_draw_justified_textf.

    │ │ │ │

    al_draw_textf

    │ │ │ │
    void al_draw_textf(const ALLEGRO_FONT *font, ALLEGRO_COLOR color,
    │ │ │ │     float x, float y, int flags,
    │ │ │ │ -   const char *format, ...)
    │ │ │ │ -void al_draw_textf(const ALLEGRO_FONT *font, ALLEGRO_COLOR color,
    │ │ │ │ -   float x, float y, int flags,
    │ │ │ │ -   const char *format, ...)
    │ │ │ │ + const char *format, ...) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Formatted text output, using a printf() style format string. All │ │ │ │ parameters have the same meaning as with al_draw_text otherwise.

    │ │ │ │

    See also: al_draw_text, al_draw_ustr

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_justified_textf

    │ │ │ │
    void al_draw_justified_textf(const ALLEGRO_FONT *f,
    │ │ │ │     ALLEGRO_COLOR color, float x1, float x2, float y,
    │ │ │ │ -   float diff, int flags, const char *format, ...)
    │ │ │ │ -void al_draw_justified_textf(const ALLEGRO_FONT *f,
    │ │ │ │ -   ALLEGRO_COLOR color, float x1, float x2, float y,
    │ │ │ │ -   float diff, int flags, const char *format, ...)
    │ │ │ │ + float diff, int flags, const char *format, ...) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Formatted text output, using a printf() style format string. All │ │ │ │ parameters have the same meaning as with al_draw_justified_text │ │ │ │ otherwise.

    │ │ │ │

    See also: al_draw_justified_text, al_draw_justified_ustr.

    │ │ │ │

    al_get_text_dimensions

    │ │ │ │
    void al_get_text_dimensions(const ALLEGRO_FONT *f,
    │ │ │ │     char const *text,
    │ │ │ │ -   int *bbx, int *bby, int *bbw, int *bbh)
    │ │ │ │ -void al_get_text_dimensions(const ALLEGRO_FONT *f,
    │ │ │ │ -   char const *text,
    │ │ │ │ -   int *bbx, int *bby, int *bbw, int *bbh)
    │ │ │ │ + int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sometimes, the al_get_text_width and al_get_font_line_height │ │ │ │ functions are not enough for exact text placement, so this function │ │ │ │ @@ -745,48 +604,36 @@ │ │ │ │ │ │ │ │

    Note that glyphs may go to the left and upwards of the X, in which │ │ │ │ case x and y will have negative values.

    │ │ │ │

    See also: al_get_text_width, al_get_font_line_height, al_get_ustr_dimensions

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_ustr_dimensions

    │ │ │ │
    void al_get_ustr_dimensions(const ALLEGRO_FONT *f,
    │ │ │ │     ALLEGRO_USTR const *ustr,
    │ │ │ │ -   int *bbx, int *bby, int *bbw, int *bbh)
    │ │ │ │ -void al_get_ustr_dimensions(const ALLEGRO_FONT *f,
    │ │ │ │ -   ALLEGRO_USTR const *ustr,
    │ │ │ │ -   int *bbx, int *bby, int *bbw, int *bbh)
    │ │ │ │ + int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_get_text_dimensions, │ │ │ │ except the text is passed as an ALLEGRO_USTR instead of a NUL-terminated │ │ │ │ char array.

    │ │ │ │

    See also: al_get_text_dimensions

    │ │ │ │

    al_get_allegro_font_version

    │ │ │ │ -
    uint32_t al_get_allegro_font_version(void)
    │ │ │ │ -uint32_t al_get_allegro_font_version(void)
    │ │ │ │ +
    uint32_t al_get_allegro_font_version(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    │ │ │ │

    al_get_font_ranges

    │ │ │ │ -
    int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges)
    │ │ │ │ -int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges)
    │ │ │ │ +
    int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Gets information about all glyphs contained in a font, as a list of │ │ │ │ ranges. Ranges have the same format as with al_grab_font_from_bitmap.

    │ │ │ │

    ranges_count is the maximum number of ranges that will │ │ │ │ @@ -796,41 +643,29 @@ │ │ │ │ unicode point in a range, the odd integers the last unicode point in a │ │ │ │ range.

    │ │ │ │

    Returns the number of ranges contained in the font (even if it is │ │ │ │ bigger than ranges_count).

    │ │ │ │

    Since: 5.1.4

    │ │ │ │

    See also: al_grab_font_from_bitmap

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_fallback_font

    │ │ │ │ -
    void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback)
    │ │ │ │ -void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback)
    │ │ │ │ +
    void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets a font which is used instead if a character is not present. Can │ │ │ │ be chained, but make sure there is no loop as that would crash the │ │ │ │ application! Pass NULL to remove a fallback font again.

    │ │ │ │

    Since: 5.1.12

    │ │ │ │

    See also: al_get_fallback_font, al_draw_glyph, al_draw_text

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_fallback_font

    │ │ │ │ -
    ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font)
    │ │ │ │ -ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font)
    │ │ │ │ +
    ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Retrieves the fallback font for this font or NULL.

    │ │ │ │

    Since: 5.1.12

    │ │ │ │

    See also: al_set_fallback_font

    │ │ │ │ @@ -844,17 +679,15 @@ │ │ │ │

    And it’s also possible to get the kerning to use between two glyphs. │ │ │ │ These per glyph functions have less overhead than Allegro’s per string │ │ │ │ text drawing and dimensioning functions. So, with these functions you │ │ │ │ can write your own efficient and precise custom text drawing │ │ │ │ functions.

    │ │ │ │

    al_draw_glyph

    │ │ │ │
    void al_draw_glyph(const ALLEGRO_FONT *f, ALLEGRO_COLOR color, float x, float y,
    │ │ │ │ -   int codepoint)
    │ │ │ │ -void al_draw_glyph(const ALLEGRO_FONT *f, ALLEGRO_COLOR color, float x, float y,
    │ │ │ │ -   int codepoint)
    │ │ │ │ + int codepoint) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws the glyph that corresponds with codepoint in the │ │ │ │ given color using the given font. If │ │ │ │ font does not have such a glyph, nothing will be drawn.

    │ │ │ │

    To draw a string as left to right horizontal text you will need to │ │ │ │ @@ -870,39 +703,29 @@ │ │ │ │ again with false as a parameter when done drawing the glyphs to further │ │ │ │ enhance performance.

    │ │ │ │

    Since: 5.1.12

    │ │ │ │

    See also: al_get_glyph_width, al_get_glyph_dimensions, al_get_glyph_advance.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_glyph_width

    │ │ │ │ -
    int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint)
    │ │ │ │ -int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint)
    │ │ │ │ +
    int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint)
    │ │ │ │

    Source │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/addons/font/text.c#L385">Source │ │ │ │ Code

    │ │ │ │

    This function returns the width in pixels of the glyph that │ │ │ │ corresponds with codepoint in the font font. │ │ │ │ Returns zero if the font does not have such a glyph.

    │ │ │ │

    Since: 5.1.12

    │ │ │ │

    See also: al_draw_glyph, al_get_glyph_dimensions, al_get_glyph_advance.

    │ │ │ │

    al_get_glyph_dimensions

    │ │ │ │
    bool al_get_glyph_dimensions(const ALLEGRO_FONT *f,
    │ │ │ │ -   int codepoint, int *bbx, int *bby, int *bbw, int *bbh)
    │ │ │ │ -bool al_get_glyph_dimensions(const ALLEGRO_FONT *f,
    │ │ │ │ -   int codepoint, int *bbx, int *bby, int *bbw, int *bbh)
    │ │ │ │ + int codepoint, int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sometimes, the al_get_glyph_width or al_get_glyph_advance functions │ │ │ │ are not enough for exact glyph placement, so this function returns some │ │ │ │ @@ -950,22 +773,16 @@ │ │ │ │ | | * *| │ │ │ │ v | **** | │ │ │ │ +---+-------+ │ │ │ │

    Since: 5.1.12

    │ │ │ │

    See also: al_draw_glyph, al_get_glyph_width, al_get_glyph_advance.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_glyph_advance

    │ │ │ │ -
    int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2)
    │ │ │ │ -int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2)
    │ │ │ │ +
    int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This function returns by how much the x position should be advanced │ │ │ │ for left to right text drawing when the glyph that corresponds to │ │ │ │ codepoint1 has been drawn, and the glyph that corresponds to codepoint2 │ │ │ │ will be the next to be drawn. This takes into consideration the │ │ │ │ @@ -1025,29 +842,19 @@ │ │ │ │ / \ | │ │ │ │ / \ \_ │ │ │ │ --------------- │ │ │ │

    Since: 5.1.12

    │ │ │ │

    See also: al_draw_glyph, al_get_glyph_width, al_get_glyph_dimensions.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Multiline text drawing

    │ │ │ │

    al_draw_multiline_text

    │ │ │ │
    void al_draw_multiline_text(const ALLEGRO_FONT *font,
    │ │ │ │       ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,
    │ │ │ │ -     int flags, const char *text)
    │ │ │ │ -void al_draw_multiline_text(const ALLEGRO_FONT *font,
    │ │ │ │ -     ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,
    │ │ │ │ -     int flags, const char *text)
    │ │ │ │ + int flags, const char *text) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_draw_text, but this │ │ │ │ function supports drawing multiple lines of text. It will break │ │ │ │ text in lines based on its contents and the │ │ │ │ max_width parameter. The lines are then layed out │ │ │ │ @@ -1089,28 +896,18 @@ │ │ │ │ layout, you can use al_do_multiline_text.

    │ │ │ │

    Since: 5.1.9

    │ │ │ │

    See also: al_do_multiline_text, al_draw_multiline_ustr, al_draw_multiline_textf

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_multiline_ustr

    │ │ │ │
    void al_draw_multiline_ustr(const ALLEGRO_FONT *font,
    │ │ │ │       ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,
    │ │ │ │ -     int flags, const ALLEGRO_USTR *ustr)
    │ │ │ │ -void al_draw_multiline_ustr(const ALLEGRO_FONT *font,
    │ │ │ │ -     ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,
    │ │ │ │ -     int flags, const ALLEGRO_USTR *ustr)
    │ │ │ │ + int flags, const ALLEGRO_USTR *ustr) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_draw_multiline_text, │ │ │ │ except the text is passed as an ALLEGRO_USTR instead of a NUL-terminated │ │ │ │ char array.

    │ │ │ │ @@ -1118,44 +915,32 @@ │ │ │ │

    See also: al_draw_multiline_text, al_draw_multiline_textf, al_do_multiline_text

    │ │ │ │

    al_draw_multiline_textf

    │ │ │ │
    void al_draw_multiline_textf(const ALLEGRO_FONT *font,
    │ │ │ │       ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,
    │ │ │ │ -     int flags, const char *format, ...)
    │ │ │ │ -void al_draw_multiline_textf(const ALLEGRO_FONT *font,
    │ │ │ │ -     ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,
    │ │ │ │ -     int flags, const char *format, ...)
    │ │ │ │ + int flags, const char *format, ...) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Formatted text output, using a printf() style format string. All │ │ │ │ parameters have the same meaning as with al_draw_multiline_text │ │ │ │ otherwise.

    │ │ │ │

    Since: 5.1.9

    │ │ │ │

    See also: al_draw_multiline_text, al_draw_multiline_ustr, al_do_multiline_text

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_do_multiline_text

    │ │ │ │
    void al_do_multiline_text(const ALLEGRO_FONT *font,
    │ │ │ │     float max_width, const char *text,
    │ │ │ │     bool (*cb)(int line_num, const char *line, int size, void *extra),
    │ │ │ │ -   void *extra)
    │ │ │ │ -void al_do_multiline_text(const ALLEGRO_FONT *font,
    │ │ │ │ -   float max_width, const char *text,
    │ │ │ │ -   bool (*cb)(int line_num, const char *line, int size, void *extra),
    │ │ │ │ -   void *extra)
    │ │ │ │ + void *extra) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This function processes the text and splits it into │ │ │ │ lines as al_draw_multiline_text │ │ │ │ would, and then calls the callback cb once for every line. │ │ │ │ @@ -1185,43 +970,32 @@ │ │ │ │ guaranteed to be valid after that.

    │ │ │ │

    If the callback cb returns false, al_do_multiline_text │ │ │ │ will stop immediately, otherwise it will continue on to the next │ │ │ │ line.

    │ │ │ │

    Since: 5.1.9

    │ │ │ │

    See also: al_draw_multiline_text

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_do_multiline_ustr

    │ │ │ │
    void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width,
    │ │ │ │     const ALLEGRO_USTR *ustr,
    │ │ │ │     bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra),
    │ │ │ │ -   void *extra)
    │ │ │ │ -void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width,
    │ │ │ │ -   const ALLEGRO_USTR *ustr,
    │ │ │ │ -   bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra),
    │ │ │ │ -   void *extra)
    │ │ │ │ + void *extra) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_do_multiline_text, but │ │ │ │ using ALLEGRO_USTR instead of a NUL-terminated char array for text.

    │ │ │ │

    Since: 5.1.9

    │ │ │ │

    See also: al_draw_multiline_ustr

    │ │ │ │

    Bitmap fonts

    │ │ │ │

    al_grab_font_from_bitmap

    │ │ │ │
    ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp,
    │ │ │ │ -   int ranges_n, const int ranges[])
    │ │ │ │ -ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp,
    │ │ │ │ -   int ranges_n, const int ranges[])
    │ │ │ │ + int ranges_n, const int ranges[]) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Creates a new font from an Allegro bitmap. You can delete the bitmap │ │ │ │ after the function returns as the font will contain a copy for │ │ │ │ itself.

    │ │ │ │

    Parameters:

    │ │ │ │ @@ -1270,24 +1044,16 @@ │ │ │ │ glyphs found in the bitmap to ASCII range, the next 95 glyphs to Latin │ │ │ │ 1, the next 128 glyphs to Extended-A, and the last glyph to the Euro │ │ │ │ character. (This is just the characters found in the Allegro 4 │ │ │ │ font.)

    │ │ │ │

    See also: al_load_bitmap, │ │ │ │ al_grab_font_from_bitmap

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_load_bitmap_font

    │ │ │ │ -
    ALLEGRO_FONT *al_load_bitmap_font(const char *fname)
    │ │ │ │ -ALLEGRO_FONT *al_load_bitmap_font(const char *fname)
    │ │ │ │ +
    ALLEGRO_FONT *al_load_bitmap_font(const char *fname)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Load a bitmap font from a file. This is done by first calling al_load_bitmap_flags and │ │ │ │ then al_grab_font_from_bitmap.

    │ │ │ │ @@ -1296,26 +1062,16 @@ │ │ │ │ href="graphics.html#al_convert_mask_to_alpha">al_convert_mask_to_alpha │ │ │ │ on it before passing it to al_grab_font_from_bitmap.

    │ │ │ │

    See also: al_load_bitmap_font_flags, │ │ │ │ al_load_font, al_load_bitmap_flags

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_load_bitmap_font_flags

    │ │ │ │ -
    ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags)
    │ │ │ │ -ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags)
    │ │ │ │ +
    ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_load_bitmap_font │ │ │ │ but additionally takes a flags parameter which is a bitfield containing │ │ │ │ a combination of the following:

    │ │ │ │
    │ │ │ │ @@ -1325,16 +1081,15 @@ │ │ │ │ href="graphics.html#al_load_bitmap_flags">al_load_bitmap_flags. │ │ │ │ │ │ │ │
    │ │ │ │

    See also: al_load_bitmap_font, al_load_bitmap_flags

    │ │ │ │

    al_create_builtin_font

    │ │ │ │ -
    ALLEGRO_FONT *al_create_builtin_font(void)
    │ │ │ │ -ALLEGRO_FONT *al_create_builtin_font(void)
    │ │ │ │ +
    ALLEGRO_FONT *al_create_builtin_font(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Creates a monochrome bitmap font (8x8 pixels per character).

    │ │ │ │

    This font is primarily intended to be used for displaying information │ │ │ │ in environments or during early runtime states where no external font │ │ │ │ data is available or loaded (e.g. for debugging).

    │ │ │ │ @@ -1346,74 +1101,40 @@ │ │ │ │

    Returns NULL on an error.

    │ │ │ │

    The font memory must be freed the same way as for any other font, │ │ │ │ using al_destroy_font.

    │ │ │ │

    Since: 5.0.8, 5.1.3

    │ │ │ │

    See also: al_load_bitmap_font, al_destroy_font

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    TTF fonts

    │ │ │ │

    These functions are declared in the following header file. Link with │ │ │ │ allegro_ttf.

    │ │ │ │
     #include <allegro5/allegro_ttf.h>
    │ │ │ │

    al_init_ttf_addon

    │ │ │ │ -
    bool al_init_ttf_addon(void)
    │ │ │ │ -bool al_init_ttf_addon(void)
    │ │ │ │ -

    Source │ │ │ │ -Code

    │ │ │ │ +

    Source Code

    │ │ │ │

    Call this after al_init_font_addon to make al_load_font recognize “.ttf” and │ │ │ │ other formats supported by al_load_ttf_font.

    │ │ │ │

    Returns true on success, false on failure.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_is_ttf_addon_initialized

    │ │ │ │ -
    bool al_is_ttf_addon_initialized(void)
    │ │ │ │ -bool al_is_ttf_addon_initialized(void)
    │ │ │ │ -

    Source │ │ │ │ -Code

    │ │ │ │ +

    Source Code

    │ │ │ │

    Returns true if the TTF addon is initialized, otherwise returns │ │ │ │ false.

    │ │ │ │

    Since: 5.2.6

    │ │ │ │

    See also: al_init_ttf_addon, al_shutdown_ttf_addon

    │ │ │ │

    al_shutdown_ttf_addon

    │ │ │ │ -
    void al_shutdown_ttf_addon(void)
    │ │ │ │ -void al_shutdown_ttf_addon(void)
    │ │ │ │ -

    Source │ │ │ │ -Code

    │ │ │ │ +

    Source Code

    │ │ │ │

    Unloads the ttf addon again. You normally don’t need to call │ │ │ │ this.

    │ │ │ │

    al_load_ttf_font

    │ │ │ │ -
    ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags)
    │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags)
    │ │ │ │ -

    Source │ │ │ │ -Code

    │ │ │ │ +

    Source Code

    │ │ │ │

    Loads a TrueType font from a file using the FreeType library. Quoting │ │ │ │ from the FreeType FAQ this means support for many different font │ │ │ │ formats:

    │ │ │ │

    TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF, │ │ │ │ and others

    │ │ │ │

    The size parameter determines the size the font will be │ │ │ │ rendered at, specified in pixels. The standard font size is measured in │ │ │ │ @@ -1432,47 +1153,26 @@ │ │ │ │

  • ALLEGRO_TTF_NO_AUTOHINT - Disable the Auto Hinter which is │ │ │ │ enabled by default in newer versions of FreeType. Since: 5.0.6, │ │ │ │ 5.1.2

  • │ │ │ │ │ │ │ │

    See also: al_init_ttf_addon, al_load_ttf_font_f

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_load_ttf_font_f

    │ │ │ │ -
    ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,
    │ │ │ │ -    char const *filename, int size, int flags)
    │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,
    │ │ │ │ -    char const *filename, int size, int flags)
    │ │ │ │ -

    Source │ │ │ │ -Code

    │ │ │ │ +

    Source Code

    │ │ │ │

    Like al_load_ttf_font, but │ │ │ │ the font is read from the file handle. The filename is only used to find │ │ │ │ possible additional files next to a font file.

    │ │ │ │
    │ │ │ │

    Note: The file handle is owned by the returned ALLEGRO_FONT │ │ │ │ object and must not be freed by the caller, as FreeType expects to be │ │ │ │ able to read from it at a later time.

    │ │ │ │
    │ │ │ │

    al_load_ttf_font_stretch

    │ │ │ │ -
    ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h,
    │ │ │ │ -   int flags)
    │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h,
    │ │ │ │ -   int flags)
    │ │ │ │ -

    Source │ │ │ │ -Code

    │ │ │ │ +

    Source Code

    │ │ │ │

    Like al_load_ttf_font, │ │ │ │ except it takes separate width and height parameters instead of a single │ │ │ │ size parameter.

    │ │ │ │

    If the height is a positive value, and the width zero or positive, │ │ │ │ then font will be stretched according to those parameters. The width │ │ │ │ must not be negative if the height is positive.

    │ │ │ │

    As with al_load_ttf_font, │ │ │ │ @@ -1481,44 +1181,33 @@ │ │ │ │

    Returns NULL if the height is positive while width is │ │ │ │ negative, or if the height is negative while the width is positive.

    │ │ │ │

    Since: 5.0.6, 5.1.0

    │ │ │ │

    See also: al_load_ttf_font, │ │ │ │ al_load_ttf_font_stretch_f

    │ │ │ │

    al_load_ttf_font_stretch_f

    │ │ │ │ -
    ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file,
    │ │ │ │ -    char const *filename, int w, int h, int flags)
    │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file,
    │ │ │ │ -    char const *filename, int w, int h, int flags)
    │ │ │ │ -

    Source │ │ │ │ -Code

    │ │ │ │ +

    Source Code

    │ │ │ │

    Like al_load_ttf_font_stretch, │ │ │ │ but the font is read from the file handle. The filename is only used to │ │ │ │ find possible additional files next to a font file.

    │ │ │ │
    │ │ │ │

    Note: The file handle is owned by the returned ALLEGRO_FONT │ │ │ │ object and must not be freed by the caller, as FreeType expects to be │ │ │ │ able to read from it at a later time.

    │ │ │ │
    │ │ │ │

    Since: 5.0.6, 5.1.0

    │ │ │ │

    See also: al_load_ttf_font_stretch

    │ │ │ │

    al_get_allegro_ttf_version

    │ │ │ │ -
    uint32_t al_get_allegro_ttf_version(void)
    │ │ │ │ -uint32_t al_get_allegro_ttf_version(void)
    │ │ │ │ -

    Source │ │ │ │ -Code

    │ │ │ │ +

    Source Code

    │ │ │ │

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    │ │ │ │

    al_get_glyph

    │ │ │ │ -
    bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint, ALLEGRO_GLYPH *glyph)
    │ │ │ │ -bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint, ALLEGRO_GLYPH *glyph)
    │ │ │ │ +
    bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint, ALLEGRO_GLYPH *glyph)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Gets all the information about a glyph, including the bitmap, needed │ │ │ │ to draw it yourself. prev_codepoint is the codepoint in the string │ │ │ │ before the one you want to draw and is used for kerning. codepoint is │ │ │ │ the character you want to get info about. You should clear the ‘glyph’ │ │ │ │ @@ -1526,21 +1215,11 @@ │ │ │ │ compatibility.

    │ │ │ │

    Since: 5.2.1

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: This API is new and subject to refinement.

    │ │ │ │
    │ │ │ │

    See also: ALLEGRO_GLYPH

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │ -

    │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

    │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -97,30 +97,22 @@ │ │ │ │ │ o al_get_glyph │ │ │ │ │ These functions are declared in the following header file. Link with allegro_ │ │ │ │ │ font. │ │ │ │ │ #include │ │ │ │ │ ****** General font routines ****** │ │ │ │ │ ***** ALLEGRO_FONT ***** │ │ │ │ │ typedef struct ALLEGRO_FONT ALLEGRO_FONT; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_FONT ALLEGRO_FONT; │ │ │ │ │ Source_Code │ │ │ │ │ A handle identifying any kind of font. Usually you will create it with al_load_ │ │ │ │ │ font which supports loading all kinds of TrueType fonts supported by the │ │ │ │ │ FreeType library. If you instead pass the filename of a bitmap file, it will be │ │ │ │ │ loaded with al_load_bitmap and a font in Allegro’s bitmap font format will be │ │ │ │ │ created from it with al_grab_font_from_bitmap. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_disable_screensaver.c │ │ │ │ │ - * ex_font_justify.cpp │ │ │ │ │ - * ex_timedwait.c │ │ │ │ │ ***** ALLEGRO_GLYPH ***** │ │ │ │ │ typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH; │ │ │ │ │ Source_Code │ │ │ │ │ A structure containing the properties of a character in a font. │ │ │ │ │ typedef struct ALLEGRO_GLYPH { │ │ │ │ │ │ │ │ │ │ ALLEGRO_BITMAP *bitmap; // the bitmap the character is on │ │ │ │ │ │ │ │ │ │ int x; // the x position of the glyph on bitmap │ │ │ │ │ @@ -149,99 +141,69 @@ │ │ │ │ │ Glyphs are tightly packed onto the bitmap, so you need to add offset_x and │ │ │ │ │ offset_y to your draw position for the text to look right. │ │ │ │ │ advance is the number of pixels to add to your x position to advance to the │ │ │ │ │ next character in a string and includes kerning. │ │ │ │ │ Since: 5.2.1 │ │ │ │ │ Unstable_API: This API is new and subject to refinement. │ │ │ │ │ See also: al_get_glyph │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ***** al_init_font_addon ***** │ │ │ │ │ bool al_init_font_addon(void) │ │ │ │ │ - │ │ │ │ │ -bool al_init_font_addon(void) │ │ │ │ │ Source_Code │ │ │ │ │ Initialise the font addon. │ │ │ │ │ Note that if you intend to load bitmap fonts, you will need to initialise │ │ │ │ │ allegro_image separately (unless you are using another library to load images). │ │ │ │ │ Similarly, if you wish to load truetype-fonts, do not forget to also call al_ │ │ │ │ │ init_ttf_addon. │ │ │ │ │ Returns true on success, false on failure. On the 5.0 branch, this function has │ │ │ │ │ no return value. You may wish to avoid checking the return value if your code │ │ │ │ │ needs to be compatible with Allegro 5.0. Currently, the function will never │ │ │ │ │ return false. │ │ │ │ │ See also: al_init_image_addon, al_init_ttf_addon, al_shutdown_font_addon │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_disable_screensaver.c │ │ │ │ │ - * ex_font_justify.cpp │ │ │ │ │ - * ex_timedwait.c │ │ │ │ │ ***** al_is_font_addon_initialized ***** │ │ │ │ │ bool al_is_font_addon_initialized(void) │ │ │ │ │ - │ │ │ │ │ -bool al_is_font_addon_initialized(void) │ │ │ │ │ -Source_Code#Laddons/audio/kcm_mixer.c) │ │ │ │ │ +Source_Code │ │ │ │ │ Returns true if the font addon is initialized, otherwise returns false. │ │ │ │ │ Since: 5.2.6 │ │ │ │ │ See also: al_init_font_addon, al_shutdown_font_addon │ │ │ │ │ ***** al_shutdown_font_addon ***** │ │ │ │ │ void al_shutdown_font_addon(void) │ │ │ │ │ - │ │ │ │ │ -void al_shutdown_font_addon(void) │ │ │ │ │ Source_Code │ │ │ │ │ Shut down the font addon. This is done automatically at program exit, but can │ │ │ │ │ be called any time the user wishes as well. │ │ │ │ │ See also: al_init_font_addon │ │ │ │ │ ***** al_load_font ***** │ │ │ │ │ ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Loads a font from disk. This will use al_load_bitmap_font_flags if you pass the │ │ │ │ │ name of a known bitmap format, or else al_load_ttf_font. │ │ │ │ │ The flags parameter is passed through to either of those functions. Bitmap and │ │ │ │ │ TTF fonts are also affected by the current bitmap_flags at the time the font is │ │ │ │ │ loaded. │ │ │ │ │ See also: al_destroy_font, al_init_font_addon, al_register_font_loader, al_ │ │ │ │ │ load_bitmap_font_flags, al_load_ttf_font │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font_justify.cpp │ │ │ │ │ - * ex_membmp.c │ │ │ │ │ - * ex_window_title.c │ │ │ │ │ ***** al_destroy_font ***** │ │ │ │ │ void al_destroy_font(ALLEGRO_FONT *f) │ │ │ │ │ - │ │ │ │ │ -void al_destroy_font(ALLEGRO_FONT *f) │ │ │ │ │ Source_Code │ │ │ │ │ Frees the memory being used by a font structure. Does nothing if passed NULL. │ │ │ │ │ See also: al_load_font │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_disable_screensaver.c │ │ │ │ │ - * ex_font_justify.cpp │ │ │ │ │ - * ex_cpu.c │ │ │ │ │ ***** al_register_font_loader ***** │ │ │ │ │ bool al_register_font_loader(char const *extension, │ │ │ │ │ │ │ │ │ │ ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags)) │ │ │ │ │ - │ │ │ │ │ -bool al_register_font_loader(char const *extension, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags)) │ │ │ │ │ Source_Code │ │ │ │ │ Informs Allegro of a new font file type, telling it how to load files of this │ │ │ │ │ format. │ │ │ │ │ The extension should include the leading dot (‘.’) character. It will be │ │ │ │ │ matched case-insensitively. │ │ │ │ │ The load_font argument may be NULL to unregister an entry. │ │ │ │ │ Returns true on success, false on error. Returns false if unregistering an │ │ │ │ │ entry that doesn’t exist. │ │ │ │ │ See also: al_init_font_addon │ │ │ │ │ ***** al_get_font_line_height ***** │ │ │ │ │ int al_get_font_line_height(const ALLEGRO_FONT *f) │ │ │ │ │ - │ │ │ │ │ -int al_get_font_line_height(const ALLEGRO_FONT *f) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the usual height of a line of text in the specified font. For bitmap │ │ │ │ │ fonts this is simply the height of all glyph bitmaps. For truetype fonts it is │ │ │ │ │ whatever the font file specifies. In particular, some special glyphs may be │ │ │ │ │ higher than the height returned here. │ │ │ │ │ If the X is the position you specify to draw text, the meaning of ascent and │ │ │ │ │ descent and the line height is like in the figure below. │ │ │ │ │ @@ -253,262 +215,163 @@ │ │ │ │ │ / \ | height │ │ │ │ │ ---------------- | │ │ │ │ │ | | │ │ │ │ │ descent | │ │ │ │ │ | | │ │ │ │ │ ------------------------- │ │ │ │ │ See also: al_get_text_width, al_get_text_dimensions │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font_justify.cpp │ │ │ │ │ - * ex_membmp.c │ │ │ │ │ - * ex_mouse_warp.c │ │ │ │ │ ***** al_get_font_ascent ***** │ │ │ │ │ int al_get_font_ascent(const ALLEGRO_FONT *f) │ │ │ │ │ - │ │ │ │ │ -int al_get_font_ascent(const ALLEGRO_FONT *f) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the ascent of the specified font. │ │ │ │ │ See also: al_get_font_descent, al_get_font_line_height │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ***** al_get_font_descent ***** │ │ │ │ │ int al_get_font_descent(const ALLEGRO_FONT *f) │ │ │ │ │ - │ │ │ │ │ -int al_get_font_descent(const ALLEGRO_FONT *f) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the descent of the specified font. │ │ │ │ │ See also: al_get_font_ascent, al_get_font_line_height │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ***** al_get_text_width ***** │ │ │ │ │ int al_get_text_width(const ALLEGRO_FONT *f, const char *str) │ │ │ │ │ - │ │ │ │ │ -int al_get_text_width(const ALLEGRO_FONT *f, const char *str) │ │ │ │ │ Source_Code │ │ │ │ │ Calculates the length of a string in a particular font, in pixels. │ │ │ │ │ See also: al_get_ustr_width, al_get_font_line_height, al_get_text_dimensions │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_display_options.c │ │ │ │ │ - * ex_record_name.c │ │ │ │ │ - * ex_color_gradient.c │ │ │ │ │ ***** al_get_ustr_width ***** │ │ │ │ │ int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr) │ │ │ │ │ - │ │ │ │ │ -int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_get_text_width but expects an ALLEGRO_USTR. │ │ │ │ │ See also: al_get_text_width, al_get_ustr_dimensions │ │ │ │ │ -Examples: │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ ***** al_draw_text ***** │ │ │ │ │ void al_draw_text(const ALLEGRO_FONT *font, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color, float x, float y, int flags, │ │ │ │ │ │ │ │ │ │ char const *text) │ │ │ │ │ - │ │ │ │ │ -void al_draw_text(const ALLEGRO_FONT *font, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color, float x, float y, int flags, │ │ │ │ │ - │ │ │ │ │ - char const *text) │ │ │ │ │ Source_Code │ │ │ │ │ Writes the NUL-terminated string text onto the target bitmap at position x, y, │ │ │ │ │ using the specified font. │ │ │ │ │ The flags parameter can be 0 or one of the following flags: │ │ │ │ │ * ALLEGRO_ALIGN_LEFT - Draw the text left-aligned (same as 0). │ │ │ │ │ * ALLEGRO_ALIGN_CENTRE - Draw the text centered around the given position. │ │ │ │ │ * ALLEGRO_ALIGN_RIGHT - Draw the text right-aligned to the given position. │ │ │ │ │ It can also be combined with this flag: │ │ │ │ │ * ALLEGRO_ALIGN_INTEGER - Always draw text aligned to an integer pixel │ │ │ │ │ position. This was formerly the default behaviour. Since: 5.0.8, 5.1.4 │ │ │ │ │ This function does not support newline characters (\n), but you can use al_ │ │ │ │ │ draw_multiline_text for multi line text output. │ │ │ │ │ See also: al_draw_ustr, al_draw_textf, al_draw_justified_text, al_draw_ │ │ │ │ │ multiline_text. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_disable_screensaver.c │ │ │ │ │ - * ex_timedwait.c │ │ │ │ │ - * ex_display_events.c │ │ │ │ │ ***** al_draw_ustr ***** │ │ │ │ │ void al_draw_ustr(const ALLEGRO_FONT *font, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color, float x, float y, int flags, │ │ │ │ │ │ │ │ │ │ const ALLEGRO_USTR *ustr) │ │ │ │ │ - │ │ │ │ │ -void al_draw_ustr(const ALLEGRO_FONT *font, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color, float x, float y, int flags, │ │ │ │ │ - │ │ │ │ │ - const ALLEGRO_USTR *ustr) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_draw_text, except the text is passed as an ALLEGRO_USTR instead of a │ │ │ │ │ NUL-terminated char array. │ │ │ │ │ See also: al_draw_text, al_draw_justified_ustr, al_draw_multiline_ustr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font_multiline.cpp │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_blend.c │ │ │ │ │ ***** al_draw_justified_text ***** │ │ │ │ │ void al_draw_justified_text(const ALLEGRO_FONT *font, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color, float x1, float x2, │ │ │ │ │ │ │ │ │ │ float y, float diff, int flags, const char *text) │ │ │ │ │ - │ │ │ │ │ -void al_draw_justified_text(const ALLEGRO_FONT *font, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color, float x1, float x2, │ │ │ │ │ - │ │ │ │ │ - float y, float diff, int flags, const char *text) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_draw_text, but justifies the string to the region x1-x2. │ │ │ │ │ The diff parameter is the maximum amount of horizontal space to allow between │ │ │ │ │ words. If justisfying the text would exceed diff pixels, or the string contains │ │ │ │ │ less than two words, then the string will be drawn left aligned. │ │ │ │ │ The flags parameter can be 0 or one of the following flags: │ │ │ │ │ * ALLEGRO_ALIGN_INTEGER - Draw text aligned to integer pixel positions. │ │ │ │ │ Since: 5.0.8, 5.1.5 │ │ │ │ │ See also: al_draw_justified_textf, al_draw_justified_ustr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font_justify.cpp │ │ │ │ │ ***** al_draw_justified_ustr ***** │ │ │ │ │ void al_draw_justified_ustr(const ALLEGRO_FONT *font, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color, float x1, float x2, │ │ │ │ │ │ │ │ │ │ float y, float diff, int flags, const ALLEGRO_USTR *ustr) │ │ │ │ │ - │ │ │ │ │ -void al_draw_justified_ustr(const ALLEGRO_FONT *font, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color, float x1, float x2, │ │ │ │ │ - │ │ │ │ │ - float y, float diff, int flags, const ALLEGRO_USTR *ustr) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_draw_justified_text, except the text is passed as an ALLEGRO_USTR │ │ │ │ │ instead of a NUL-terminated char array. │ │ │ │ │ See also: al_draw_justified_text, al_draw_justified_textf. │ │ │ │ │ ***** al_draw_textf ***** │ │ │ │ │ void al_draw_textf(const ALLEGRO_FONT *font, ALLEGRO_COLOR color, │ │ │ │ │ │ │ │ │ │ float x, float y, int flags, │ │ │ │ │ │ │ │ │ │ const char *format, ...) │ │ │ │ │ - │ │ │ │ │ -void al_draw_textf(const ALLEGRO_FONT *font, ALLEGRO_COLOR color, │ │ │ │ │ - │ │ │ │ │ - float x, float y, int flags, │ │ │ │ │ - │ │ │ │ │ - const char *format, ...) │ │ │ │ │ Source_Code │ │ │ │ │ Formatted text output, using a printf() style format string. All parameters │ │ │ │ │ have the same meaning as with al_draw_text otherwise. │ │ │ │ │ See also: al_draw_text, al_draw_ustr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_disable_screensaver.c │ │ │ │ │ - * ex_timedwait.c │ │ │ │ │ - * ex_display_events.c │ │ │ │ │ ***** al_draw_justified_textf ***** │ │ │ │ │ void al_draw_justified_textf(const ALLEGRO_FONT *f, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color, float x1, float x2, float y, │ │ │ │ │ │ │ │ │ │ float diff, int flags, const char *format, ...) │ │ │ │ │ - │ │ │ │ │ -void al_draw_justified_textf(const ALLEGRO_FONT *f, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color, float x1, float x2, float y, │ │ │ │ │ - │ │ │ │ │ - float diff, int flags, const char *format, ...) │ │ │ │ │ Source_Code │ │ │ │ │ Formatted text output, using a printf() style format string. All parameters │ │ │ │ │ have the same meaning as with al_draw_justified_text otherwise. │ │ │ │ │ See also: al_draw_justified_text, al_draw_justified_ustr. │ │ │ │ │ ***** al_get_text_dimensions ***** │ │ │ │ │ void al_get_text_dimensions(const ALLEGRO_FONT *f, │ │ │ │ │ │ │ │ │ │ char const *text, │ │ │ │ │ │ │ │ │ │ int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │ │ - │ │ │ │ │ -void al_get_text_dimensions(const ALLEGRO_FONT *f, │ │ │ │ │ - │ │ │ │ │ - char const *text, │ │ │ │ │ - │ │ │ │ │ - int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │ │ Source_Code │ │ │ │ │ Sometimes, the al_get_text_width and al_get_font_line_height functions are not │ │ │ │ │ enough for exact text placement, so this function returns some additional │ │ │ │ │ information. │ │ │ │ │ Returned variables (all in pixels): │ │ │ │ │ * x, y - Offset to upper left corner of bounding box. │ │ │ │ │ * w, h - Dimensions of bounding box. │ │ │ │ │ Note that glyphs may go to the left and upwards of the X, in which case x and y │ │ │ │ │ will have negative values. │ │ │ │ │ See also: al_get_text_width, al_get_font_line_height, al_get_ustr_dimensions │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ - * ex_logo.c │ │ │ │ │ ***** al_get_ustr_dimensions ***** │ │ │ │ │ void al_get_ustr_dimensions(const ALLEGRO_FONT *f, │ │ │ │ │ │ │ │ │ │ ALLEGRO_USTR const *ustr, │ │ │ │ │ │ │ │ │ │ int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │ │ - │ │ │ │ │ -void al_get_ustr_dimensions(const ALLEGRO_FONT *f, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_USTR const *ustr, │ │ │ │ │ - │ │ │ │ │ - int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_get_text_dimensions, except the text is passed as an ALLEGRO_USTR │ │ │ │ │ instead of a NUL-terminated char array. │ │ │ │ │ See also: al_get_text_dimensions │ │ │ │ │ ***** al_get_allegro_font_version ***** │ │ │ │ │ uint32_t al_get_allegro_font_version(void) │ │ │ │ │ - │ │ │ │ │ -uint32_t al_get_allegro_font_version(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as al_get_ │ │ │ │ │ allegro_version. │ │ │ │ │ ***** al_get_font_ranges ***** │ │ │ │ │ int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges) │ │ │ │ │ - │ │ │ │ │ -int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges) │ │ │ │ │ Source_Code │ │ │ │ │ Gets information about all glyphs contained in a font, as a list of ranges. │ │ │ │ │ Ranges have the same format as with al_grab_font_from_bitmap. │ │ │ │ │ ranges_count is the maximum number of ranges that will be returned. │ │ │ │ │ ranges should be an array with room for ranges_count * 2 elements. The even │ │ │ │ │ integers are the first unicode point in a range, the odd integers the last │ │ │ │ │ unicode point in a range. │ │ │ │ │ Returns the number of ranges contained in the font (even if it is bigger than │ │ │ │ │ ranges_count). │ │ │ │ │ Since: 5.1.4 │ │ │ │ │ See also: al_grab_font_from_bitmap │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ***** al_set_fallback_font ***** │ │ │ │ │ void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback) │ │ │ │ │ - │ │ │ │ │ -void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback) │ │ │ │ │ Source_Code │ │ │ │ │ Sets a font which is used instead if a character is not present. Can be │ │ │ │ │ chained, but make sure there is no loop as that would crash the application! │ │ │ │ │ Pass NULL to remove a fallback font again. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ See also: al_get_fallback_font, al_draw_glyph, al_draw_text │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ***** al_get_fallback_font ***** │ │ │ │ │ ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font) │ │ │ │ │ Source_Code │ │ │ │ │ Retrieves the fallback font for this font or NULL. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ See also: al_set_fallback_font │ │ │ │ │ ****** Per glyph text handling ****** │ │ │ │ │ For some applications Allegro’s text drawing functions may not be sufficient. │ │ │ │ │ For example, you would like to give a different color to every letter in a │ │ │ │ │ @@ -521,53 +384,39 @@ │ │ │ │ │ dimensioning functions. So, with these functions you can write your own │ │ │ │ │ efficient and precise custom text drawing functions. │ │ │ │ │ ***** al_draw_glyph ***** │ │ │ │ │ void al_draw_glyph(const ALLEGRO_FONT *f, ALLEGRO_COLOR color, float x, float │ │ │ │ │ y, │ │ │ │ │ │ │ │ │ │ int codepoint) │ │ │ │ │ - │ │ │ │ │ -void al_draw_glyph(const ALLEGRO_FONT *f, ALLEGRO_COLOR color, float x, float │ │ │ │ │ -y, │ │ │ │ │ - │ │ │ │ │ - int codepoint) │ │ │ │ │ Source_Code │ │ │ │ │ Draws the glyph that corresponds with codepoint in the given color using the │ │ │ │ │ given font. If font does not have such a glyph, nothing will be drawn. │ │ │ │ │ To draw a string as left to right horizontal text you will need to use al_get_ │ │ │ │ │ glyph_advance to determine the position of each glyph. For drawing strings in │ │ │ │ │ other directions, such as top to down, use al_get_glyph_dimensions to determine │ │ │ │ │ the size and position of each glyph. │ │ │ │ │ If you have to draw many glyphs at the same time, use al_hold_bitmap_drawing │ │ │ │ │ with true as the parameter, before drawing the glyphs, and then call al_hold_ │ │ │ │ │ bitmap_drawing again with false as a parameter when done drawing the glyphs to │ │ │ │ │ further enhance performance. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ See also: al_get_glyph_width, al_get_glyph_dimensions, al_get_glyph_advance. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font.c │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ***** al_get_glyph_width ***** │ │ │ │ │ int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint) │ │ │ │ │ - │ │ │ │ │ -int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint) │ │ │ │ │ Source_Code │ │ │ │ │ This function returns the width in pixels of the glyph that corresponds with │ │ │ │ │ codepoint in the font font. Returns zero if the font does not have such a │ │ │ │ │ glyph. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ See also: al_draw_glyph, al_get_glyph_dimensions, al_get_glyph_advance. │ │ │ │ │ ***** al_get_glyph_dimensions ***** │ │ │ │ │ bool al_get_glyph_dimensions(const ALLEGRO_FONT *f, │ │ │ │ │ │ │ │ │ │ int codepoint, int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │ │ - │ │ │ │ │ -bool al_get_glyph_dimensions(const ALLEGRO_FONT *f, │ │ │ │ │ - │ │ │ │ │ - int codepoint, int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │ │ Source_Code │ │ │ │ │ Sometimes, the al_get_glyph_width or al_get_glyph_advance functions are not │ │ │ │ │ enough for exact glyph placement, so this function returns some additional │ │ │ │ │ information, particularly if you want to draw the font vertically. │ │ │ │ │ The function itself returns true if the character was present in font and false │ │ │ │ │ if the character was not present in font. │ │ │ │ │ Returned variables (all in pixel): │ │ │ │ │ @@ -603,20 +452,16 @@ │ │ │ │ │ +---+--------+ | | ***** | │ │ │ │ │ | | *| │ │ │ │ │ | | * *| │ │ │ │ │ v | **** | │ │ │ │ │ +---+-------+ │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ See also: al_draw_glyph, al_get_glyph_width, al_get_glyph_advance. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ***** al_get_glyph_advance ***** │ │ │ │ │ int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2) │ │ │ │ │ - │ │ │ │ │ -int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2) │ │ │ │ │ Source_Code │ │ │ │ │ This function returns by how much the x position should be advanced for left to │ │ │ │ │ right text drawing when the glyph that corresponds to codepoint1 has been │ │ │ │ │ drawn, and the glyph that corresponds to codepoint2 will be the next to be │ │ │ │ │ drawn. This takes into consideration the horizontal advance width of the glyph │ │ │ │ │ that corresponds with codepoint1 as well as the kerning between the glyphs of │ │ │ │ │ codepoint1 and codepoint2. │ │ │ │ │ @@ -666,30 +511,21 @@ │ │ │ │ │ / \ | │ │ │ │ │ /____\ | │ │ │ │ │ / \ | │ │ │ │ │ / \ \_ │ │ │ │ │ --------------- │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ See also: al_draw_glyph, al_get_glyph_width, al_get_glyph_dimensions. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font.c │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ****** Multiline text drawing ****** │ │ │ │ │ ***** al_draw_multiline_text ***** │ │ │ │ │ void al_draw_multiline_text(const ALLEGRO_FONT *font, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ │ │ │ │ │ int flags, const char *text) │ │ │ │ │ - │ │ │ │ │ -void al_draw_multiline_text(const ALLEGRO_FONT *font, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ - │ │ │ │ │ - int flags, const char *text) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_draw_text, but this function supports drawing multiple lines of text. │ │ │ │ │ It will break text in lines based on its contents and the max_width parameter. │ │ │ │ │ The lines are then layed out vertically depending on the line_height parameter │ │ │ │ │ and drawn each as if al_draw_text was called on them. │ │ │ │ │ A newline \n in the text will cause a “hard” line break after its occurrence in │ │ │ │ │ the string. The text after a hard break is placed on a new line. Carriage │ │ │ │ │ @@ -711,69 +547,44 @@ │ │ │ │ │ The flags ALLEGRO_ALIGN_LEFT, ALLEGRO_ALIGN_CENTRE, ALLEGRO_ALIGN_RIGHT and │ │ │ │ │ ALLEGRO_ALIGN_INTEGER will be honoured by this function. │ │ │ │ │ If you want to calculate the size of what this function will draw without │ │ │ │ │ actually drawing it, or if you need a complex and/or custom layout, you can use │ │ │ │ │ al_do_multiline_text. │ │ │ │ │ Since: 5.1.9 │ │ │ │ │ See also: al_do_multiline_text, al_draw_multiline_ustr, al_draw_multiline_textf │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font_multiline.cpp │ │ │ │ │ - * ex_resize2.c │ │ │ │ │ ***** al_draw_multiline_ustr ***** │ │ │ │ │ void al_draw_multiline_ustr(const ALLEGRO_FONT *font, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ │ │ │ │ │ int flags, const ALLEGRO_USTR *ustr) │ │ │ │ │ - │ │ │ │ │ -void al_draw_multiline_ustr(const ALLEGRO_FONT *font, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ - │ │ │ │ │ - int flags, const ALLEGRO_USTR *ustr) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_draw_multiline_text, except the text is passed as an ALLEGRO_USTR │ │ │ │ │ instead of a NUL-terminated char array. │ │ │ │ │ Since: 5.1.9 │ │ │ │ │ See also: al_draw_multiline_text, al_draw_multiline_textf, al_do_multiline_text │ │ │ │ │ ***** al_draw_multiline_textf ***** │ │ │ │ │ void al_draw_multiline_textf(const ALLEGRO_FONT *font, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ │ │ │ │ │ int flags, const char *format, ...) │ │ │ │ │ - │ │ │ │ │ -void al_draw_multiline_textf(const ALLEGRO_FONT *font, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ - │ │ │ │ │ - int flags, const char *format, ...) │ │ │ │ │ Source_Code │ │ │ │ │ Formatted text output, using a printf() style format string. All parameters │ │ │ │ │ have the same meaning as with al_draw_multiline_text otherwise. │ │ │ │ │ Since: 5.1.9 │ │ │ │ │ See also: al_draw_multiline_text, al_draw_multiline_ustr, al_do_multiline_text │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_resize2.c │ │ │ │ │ ***** al_do_multiline_text ***** │ │ │ │ │ void al_do_multiline_text(const ALLEGRO_FONT *font, │ │ │ │ │ │ │ │ │ │ float max_width, const char *text, │ │ │ │ │ │ │ │ │ │ bool (*cb)(int line_num, const char *line, int size, void *extra), │ │ │ │ │ │ │ │ │ │ void *extra) │ │ │ │ │ - │ │ │ │ │ -void al_do_multiline_text(const ALLEGRO_FONT *font, │ │ │ │ │ - │ │ │ │ │ - float max_width, const char *text, │ │ │ │ │ - │ │ │ │ │ - bool (*cb)(int line_num, const char *line, int size, void *extra), │ │ │ │ │ - │ │ │ │ │ - void *extra) │ │ │ │ │ Source_Code │ │ │ │ │ This function processes the text and splits it into lines as al_draw_multiline_ │ │ │ │ │ text would, and then calls the callback cb once for every line. This is useful │ │ │ │ │ for custom drawing of multiline text, or for calculating the size of multiline │ │ │ │ │ text ahead of time. See the documentation on al_draw_multiline_text for an │ │ │ │ │ explanation of the splitting algorithm. │ │ │ │ │ For every line that this function splits text into the callback cb will be │ │ │ │ │ @@ -788,46 +599,32 @@ │ │ │ │ │ buffer and NUL-terminate it yourself. You will also have to make your own copy │ │ │ │ │ if you need the contents of line after cb has returned, as line is not │ │ │ │ │ guaranteed to be valid after that. │ │ │ │ │ If the callback cb returns false, al_do_multiline_text will stop immediately, │ │ │ │ │ otherwise it will continue on to the next line. │ │ │ │ │ Since: 5.1.9 │ │ │ │ │ See also: al_draw_multiline_text │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font_multiline.cpp │ │ │ │ │ ***** al_do_multiline_ustr ***** │ │ │ │ │ void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width, │ │ │ │ │ │ │ │ │ │ const ALLEGRO_USTR *ustr, │ │ │ │ │ │ │ │ │ │ bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra), │ │ │ │ │ │ │ │ │ │ void *extra) │ │ │ │ │ - │ │ │ │ │ -void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width, │ │ │ │ │ - │ │ │ │ │ - const ALLEGRO_USTR *ustr, │ │ │ │ │ - │ │ │ │ │ - bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra), │ │ │ │ │ - │ │ │ │ │ - void *extra) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_do_multiline_text, but using ALLEGRO_USTR instead of a NUL-terminated │ │ │ │ │ char array for text. │ │ │ │ │ Since: 5.1.9 │ │ │ │ │ See also: al_draw_multiline_ustr │ │ │ │ │ ****** Bitmap fonts ****** │ │ │ │ │ ***** al_grab_font_from_bitmap ***** │ │ │ │ │ ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp, │ │ │ │ │ │ │ │ │ │ int ranges_n, const int ranges[]) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp, │ │ │ │ │ - │ │ │ │ │ - int ranges_n, const int ranges[]) │ │ │ │ │ Source_Code │ │ │ │ │ Creates a new font from an Allegro bitmap. You can delete the bitmap after the │ │ │ │ │ function returns as the font will contain a copy for itself. │ │ │ │ │ Parameters: │ │ │ │ │ * bmp: The bitmap with the glyphs drawn onto it │ │ │ │ │ * n: Number of unicode ranges in the bitmap. │ │ │ │ │ * ranges: ‘n’ pairs of first and last unicode point to map glyphs to for │ │ │ │ │ @@ -873,46 +670,33 @@ │ │ │ │ │ The first example will grab glyphs for the 95 standard printable ASCII │ │ │ │ │ characters, beginning with the space character (32) and ending with the tilde │ │ │ │ │ character (126). The second example will map the first 96 glyphs found in the │ │ │ │ │ bitmap to ASCII range, the next 95 glyphs to Latin 1, the next 128 glyphs to │ │ │ │ │ Extended-A, and the last glyph to the Euro character. (This is just the │ │ │ │ │ characters found in the Allegro 4 font.) │ │ │ │ │ See also: al_load_bitmap, al_grab_font_from_bitmap │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font.c │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ***** al_load_bitmap_font ***** │ │ │ │ │ ALLEGRO_FONT *al_load_bitmap_font(const char *fname) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_FONT *al_load_bitmap_font(const char *fname) │ │ │ │ │ Source_Code │ │ │ │ │ Load a bitmap font from a file. This is done by first calling al_load_bitmap_ │ │ │ │ │ flags and then al_grab_font_from_bitmap. │ │ │ │ │ If you wanted to load an old A4 font, for example, it would be better to load │ │ │ │ │ the bitmap yourself in order to call al_convert_mask_to_alpha on it before │ │ │ │ │ passing it to al_grab_font_from_bitmap. │ │ │ │ │ See also: al_load_bitmap_font_flags, al_load_font, al_load_bitmap_flags │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_bitmap_flip.c │ │ │ │ │ - * ex_mouse_cursor.c │ │ │ │ │ - * ex_record_name.c │ │ │ │ │ ***** al_load_bitmap_font_flags ***** │ │ │ │ │ ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_load_bitmap_font but additionally takes a flags parameter which is a │ │ │ │ │ bitfield containing a combination of the following: │ │ │ │ │ ALLEGRO_NO_PREMULTIPLIED_ALPHA │ │ │ │ │ The same meaning as for al_load_bitmap_flags. │ │ │ │ │ See also: al_load_bitmap_font, al_load_bitmap_flags │ │ │ │ │ ***** al_create_builtin_font ***** │ │ │ │ │ ALLEGRO_FONT *al_create_builtin_font(void) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_FONT *al_create_builtin_font(void) │ │ │ │ │ Source_Code │ │ │ │ │ Creates a monochrome bitmap font (8x8 pixels per character). │ │ │ │ │ This font is primarily intended to be used for displaying information in │ │ │ │ │ environments or during early runtime states where no external font data is │ │ │ │ │ available or loaded (e.g. for debugging). │ │ │ │ │ The builtin font contains the following unicode character ranges: │ │ │ │ │ 0x0020 to 0x007F (ASCII) │ │ │ │ │ @@ -920,53 +704,33 @@ │ │ │ │ │ 0x0100 to 0x017F (Extended A) │ │ │ │ │ 0x20AC to 0x20AC (euro currency symbol) │ │ │ │ │ Returns NULL on an error. │ │ │ │ │ The font memory must be freed the same way as for any other font, using al_ │ │ │ │ │ destroy_font. │ │ │ │ │ Since: 5.0.8, 5.1.3 │ │ │ │ │ See also: al_load_bitmap_font, al_destroy_font │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_disable_screensaver.c │ │ │ │ │ - * ex_timedwait.c │ │ │ │ │ - * ex_display_events.c │ │ │ │ │ ****** TTF fonts ****** │ │ │ │ │ These functions are declared in the following header file. Link with allegro_ │ │ │ │ │ ttf. │ │ │ │ │ #include │ │ │ │ │ ***** al_init_ttf_addon ***** │ │ │ │ │ -bool al_init_ttf_addon(void) │ │ │ │ │ - │ │ │ │ │ -bool al_init_ttf_addon(void) │ │ │ │ │ -Source_Code │ │ │ │ │ +Source Code │ │ │ │ │ Call this after al_init_font_addon to make al_load_font recognize “.ttf” and │ │ │ │ │ other formats supported by al_load_ttf_font. │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font_justify.cpp │ │ │ │ │ - * ex_font_multiline.cpp │ │ │ │ │ - * ex_color.cpp │ │ │ │ │ ***** al_is_ttf_addon_initialized ***** │ │ │ │ │ -bool al_is_ttf_addon_initialized(void) │ │ │ │ │ - │ │ │ │ │ -bool al_is_ttf_addon_initialized(void) │ │ │ │ │ -Source_Code │ │ │ │ │ +Source Code │ │ │ │ │ Returns true if the TTF addon is initialized, otherwise returns false. │ │ │ │ │ Since: 5.2.6 │ │ │ │ │ See also: al_init_ttf_addon, al_shutdown_ttf_addon │ │ │ │ │ ***** al_shutdown_ttf_addon ***** │ │ │ │ │ -void al_shutdown_ttf_addon(void) │ │ │ │ │ - │ │ │ │ │ -void al_shutdown_ttf_addon(void) │ │ │ │ │ -Source_Code │ │ │ │ │ +Source Code │ │ │ │ │ Unloads the ttf addon again. You normally don’t need to call this. │ │ │ │ │ ***** al_load_ttf_font ***** │ │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags) │ │ │ │ │ -Source_Code │ │ │ │ │ +Source Code │ │ │ │ │ Loads a TrueType font from a file using the FreeType library. Quoting from the │ │ │ │ │ FreeType FAQ this means support for many different font formats: │ │ │ │ │ TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF, and others │ │ │ │ │ The size parameter determines the size the font will be rendered at, specified │ │ │ │ │ in pixels. The standard font size is measured in units per EM, if you instead │ │ │ │ │ want to specify the size as the total height of glyphs in pixels, pass it as a │ │ │ │ │ negative value. │ │ │ │ │ @@ -976,87 +740,52 @@ │ │ │ │ │ * ALLEGRO_TTF_NO_KERNING - Do not use any kerning even if the font file │ │ │ │ │ supports it. │ │ │ │ │ * ALLEGRO_TTF_MONOCHROME - Load as a monochrome font (which means no anti- │ │ │ │ │ aliasing of the font is done). │ │ │ │ │ * ALLEGRO_TTF_NO_AUTOHINT - Disable the Auto Hinter which is enabled by │ │ │ │ │ default in newer versions of FreeType. Since: 5.0.6, 5.1.2 │ │ │ │ │ See also: al_init_ttf_addon, al_load_ttf_font_f │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_bitmap_flip.c │ │ │ │ │ - * ex_synth.cpp │ │ │ │ │ - * ex_audio_chain.cpp │ │ │ │ │ ***** al_load_ttf_font_f ***** │ │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file, │ │ │ │ │ - │ │ │ │ │ - char const *filename, int size, int flags) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file, │ │ │ │ │ - │ │ │ │ │ - char const *filename, int size, int flags) │ │ │ │ │ -Source_Code │ │ │ │ │ +Source Code │ │ │ │ │ Like al_load_ttf_font, but the font is read from the file handle. The filename │ │ │ │ │ is only used to find possible additional files next to a font file. │ │ │ │ │ Note: The file handle is owned by the returned ALLEGRO_FONT object │ │ │ │ │ and must not be freed by the caller, as FreeType expects to be able │ │ │ │ │ to read from it at a later time. │ │ │ │ │ ***** al_load_ttf_font_stretch ***** │ │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h, │ │ │ │ │ - │ │ │ │ │ - int flags) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h, │ │ │ │ │ - │ │ │ │ │ - int flags) │ │ │ │ │ -Source_Code │ │ │ │ │ +Source Code │ │ │ │ │ Like al_load_ttf_font, except it takes separate width and height parameters │ │ │ │ │ instead of a single size parameter. │ │ │ │ │ If the height is a positive value, and the width zero or positive, then font │ │ │ │ │ will be stretched according to those parameters. The width must not be negative │ │ │ │ │ if the height is positive. │ │ │ │ │ As with al_load_ttf_font, the height may be a negative value to specify the │ │ │ │ │ total height in pixels. Then the width must also be a negative value, or zero. │ │ │ │ │ Returns NULL if the height is positive while width is negative, or if the │ │ │ │ │ height is negative while the width is positive. │ │ │ │ │ Since: 5.0.6, 5.1.0 │ │ │ │ │ See also: al_load_ttf_font, al_load_ttf_font_stretch_f │ │ │ │ │ ***** al_load_ttf_font_stretch_f ***** │ │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file, │ │ │ │ │ - │ │ │ │ │ - char const *filename, int w, int h, int flags) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file, │ │ │ │ │ - │ │ │ │ │ - char const *filename, int w, int h, int flags) │ │ │ │ │ -Source_Code │ │ │ │ │ +Source Code │ │ │ │ │ Like al_load_ttf_font_stretch, but the font is read from the file handle. The │ │ │ │ │ filename is only used to find possible additional files next to a font file. │ │ │ │ │ Note: The file handle is owned by the returned ALLEGRO_FONT object │ │ │ │ │ and must not be freed by the caller, as FreeType expects to be able │ │ │ │ │ to read from it at a later time. │ │ │ │ │ Since: 5.0.6, 5.1.0 │ │ │ │ │ See also: al_load_ttf_font_stretch │ │ │ │ │ ***** al_get_allegro_ttf_version ***** │ │ │ │ │ -uint32_t al_get_allegro_ttf_version(void) │ │ │ │ │ - │ │ │ │ │ -uint32_t al_get_allegro_ttf_version(void) │ │ │ │ │ -Source_Code │ │ │ │ │ +Source Code │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as al_get_ │ │ │ │ │ allegro_version. │ │ │ │ │ ***** al_get_glyph ***** │ │ │ │ │ bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint, │ │ │ │ │ ALLEGRO_GLYPH *glyph) │ │ │ │ │ - │ │ │ │ │ -bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint, │ │ │ │ │ -ALLEGRO_GLYPH *glyph) │ │ │ │ │ Source_Code │ │ │ │ │ Gets all the information about a glyph, including the bitmap, needed to draw it │ │ │ │ │ yourself. prev_codepoint is the codepoint in the string before the one you want │ │ │ │ │ to draw and is used for kerning. codepoint is the character you want to get │ │ │ │ │ info about. You should clear the ‘glyph’ structure to 0 with memset before │ │ │ │ │ passing it to this function for future compatibility. │ │ │ │ │ Since: 5.2.1 │ │ │ │ │ Unstable_API: This API is new and subject to refinement. │ │ │ │ │ See also: ALLEGRO_GLYPH │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font.c │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/fshook.html │ │ │ │ @@ -242,33 +242,24 @@ │ │ │ │ │ │ │ │

    These functions are declared in the main Allegro header file:

    │ │ │ │
     #include <allegro5/allegro.h>
    │ │ │ │

    These functions allow access to the filesystem. This can either be │ │ │ │ the real filesystem like your harddrive, or a virtual filesystem like a │ │ │ │ .zip archive (or whatever else you or an addon makes it do).

    │ │ │ │

    ALLEGRO_FS_ENTRY

    │ │ │ │ -
    typedef struct ALLEGRO_FS_ENTRY ALLEGRO_FS_ENTRY;
    │ │ │ │ -typedef struct ALLEGRO_FS_ENTRY ALLEGRO_FS_ENTRY;
    │ │ │ │ +
    typedef struct ALLEGRO_FS_ENTRY ALLEGRO_FS_ENTRY;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Opaque filesystem entry object. Represents a file or a directory │ │ │ │ (check with al_get_fs_entry_mode). There │ │ │ │ are no user accessible member variables.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_FILE_MODE

    │ │ │ │ -
    typedef enum ALLEGRO_FILE_MODE
    │ │ │ │ -typedef enum ALLEGRO_FILE_MODE
    │ │ │ │ +
    typedef enum ALLEGRO_FILE_MODE
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Filesystem modes/types

    │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

    These functions are declared in the main Allegro header file:

    │ │ │ │
     #include <allegro5/allegro.h>
    │ │ │ │

    Colors

    │ │ │ │

    ALLEGRO_COLOR

    │ │ │ │ -
    typedef struct ALLEGRO_COLOR ALLEGRO_COLOR;
    │ │ │ │ -typedef struct ALLEGRO_COLOR ALLEGRO_COLOR;
    │ │ │ │ +
    typedef struct ALLEGRO_COLOR ALLEGRO_COLOR;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    An ALLEGRO_COLOR structure describes a color in a device independent │ │ │ │ way. Use al_map_rgb et al. and al_unmap_rgb et al. to translate │ │ │ │ from and to various color representations.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_map_rgb

    │ │ │ │
    ALLEGRO_COLOR al_map_rgb(
    │ │ │ │     unsigned char r, unsigned char g, unsigned char b)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Convert r, g, b (ranging from 0-255) into an ALLEGRO_COLOR, using 255 for │ │ │ │ alpha.

    │ │ │ │

    This function can be called before Allegro is initialized.

    │ │ │ │

    See also: al_map_rgba, al_map_rgba_f, al_map_rgb_f

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_map_rgb_f

    │ │ │ │
    ALLEGRO_COLOR al_map_rgb_f(float r, float g, float b)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Convert r, g, b, (ranging from 0.0f-1.0f) into an ALLEGRO_COLOR, using 1.0f for │ │ │ │ alpha.

    │ │ │ │

    This function can be called before Allegro is initialized.

    │ │ │ │

    See also: al_map_rgba, al_map_rgb, al_map_rgba_f

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_map_rgba

    │ │ │ │
    ALLEGRO_COLOR al_map_rgba(
    │ │ │ │     unsigned char r, unsigned char g, unsigned char b, unsigned char a)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Convert r, g, b, a (ranging from 0-255) into an ALLEGRO_COLOR.

    │ │ │ │

    This function can be called before Allegro is initialized.

    │ │ │ │

    See also: al_map_rgb, al_premul_rgba, al_map_rgb_f

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_premul_rgba

    │ │ │ │
    ALLEGRO_COLOR al_premul_rgba(
    │ │ │ │     unsigned char r, unsigned char g, unsigned char b, unsigned char a)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This is a shortcut for

    │ │ │ │

    Convert r, g, b, a (ranging from 0.0f-1.0f) into an ALLEGRO_COLOR.

    │ │ │ │

    This function can be called before Allegro is initialized.

    │ │ │ │

    See also: al_map_rgba, al_premul_rgba_f, al_map_rgb_f

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_premul_rgba_f

    │ │ │ │
    ALLEGRO_COLOR al_premul_rgba_f(float r, float g, float b, float a)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This is a shortcut for al_map_rgba_f(r * a, g * a, b * │ │ │ │ @@ -608,86 +562,55 @@ │ │ │ │ Code

    │ │ │ │

    Retrieves components of an ALLEGRO_COLOR, ignoring alpha. Components │ │ │ │ will range from 0-255.

    │ │ │ │

    This function can be called before Allegro is initialized.

    │ │ │ │

    See also: al_unmap_rgba, al_unmap_rgba_f, al_unmap_rgb_f

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_unmap_rgb_f

    │ │ │ │
    void al_unmap_rgb_f(ALLEGRO_COLOR color, float *r, float *g, float *b)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Retrieves components of an ALLEGRO_COLOR, ignoring alpha. │ │ │ │ Components will range from 0.0f-1.0f.

    │ │ │ │

    This function can be called before Allegro is initialized.

    │ │ │ │

    See also: al_unmap_rgba, al_unmap_rgb, al_unmap_rgba_f

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_unmap_rgba

    │ │ │ │
    void al_unmap_rgba(ALLEGRO_COLOR color,
    │ │ │ │     unsigned char *r, unsigned char *g, unsigned char *b, unsigned char *a)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Retrieves components of an ALLEGRO_COLOR. Components will │ │ │ │ range from 0-255.

    │ │ │ │

    This function can be called before Allegro is initialized.

    │ │ │ │

    See also: al_unmap_rgb, al_unmap_rgba_f, al_unmap_rgb_f

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_unmap_rgba_f

    │ │ │ │
    void al_unmap_rgba_f(ALLEGRO_COLOR color,
    │ │ │ │     float *r, float *g, float *b, float *a)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Retrieves components of an ALLEGRO_COLOR. Components will │ │ │ │ range from 0.0f-1.0f.

    │ │ │ │

    This function can be called before Allegro is initialized.

    │ │ │ │

    See also: al_unmap_rgba, al_unmap_rgb, al_unmap_rgb_f

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Locking and pixel formats

    │ │ │ │

    ALLEGRO_LOCKED_REGION

    │ │ │ │ -
    typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION;
    │ │ │ │ -typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION;
    │ │ │ │ +
    typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Users who wish to manually edit or read from a bitmap are required to │ │ │ │ lock it first. The ALLEGRO_LOCKED_REGION structure represents the locked │ │ │ │ region of the bitmap. This call will work with any bitmap, including │ │ │ │ memory bitmaps.

    │ │ │ │ @@ -714,26 +637,16 @@ │ │ │ │ this is just the size of a single pixel, but for blocked pixel formats │ │ │ │ this value is different.

    │ │ │ │ │ │ │ │

    See also: al_lock_bitmap, │ │ │ │ al_lock_bitmap_region, │ │ │ │ al_unlock_bitmap, ALLEGRO_PIXEL_FORMAT

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_PIXEL_FORMAT

    │ │ │ │ -
    typedef enum ALLEGRO_PIXEL_FORMAT
    │ │ │ │ -typedef enum ALLEGRO_PIXEL_FORMAT
    │ │ │ │ +
    typedef enum ALLEGRO_PIXEL_FORMAT
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Pixel formats. Each pixel format specifies the exact size and bit │ │ │ │ layout of a pixel in memory. Components are specified from high bits to │ │ │ │ low bits, so for example a fully opaque red pixel in ARGB_8888 format is │ │ │ │ 0xFFFF0000.

    │ │ │ │ @@ -841,23 +754,14 @@ │ │ │ │ bytes, resulting in 4x compression ratio. This format supports smooth │ │ │ │ alpha transitions. Since 5.1.9. │ │ │ │ │ │ │ │

    See also: al_set_new_bitmap_format, │ │ │ │ al_get_bitmap_format

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_pixel_size

    │ │ │ │
    int al_get_pixel_size(int format)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the number of bytes that a pixel of the given format occupies. │ │ │ │ For blocked pixel formats (e.g. compressed formats), this returns 0.

    │ │ │ │ @@ -895,36 +799,26 @@ │ │ │ │

    Return the width of the the pixel block for this format.

    │ │ │ │

    Since: 5.1.9.

    │ │ │ │

    See also: ALLEGRO_PIXEL_FORMAT, al_get_pixel_block_size, │ │ │ │ al_get_pixel_block_height

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_pixel_block_height

    │ │ │ │
    int al_get_pixel_block_height(int format)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the height of the the pixel block for this format.

    │ │ │ │

    Since: 5.1.9.

    │ │ │ │

    See also: ALLEGRO_PIXEL_FORMAT, al_get_pixel_block_size, │ │ │ │ al_get_pixel_block_width

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_lock_bitmap

    │ │ │ │
    ALLEGRO_LOCKED_REGION *al_lock_bitmap(ALLEGRO_BITMAP *bitmap,
    │ │ │ │     int format, int flags)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Lock an entire bitmap for reading or writing. If the bitmap is a │ │ │ │ @@ -977,15 +871,15 @@ │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_drawpixels.c
    • │ │ │ │
    • ex_membmp.c
    • │ │ │ │
    • ex_lockbitmap.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_premulalpha.c#L40">ex_premulalpha.c │ │ │ │
    │ │ │ │

    al_lock_bitmap_region

    │ │ │ │
    ALLEGRO_LOCKED_REGION *al_lock_bitmap_region(ALLEGRO_BITMAP *bitmap,
    │ │ │ │     int x, int y, int width, int height, int format, int flags)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -1010,17 +904,17 @@ │ │ │ │ href="graphics.html#allegro_pixel_format">ALLEGRO_PIXEL_FORMAT, al_unlock_bitmap

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_unlock_bitmap

    │ │ │ │
    void al_unlock_bitmap(ALLEGRO_BITMAP *bitmap)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Unlock a previously locked bitmap or bitmap region. If the bitmap is │ │ │ │ @@ -1033,17 +927,17 @@ │ │ │ │ al_lock_bitmap_region_blocked

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_lock_bitmap_blocked

    │ │ │ │
    ALLEGRO_LOCKED_REGION *al_lock_bitmap_blocked(ALLEGRO_BITMAP *bitmap,
    │ │ │ │     int flags)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -1086,29 +980,19 @@ │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    Bitmap creation

    │ │ │ │

    ALLEGRO_BITMAP

    │ │ │ │ -
    typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP;
    │ │ │ │ -typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP;
    │ │ │ │ +
    typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Abstract type representing a bitmap (2D image).

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_create_bitmap

    │ │ │ │
    ALLEGRO_BITMAP *al_create_bitmap(int w, int h)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Creates a new bitmap using the bitmap format and flags for the │ │ │ │ current thread. Blitting between bitmaps of differing formats, or │ │ │ │ @@ -1171,15 +1055,15 @@ │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_nodisplay.c
    • │ │ │ │
    • ex_opengl_pixel_shader.c
    • │ │ │ │
    • ex_icon2.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_pixelformat.cpp#L170">ex_pixelformat.cpp │ │ │ │
    │ │ │ │

    al_create_sub_bitmap

    │ │ │ │
    ALLEGRO_BITMAP *al_create_sub_bitmap(ALLEGRO_BITMAP *parent,
    │ │ │ │     int x, int y, int w, int h)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -1205,19 +1089,19 @@ │ │ │ │ does not matter whether you destroy a sub-bitmap before or after its │ │ │ │ parent otherwise.

    │ │ │ │

    See also: al_create_bitmap

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_blend_target.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_shader_target.c#L43">ex_shader_target.c │ │ │ │
    • ex_subbitmap.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_blend_target.c#L65">ex_blend_target.c │ │ │ │
    • ex_shader_target.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_multisample_target.c#L72">ex_multisample_target.c │ │ │ │
    │ │ │ │

    al_clone_bitmap

    │ │ │ │
    ALLEGRO_BITMAP *al_clone_bitmap(ALLEGRO_BITMAP *bitmap)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Create a new bitmap with al_set_new_bitmap_format, │ │ │ │ al_set_new_bitmap_flags, │ │ │ │ al_convert_bitmap

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_subbitmap.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_blend2.cpp#L365">ex_blend2.cpp │ │ │ │
    • ex_font.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_premulalpha.c#L64">ex_premulalpha.c │ │ │ │
    • ex_blend2.cpp
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_font.c#L20">ex_font.c │ │ │ │
    │ │ │ │

    al_convert_bitmap

    │ │ │ │
    void al_convert_bitmap(ALLEGRO_BITMAP *bitmap)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Converts the bitmap to the current bitmap flags and format. The │ │ │ │ @@ -1313,19 +1197,14 @@ │ │ │ │

    int al_get_new_bitmap_flags(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the flags used for newly created bitmaps.

    │ │ │ │

    See also: al_set_new_bitmap_flags

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_prim.c
    • │ │ │ │ -
    │ │ │ │

    al_get_new_bitmap_format

    │ │ │ │
    int al_get_new_bitmap_format(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the format used for newly created bitmaps.

    │ │ │ │

    See also: │ │ │ │ │ │ │ │ │ │ │ │

    See also: al_get_new_bitmap_flags, │ │ │ │ al_get_bitmap_flags

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_add_new_bitmap_flag

    │ │ │ │
    void al_add_new_bitmap_flag(int flag)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    A convenience function which does the same as

    │ │ │ │
    al_set_new_bitmap_flags(al_get_new_bitmap_flags() | flag);
    │ │ │ │

    See also: al_set_new_bitmap_flags, │ │ │ │ al_get_new_bitmap_flags, │ │ │ │ al_get_bitmap_flags

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_new_bitmap_format

    │ │ │ │
    void al_set_new_bitmap_format(int format)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets the pixel format (ALLEGRO_PIXEL_FORMAT) for │ │ │ │ newly created bitmaps. The default format is 0 and means the display │ │ │ │ driver will choose the best format.

    │ │ │ │

    See also: ALLEGRO_PIXEL_FORMAT, al_get_new_bitmap_format, │ │ │ │ al_get_bitmap_format

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_new_bitmap_depth

    │ │ │ │
    void al_set_new_bitmap_depth(int depth)
    │ │ │ │  SETTER(new_bitmap_depth, depth)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets the depthbuffer depth used by newly created bitmaps (on the │ │ │ │ @@ -1484,19 +1340,14 @@ │ │ │ │ which is the default.

    │ │ │ │

    Since: 5.2.1

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: This is an experimental feature and currently only works │ │ │ │ for the OpenGL backend.

    │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_new_bitmap_depth

    │ │ │ │
    int al_get_new_bitmap_depth(void)
    │ │ │ │  GETTER(new_bitmap_depth, 0)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the value currently set with │ │ │ │

    Since: 5.2.1

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: This is an experimental feature and currently only works │ │ │ │ for the OpenGL backend.

    │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_new_bitmap_samples

    │ │ │ │
    int al_get_new_bitmap_samples(void)
    │ │ │ │  GETTER(new_bitmap_samples, 0)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the value currently set with Since: 5.2.8

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: This is an experimental feature.

    │ │ │ │
    │ │ │ │

    See also: ALLEGRO_BITMAP_WRAP

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_new_bitmap_wrap

    │ │ │ │

    Source Code

    │ │ │ │

    Returns the value currently set with al_set_new_bitmap_wrap │ │ │ │ on the current thread.

    │ │ │ │

    Since: 5.2.8

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: This is an experimental feature.

    │ │ │ │
    │ │ │ │

    See also: ALLEGRO_BITMAP_WRAP

    │ │ │ │

    ALLEGRO_BITMAP_WRAP

    │ │ │ │ -
    typedef enum ALLEGRO_BITMAP_WRAP {
    │ │ │ │ -typedef enum ALLEGRO_BITMAP_WRAP {
    │ │ │ │ +
    typedef enum ALLEGRO_BITMAP_WRAP {
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Controls the how the pixel color is determined from a texture │ │ │ │ querying the texture coordinates are outside the usual bounds.

    │ │ │ │
      │ │ │ │
    • ALLEGRO_BITMAP_WRAP_DEFAULT - The default behavior. This │ │ │ │ @@ -1627,21 +1463,14 @@ │ │ │ │

    • ALLEGRO_BITMAP_WRAP_REPEAT - The texture coordinates get shifted │ │ │ │ to the opposite edge that they go past.

    • │ │ │ │
    • ALLEGRO_BITMAP_WRAP_CLAMP - The texture coordinates get clamped │ │ │ │ to the edges that they go past.

    • │ │ │ │
    • ALLEGRO_BITMAP_WRAP_MIRROR - The texture coordinates get mirrored │ │ │ │ across the edges that they go past.

    • │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Bitmap properties

    │ │ │ │

    al_get_bitmap_flags

    │ │ │ │
    int al_get_bitmap_flags(ALLEGRO_BITMAP *bitmap)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the flags used to create the bitmap.

    │ │ │ │ @@ -1675,32 +1504,32 @@ │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the height of a bitmap in pixels.

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_multiwin.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_color.cpp#L161">ex_color.cpp │ │ │ │
    • ex_resize.c
    • │ │ │ │
    • ex_blend_target.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_pixelformat.cpp#L165">ex_pixelformat.cpp │ │ │ │
    │ │ │ │

    al_get_bitmap_width

    │ │ │ │
    int al_get_bitmap_width(ALLEGRO_BITMAP *bitmap)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the width of a bitmap in pixels.

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_font_justify.cpp
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_color.cpp#L160">ex_color.cpp │ │ │ │
    • ex_multiwin.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_font_justify.cpp#L74">ex_font_justify.cpp │ │ │ │
    • ex_resize.c
    • │ │ │ │
    │ │ │ │

    al_get_bitmap_depth

    │ │ │ │
    int al_get_bitmap_depth(ALLEGRO_BITMAP *bitmap)
    │ │ │ │

    Source │ │ │ │ @@ -1740,17 +1569,17 @@ │ │ │ │ href="graphics.html#al_put_pixel">al_put_pixel, al_lock_bitmap

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_is_bitmap_locked

    │ │ │ │
    bool al_is_bitmap_locked(ALLEGRO_BITMAP *bitmap)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns whether or not a bitmap is already locked.

    │ │ │ │ @@ -1854,17 +1683,17 @@ │ │ │ │

    See also: al_create_sub_bitmap, al_get_parent_bitmap

    │ │ │ │

    Since: 5.1.12

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_get_bitmap_blender

    │ │ │ │
    void al_get_bitmap_blender(int *op, int *src, int *dst)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the current blender being used by the target bitmap. You can │ │ │ │ @@ -2007,19 +1836,19 @@ │ │ │ │

    See also: ALLEGRO_COLOR, al_set_clipping_rectangle, │ │ │ │ al_clear_depth_buffer

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_keyboard_focus.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_audio_props.cpp#L97">ex_audio_props.cpp │ │ │ │
    • ex_nodisplay.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_font_multiline.cpp#L104">ex_font_multiline.cpp │ │ │ │
    • ex_mouse_focus.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_keyboard_focus.c#L18">ex_keyboard_focus.c │ │ │ │
    │ │ │ │

    al_clear_depth_buffer

    │ │ │ │
    void al_clear_depth_buffer(float z)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Clear the depth buffer (confined by the clipping rectangle) to the │ │ │ │ @@ -2040,19 +1869,19 @@ │ │ │ │ href="graphics.html#al_clear_to_color">al_clear_to_color, al_set_clipping_rectangle, │ │ │ │ al_set_render_state, al_set_new_display_option

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_draw_bitmap

    │ │ │ │
    void al_draw_bitmap(ALLEGRO_BITMAP *bitmap, float dx, float dy, int flags)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws an unscaled, unrotated bitmap at the given position to the │ │ │ │ @@ -2084,17 +1913,17 @@ │ │ │ │ al_draw_scaled_rotated_bitmap

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_draw_tinted_bitmap

    │ │ │ │
    void al_draw_tinted_bitmap(ALLEGRO_BITMAP *bitmap, ALLEGRO_COLOR tint,
    │ │ │ │     float dx, float dy, int flags)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -2112,15 +1941,15 @@ │ │ │ │

    See also: al_draw_bitmap

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_nodisplay.c
    • │ │ │ │
    • ex_expose.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_shader_target.c#L140">ex_shader_target.c │ │ │ │
    • ex_bitmap_flip.c
    • │ │ │ │
    │ │ │ │

    al_draw_bitmap_region

    │ │ │ │
    void al_draw_bitmap_region(ALLEGRO_BITMAP *bitmap,
    │ │ │ │     float sx, float sy, float sw, float sh, float dx, float dy, int flags)
    │ │ │ │

    al_draw_rotated_bitmap, │ │ │ │ al_draw_scaled_rotated_bitmap

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_font.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_blend.c#L157">ex_blend.c │ │ │ │
    • ex_clip.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_font.c#L36">ex_font.c │ │ │ │
    • ex_blit.c
    • │ │ │ │
    │ │ │ │

    al_draw_tinted_bitmap_region

    │ │ │ │
    void al_draw_tinted_bitmap_region(ALLEGRO_BITMAP *bitmap,
    │ │ │ │     ALLEGRO_COLOR tint,
    │ │ │ │     float sx, float sy, float sw, float sh, float dx, float dy,
    │ │ │ │ @@ -2168,17 +1997,17 @@
    │ │ │ │  

    See al_draw_bitmap for a │ │ │ │ note on restrictions on which bitmaps can be drawn where.

    │ │ │ │

    See also: al_draw_tinted_bitmap

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_draw_pixel

    │ │ │ │
    void al_draw_pixel(float x, float y, ALLEGRO_COLOR color)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a single pixel at x, y. This function, unlike See also: ALLEGRO_COLOR, al_put_pixel

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_draw_rotated_bitmap

    │ │ │ │
    void al_draw_rotated_bitmap(ALLEGRO_BITMAP *bitmap,
    │ │ │ │     float cx, float cy, float dx, float dy, float angle, int flags)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -2247,17 +2076,17 @@ │ │ │ │ al_draw_scaled_rotated_bitmap

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_draw_tinted_rotated_bitmap

    │ │ │ │
    void al_draw_tinted_rotated_bitmap(ALLEGRO_BITMAP *bitmap,
    │ │ │ │     ALLEGRO_COLOR tint,
    │ │ │ │     float cx, float cy, float dx, float dy, float angle, int flags)
    │ │ │ │

    al_draw_rotated_bitmap

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_blend_bench.c
    • │ │ │ │
    • ex_bitmap.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_premulalpha.c#L105">ex_premulalpha.c │ │ │ │
    • ex_bitmap_file.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_shader_multitex.c#L124">ex_shader_multitex.c │ │ │ │
    │ │ │ │

    al_draw_tinted_scaled_rotated_bitmap

    │ │ │ │
    void al_draw_tinted_scaled_rotated_bitmap(ALLEGRO_BITMAP *bitmap,
    │ │ │ │     ALLEGRO_COLOR tint,
    │ │ │ │     float cx, float cy, float dx, float dy, float xscale, float yscale,
    │ │ │ │     float angle, int flags)
    │ │ │ │ @@ -2398,15 +2227,15 @@ │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_blend_bench.c
    • │ │ │ │
    • ex_dualies.c
    • │ │ │ │
    • ex_multiwin.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_membmp.c#L50">ex_membmp.c │ │ │ │
    │ │ │ │

    al_draw_tinted_scaled_bitmap

    │ │ │ │
    void al_draw_tinted_scaled_bitmap(ALLEGRO_BITMAP *bitmap,
    │ │ │ │     ALLEGRO_COLOR tint,
    │ │ │ │     float sx, float sy, float sw, float sh,
    │ │ │ │     float dx, float dy, float dw, float dh, int flags)
    │ │ │ │

    ALLEGRO_BITMAP *al_get_target_bitmap(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the target bitmap of the calling thread.

    │ │ │ │

    See also: al_set_target_bitmap

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_put_pixel

    │ │ │ │
    void al_put_pixel(int x, int y, ALLEGRO_COLOR color)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draw a single pixel on the target bitmap. This operation is slow on │ │ │ │ non-memory bitmaps. Consider locking the bitmap if you are going to use │ │ │ │ @@ -2459,17 +2279,17 @@ │ │ │ │ href="graphics.html#al_put_blended_pixel">al_put_blended_pixel, al_lock_bitmap

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_put_blended_pixel

    │ │ │ │
    void al_put_blended_pixel(int x, int y, ALLEGRO_COLOR color)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_put_pixel, but the │ │ │ │ @@ -2541,60 +2361,33 @@ │ │ │ │

    al_set_target_bitmap(bitmap);
    │ │ │ │  al_draw_line(x1, y1, x2, y2, color, 0);
    │ │ │ │

    An OpenGL command will be used to directly draw the line into the │ │ │ │ bitmap’s associated texture.

    │ │ │ │

    See also: al_get_target_bitmap, al_set_target_backbuffer

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_target_backbuffer

    │ │ │ │
    void al_set_target_backbuffer(ALLEGRO_DISPLAY *display)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Same as │ │ │ │ al_set_target_bitmap(al_get_backbuffer(display));

    │ │ │ │

    See also: al_set_target_bitmap, al_get_backbuffer

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_current_display

    │ │ │ │
    ALLEGRO_DISPLAY *al_get_current_display(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the display that is “current” for the calling thread, or NULL │ │ │ │ if there is none.

    │ │ │ │

    See also: al_set_target_bitmap

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Blending modes

    │ │ │ │

    al_get_blender

    │ │ │ │
    void al_get_blender(int *op, int *src, int *dst)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the active blender for the current thread. You can pass NULL │ │ │ │ @@ -2726,23 +2519,14 @@ │ │ │ │ g = d.g * 0 + s.g * d.g │ │ │ │ b = d.b * 0 + s.b * d.b │ │ │ │ a = d.a * 0 + s.a * d.a │ │ │ │

    See also: al_set_separate_blender, │ │ │ │ al_set_blend_color, al_get_blender

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_separate_blender

    │ │ │ │
    void al_set_separate_blender(int op, int src, int dst,
    │ │ │ │     int alpha_op, int alpha_src, int alpha_dst)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -2750,41 +2534,27 @@ │ │ │ │ allows specifying a separate blending operation for the alpha channel. │ │ │ │ This is useful if your target bitmap also has an alpha channel and the │ │ │ │ two alpha channels need to be combined in a different way than the color │ │ │ │ components.

    │ │ │ │

    See also: al_set_blender, │ │ │ │ al_get_blender, al_get_separate_blender

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_blend_color

    │ │ │ │
    void al_set_blend_color(ALLEGRO_COLOR color)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets the color to use for blending when using the ALLEGRO_CONST_COLOR │ │ │ │ or ALLEGRO_INVERSE_CONST_COLOR blend functions. See al_set_blender for more │ │ │ │ information.

    │ │ │ │

    See also: al_set_blender, │ │ │ │ al_get_blend_color

    │ │ │ │

    Since: 5.1.12

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Clipping

    │ │ │ │

    al_get_clipping_rectangle

    │ │ │ │
    void al_get_clipping_rectangle(int *x, int *y, int *w, int *h)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -2811,19 +2581,19 @@ │ │ │ │

    See also: al_get_clipping_rectangle, │ │ │ │ al_reset_clipping_rectangle

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_reset_clipping_rectangle

    │ │ │ │
    void al_reset_clipping_rectangle(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -2844,17 +2614,17 @@ │ │ │ │

    Convert the given mask color to an alpha channel in the bitmap. Can │ │ │ │ be used to convert older 4.2-style bitmaps with magic pink to │ │ │ │ alpha-ready bitmaps.

    │ │ │ │

    See also: ALLEGRO_COLOR

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    Deferred drawing

    │ │ │ │

    al_hold_bitmap_drawing

    │ │ │ │
    void al_hold_bitmap_drawing(bool hold)
    │ │ │ │

    Source │ │ │ │ @@ -2880,17 +2650,17 @@ │ │ │ │

    See also: al_is_bitmap_drawing_held

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_is_bitmap_drawing_held

    │ │ │ │
    bool al_is_bitmap_drawing_held(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -3011,15 +2781,15 @@ │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_convert.c
    • │ │ │ │
    • ex_nodisplay.c
    • │ │ │ │
    • ex_file_slice.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_blend_bench.c#L74">ex_blend_bench.c │ │ │ │
    │ │ │ │

    al_load_bitmap_flags

    │ │ │ │
    ALLEGRO_BITMAP *al_load_bitmap_flags(const char *filename, int flags)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -3155,17 +2925,17 @@ │ │ │ │ href="graphics.html#al_register_bitmap_loader_f">al_register_bitmap_loader_f, │ │ │ │ al_init_image_addon

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_convert.c
    • │ │ │ │
    • ex_file_slice.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_record_name.c#L88">ex_record_name.c │ │ │ │
    • ex_bitmap_file.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_file_slice.c#L65">ex_file_slice.c │ │ │ │
    │ │ │ │

    al_load_bitmap_flags_f

    │ │ │ │
    ALLEGRO_BITMAP *al_load_bitmap_flags_f(ALLEGRO_FILE *fp,
    │ │ │ │     const char *ident, int flags)
    │ │ │ │

    Source │ │ │ │ @@ -3302,16 +3072,15 @@ │ │ │ │

    See also: al_init_image_addon, al_identify_bitmap, al_register_bitmap_identifier

    │ │ │ │

    Render State

    │ │ │ │

    ALLEGRO_RENDER_STATE

    │ │ │ │
    typedef enum ALLEGRO_RENDER_STATE {
    │ │ │ │ -typedef enum ALLEGRO_RENDER_STATE {
    │ │ │ │ +class="sourceCode c">typedef enum ALLEGRO_RENDER_STATE { │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Possible render states which can be set with al_set_render_state:

    │ │ │ │
    │ │ │ │
    ALLEGRO_ALPHA_TEST
    │ │ │ │ @@ -3359,16 +3128,15 @@ │ │ │ │

    See also: al_set_render_state, ALLEGRO_RENDER_FUNCTION, │ │ │ │ ALLEGRO_WRITE_MASK_FLAGS

    │ │ │ │

    ALLEGRO_RENDER_FUNCTION

    │ │ │ │
    typedef enum ALLEGRO_RENDER_FUNCTION {
    │ │ │ │ -typedef enum ALLEGRO_RENDER_FUNCTION {
    │ │ │ │ +class="sourceCode c">typedef enum ALLEGRO_RENDER_FUNCTION { │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Possible functions are:

    │ │ │ │
      │ │ │ │
    • ALLEGRO_RENDER_NEVER
    • │ │ │ │
    • ALLEGRO_RENDER_ALWAYS
    • │ │ │ │ @@ -3382,16 +3150,15 @@ │ │ │ │
    • ALLEGRO_RENDER_GREATER_EQUAL
    • │ │ │ │
    │ │ │ │

    Since: 5.1.2

    │ │ │ │

    See also: al_set_render_state

    │ │ │ │

    ALLEGRO_WRITE_MASK_FLAGS

    │ │ │ │
    typedef enum ALLEGRO_WRITE_MASK_FLAGS {
    │ │ │ │ -typedef enum ALLEGRO_WRITE_MASK_FLAGS {
    │ │ │ │ +class="sourceCode c">typedef enum ALLEGRO_WRITE_MASK_FLAGS { │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Each enabled bit means the corresponding value is written, a disabled │ │ │ │ bit means it is not.

    │ │ │ │
      │ │ │ │
    • ALLEGRO_MASK_RED
    • │ │ │ │ @@ -3439,19 +3206,19 @@ │ │ │ │ href="graphics.html#allegro_render_state">ALLEGRO_RENDER_STATE, ALLEGRO_RENDER_FUNCTION, │ │ │ │ ALLEGRO_WRITE_MASK_FLAGS

      │ │ │ │

      Examples:

      │ │ │ │ │ │ │ │

      al_backup_dirty_bitmap

      │ │ │ │
      void al_backup_dirty_bitmap(ALLEGRO_BITMAP *bitmap)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │ @@ -3482,14 +3249,11 @@ │ │ │ │

      Since: 5.2.1

      │ │ │ │
      │ │ │ │

      Unstable │ │ │ │ API: This API is new and subject to refinement.

      │ │ │ │
      │ │ │ │

      See also: al_backup_dirty_bitmap

      │ │ │ │ -

      │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

      │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -171,60 +171,42 @@ │ │ │ │ │ o al_backup_dirty_bitmap │ │ │ │ │ o al_backup_dirty_bitmaps │ │ │ │ │ These functions are declared in the main Allegro header file: │ │ │ │ │ #include │ │ │ │ │ ****** Colors ****** │ │ │ │ │ ***** ALLEGRO_COLOR ***** │ │ │ │ │ typedef struct ALLEGRO_COLOR ALLEGRO_COLOR; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_COLOR ALLEGRO_COLOR; │ │ │ │ │ Source_Code │ │ │ │ │ An ALLEGRO_COLOR structure describes a color in a device independent way. Use │ │ │ │ │ al_map_rgb et al. and al_unmap_rgb et al. to translate from and to various │ │ │ │ │ color representations. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_keyboard_focus.c │ │ │ │ │ - * ex_nodisplay.c │ │ │ │ │ - * ex_mouse_focus.c │ │ │ │ │ ***** al_map_rgb ***** │ │ │ │ │ ALLEGRO_COLOR al_map_rgb( │ │ │ │ │ │ │ │ │ │ unsigned char r, unsigned char g, unsigned char b) │ │ │ │ │ Source_Code │ │ │ │ │ Convert r, g, b (ranging from 0-255) into an ALLEGRO_COLOR, using 255 for │ │ │ │ │ alpha. │ │ │ │ │ This function can be called before Allegro is initialized. │ │ │ │ │ See also: al_map_rgba, al_map_rgba_f, al_map_rgb_f │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_keyboard_focus.c │ │ │ │ │ - * ex_enet_server.c │ │ │ │ │ - * ex_nodisplay.c │ │ │ │ │ ***** al_map_rgb_f ***** │ │ │ │ │ ALLEGRO_COLOR al_map_rgb_f(float r, float g, float b) │ │ │ │ │ Source_Code │ │ │ │ │ Convert r, g, b, (ranging from 0.0f-1.0f) into an ALLEGRO_COLOR, using 1.0f for │ │ │ │ │ alpha. │ │ │ │ │ This function can be called before Allegro is initialized. │ │ │ │ │ See also: al_map_rgba, al_map_rgb, al_map_rgba_f │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_enet_server.c │ │ │ │ │ - * ex_keyboard_events.c │ │ │ │ │ - * ex_drawpixels.c │ │ │ │ │ ***** al_map_rgba ***** │ │ │ │ │ ALLEGRO_COLOR al_map_rgba( │ │ │ │ │ │ │ │ │ │ unsigned char r, unsigned char g, unsigned char b, unsigned char a) │ │ │ │ │ Source_Code │ │ │ │ │ Convert r, g, b, a (ranging from 0-255) into an ALLEGRO_COLOR. │ │ │ │ │ This function can be called before Allegro is initialized. │ │ │ │ │ See also: al_map_rgb, al_premul_rgba, al_map_rgb_f │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_nodisplay.c │ │ │ │ │ - * ex_drawpixels.c │ │ │ │ │ - * ex_timedwait.c │ │ │ │ │ ***** al_premul_rgba ***** │ │ │ │ │ ALLEGRO_COLOR al_premul_rgba( │ │ │ │ │ │ │ │ │ │ unsigned char r, unsigned char g, unsigned char b, unsigned char a) │ │ │ │ │ Source_Code │ │ │ │ │ This is a shortcut for al_map_rgba(r * a / 255, g * a / 255, b * a / 255, a). │ │ │ │ │ By default Allegro uses pre-multiplied alpha for transparent blending of │ │ │ │ │ @@ -250,18 +232,14 @@ │ │ │ │ │ See also: al_map_rgba, al_premul_rgba_f │ │ │ │ │ ***** al_map_rgba_f ***** │ │ │ │ │ ALLEGRO_COLOR al_map_rgba_f(float r, float g, float b, float a) │ │ │ │ │ Source_Code │ │ │ │ │ Convert r, g, b, a (ranging from 0.0f-1.0f) into an ALLEGRO_COLOR. │ │ │ │ │ This function can be called before Allegro is initialized. │ │ │ │ │ See also: al_map_rgba, al_premul_rgba_f, al_map_rgb_f │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_timedwait.c │ │ │ │ │ - * ex_resize.c │ │ │ │ │ - * ex_rotate.c │ │ │ │ │ ***** al_premul_rgba_f ***** │ │ │ │ │ ALLEGRO_COLOR al_premul_rgba_f(float r, float g, float b, float a) │ │ │ │ │ Source_Code │ │ │ │ │ This is a shortcut for al_map_rgba_f(r * a, g * a, b * a, a). │ │ │ │ │ By default Allegro uses pre-multiplied alpha for transparent blending of │ │ │ │ │ bitmaps and primitives (see al_load_bitmap_flags for a discussion of that │ │ │ │ │ feature). This means that if you want to tint a bitmap or primitive to be │ │ │ │ │ @@ -288,55 +266,40 @@ │ │ │ │ │ │ │ │ │ │ unsigned char *r, unsigned char *g, unsigned char *b) │ │ │ │ │ Source_Code │ │ │ │ │ Retrieves components of an ALLEGRO_COLOR, ignoring alpha. Components will range │ │ │ │ │ from 0-255. │ │ │ │ │ This function can be called before Allegro is initialized. │ │ │ │ │ See also: al_unmap_rgba, al_unmap_rgba_f, al_unmap_rgb_f │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend_test.c │ │ │ │ │ - * ex_haiku.c │ │ │ │ │ - * ex_color_gradient.c │ │ │ │ │ ***** al_unmap_rgb_f ***** │ │ │ │ │ void al_unmap_rgb_f(ALLEGRO_COLOR color, float *r, float *g, float *b) │ │ │ │ │ Source_Code │ │ │ │ │ Retrieves components of an ALLEGRO_COLOR, ignoring alpha. Components will range │ │ │ │ │ from 0.0f-1.0f. │ │ │ │ │ This function can be called before Allegro is initialized. │ │ │ │ │ See also: al_unmap_rgba, al_unmap_rgb, al_unmap_rgba_f │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_haiku.c │ │ │ │ │ - * ex_color_gradient.c │ │ │ │ │ ***** al_unmap_rgba ***** │ │ │ │ │ void al_unmap_rgba(ALLEGRO_COLOR color, │ │ │ │ │ │ │ │ │ │ unsigned char *r, unsigned char *g, unsigned char *b, unsigned char *a) │ │ │ │ │ Source_Code │ │ │ │ │ Retrieves components of an ALLEGRO_COLOR. Components will range from 0-255. │ │ │ │ │ This function can be called before Allegro is initialized. │ │ │ │ │ See also: al_unmap_rgb, al_unmap_rgba_f, al_unmap_rgb_f │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend_test.c │ │ │ │ │ - * ex_logo.c │ │ │ │ │ ***** al_unmap_rgba_f ***** │ │ │ │ │ void al_unmap_rgba_f(ALLEGRO_COLOR color, │ │ │ │ │ │ │ │ │ │ float *r, float *g, float *b, float *a) │ │ │ │ │ Source_Code │ │ │ │ │ Retrieves components of an ALLEGRO_COLOR. Components will range from 0.0f-1.0f. │ │ │ │ │ This function can be called before Allegro is initialized. │ │ │ │ │ See also: al_unmap_rgba, al_unmap_rgb, al_unmap_rgb_f │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend_test.c │ │ │ │ │ - * ex_logo.c │ │ │ │ │ ****** Locking and pixel formats ****** │ │ │ │ │ ***** ALLEGRO_LOCKED_REGION ***** │ │ │ │ │ typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION; │ │ │ │ │ Source_Code │ │ │ │ │ Users who wish to manually edit or read from a bitmap are required to lock it │ │ │ │ │ first. The ALLEGRO_LOCKED_REGION structure represents the locked region of the │ │ │ │ │ bitmap. This call will work with any bitmap, including memory bitmaps. │ │ │ │ │ typedef struct ALLEGRO_LOCKED_REGION { │ │ │ │ │ │ │ │ │ │ void *data; │ │ │ │ │ @@ -360,22 +323,16 @@ │ │ │ │ │ * pixel_size is the number of bytes used to represent a single block of │ │ │ │ │ pixels for the pixel format of this locked region. For most formats (and │ │ │ │ │ historically, this used to be true for all formats), this is just the │ │ │ │ │ size of a single pixel, but for blocked pixel formats this value is │ │ │ │ │ different. │ │ │ │ │ See also: al_lock_bitmap, al_lock_bitmap_region, al_unlock_bitmap, ALLEGRO_ │ │ │ │ │ PIXEL_FORMAT │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_lockbitmap.c │ │ │ │ │ - * ex_premulalpha.c │ │ │ │ │ - * ex_multisample.c │ │ │ │ │ ***** ALLEGRO_PIXEL_FORMAT ***** │ │ │ │ │ typedef enum ALLEGRO_PIXEL_FORMAT │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_PIXEL_FORMAT │ │ │ │ │ Source_Code │ │ │ │ │ Pixel formats. Each pixel format specifies the exact size and bit layout of a │ │ │ │ │ pixel in memory. Components are specified from high bits to low bits, so for │ │ │ │ │ example a fully opaque red pixel in ARGB_8888 format is 0xFFFF0000. │ │ │ │ │ Note: │ │ │ │ │ The pixel format is independent of endianness. That is, in the above │ │ │ │ │ example you can always get the red component with │ │ │ │ │ @@ -469,18 +426,14 @@ │ │ │ │ │ resulting in 4x compression ratio. This format supports sharp alpha │ │ │ │ │ transitions. Since 5.1.9. │ │ │ │ │ * ALLEGRO_PIXEL_FORMAT_COMPRESSED_RGBA_DXT5 - Compressed using the DXT5 │ │ │ │ │ compression algorithm. Each 4x4 pixel block is encoded in 128 bytes, │ │ │ │ │ resulting in 4x compression ratio. This format supports smooth alpha │ │ │ │ │ transitions. Since 5.1.9. │ │ │ │ │ See also: al_set_new_bitmap_format, al_get_bitmap_format │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_convert.c │ │ │ │ │ - * ex_drawpixels.c │ │ │ │ │ - * ex_lockbitmap.c │ │ │ │ │ ***** al_get_pixel_size ***** │ │ │ │ │ int al_get_pixel_size(int format) │ │ │ │ │ Source_Code │ │ │ │ │ Return the number of bytes that a pixel of the given format occupies. For │ │ │ │ │ blocked pixel formats (e.g. compressed formats), this returns 0. │ │ │ │ │ See also: ALLEGRO_PIXEL_FORMAT, al_get_pixel_format_bits │ │ │ │ │ ***** al_get_pixel_format_bits ***** │ │ │ │ │ @@ -499,25 +452,21 @@ │ │ │ │ │ ***** al_get_pixel_block_width ***** │ │ │ │ │ int al_get_pixel_block_width(int format) │ │ │ │ │ Source_Code │ │ │ │ │ Return the width of the the pixel block for this format. │ │ │ │ │ Since: 5.1.9. │ │ │ │ │ See also: ALLEGRO_PIXEL_FORMAT, al_get_pixel_block_size, al_get_pixel_block_ │ │ │ │ │ height │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_compressed.c │ │ │ │ │ ***** al_get_pixel_block_height ***** │ │ │ │ │ int al_get_pixel_block_height(int format) │ │ │ │ │ Source_Code │ │ │ │ │ Return the height of the the pixel block for this format. │ │ │ │ │ Since: 5.1.9. │ │ │ │ │ See also: ALLEGRO_PIXEL_FORMAT, al_get_pixel_block_size, al_get_pixel_block_ │ │ │ │ │ width │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_compressed.c │ │ │ │ │ ***** al_lock_bitmap ***** │ │ │ │ │ ALLEGRO_LOCKED_REGION *al_lock_bitmap(ALLEGRO_BITMAP *bitmap, │ │ │ │ │ │ │ │ │ │ int format, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Lock an entire bitmap for reading or writing. If the bitmap is a display bitmap │ │ │ │ │ it will be updated from system memory after the bitmap is unlocked (unless │ │ │ │ │ @@ -550,15 +499,15 @@ │ │ │ │ │ operations on it (with the sole exception of al_put_pixel and al_put_ │ │ │ │ │ blended_pixel). │ │ │ │ │ See also: ALLEGRO_LOCKED_REGION, ALLEGRO_PIXEL_FORMAT, al_unlock_bitmap, al_ │ │ │ │ │ lock_bitmap_region, al_lock_bitmap_blocked, al_lock_bitmap_region_blocked │ │ │ │ │ Examples: │ │ │ │ │ * ex_drawpixels.c │ │ │ │ │ * ex_membmp.c │ │ │ │ │ - * ex_lockbitmap.c │ │ │ │ │ + * ex_premulalpha.c │ │ │ │ │ ***** al_lock_bitmap_region ***** │ │ │ │ │ ALLEGRO_LOCKED_REGION *al_lock_bitmap_region(ALLEGRO_BITMAP *bitmap, │ │ │ │ │ │ │ │ │ │ int x, int y, int width, int height, int format, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_lock_bitmap, but only locks a specific area of the bitmap. If the │ │ │ │ │ bitmap is a video bitmap, only that area of the texture will be updated when it │ │ │ │ │ @@ -569,28 +518,28 @@ │ │ │ │ │ block_height do not return 1) requires you to have the region be │ │ │ │ │ aligned to the block width for optimal performance. If it is not, │ │ │ │ │ then the function will have to lock the region with the ALLEGRO_LOCK_ │ │ │ │ │ READWRITE instead in order to pad this region with valid data. │ │ │ │ │ See also: ALLEGRO_LOCKED_REGION, ALLEGRO_PIXEL_FORMAT, al_unlock_bitmap │ │ │ │ │ Examples: │ │ │ │ │ * ex_lockbitmap.c │ │ │ │ │ - * ex_compressed.c │ │ │ │ │ * ex_threads2.c │ │ │ │ │ + * ex_compressed.c │ │ │ │ │ ***** al_unlock_bitmap ***** │ │ │ │ │ void al_unlock_bitmap(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ Source_Code │ │ │ │ │ Unlock a previously locked bitmap or bitmap region. If the bitmap is a video │ │ │ │ │ bitmap, the texture will be updated to match the system memory copy (unless it │ │ │ │ │ was locked read only). │ │ │ │ │ See also: al_lock_bitmap, al_lock_bitmap_region, al_lock_bitmap_blocked, al_ │ │ │ │ │ lock_bitmap_region_blocked │ │ │ │ │ Examples: │ │ │ │ │ * ex_drawpixels.c │ │ │ │ │ - * ex_lockbitmap.c │ │ │ │ │ * ex_premulalpha.c │ │ │ │ │ + * ex_blend.c │ │ │ │ │ ***** al_lock_bitmap_blocked ***** │ │ │ │ │ ALLEGRO_LOCKED_REGION *al_lock_bitmap_blocked(ALLEGRO_BITMAP *bitmap, │ │ │ │ │ │ │ │ │ │ int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_lock_bitmap, but allows locking bitmaps with a blocked pixel format │ │ │ │ │ (i.e. a format for which al_get_pixel_block_width or al_get_pixel_block_height │ │ │ │ │ @@ -613,22 +562,16 @@ │ │ │ │ │ Since: 5.1.9 │ │ │ │ │ See also: al_lock_bitmap_region, al_lock_bitmap_blocked │ │ │ │ │ Examples: │ │ │ │ │ * ex_compressed.c │ │ │ │ │ ****** Bitmap creation ****** │ │ │ │ │ ***** ALLEGRO_BITMAP ***** │ │ │ │ │ typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP; │ │ │ │ │ Source_Code │ │ │ │ │ Abstract type representing a bitmap (2D image). │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_convert.c │ │ │ │ │ - * ex_nodisplay.c │ │ │ │ │ - * ex_opengl_pixel_shader.c │ │ │ │ │ ***** al_create_bitmap ***** │ │ │ │ │ ALLEGRO_BITMAP *al_create_bitmap(int w, int h) │ │ │ │ │ Source_Code │ │ │ │ │ Creates a new bitmap using the bitmap format and flags for the current thread. │ │ │ │ │ Blitting between bitmaps of differing formats, or blitting between memory │ │ │ │ │ bitmaps and display bitmaps may be slow. │ │ │ │ │ Unless you set the ALLEGRO_MEMORY_BITMAP flag, the bitmap is created for the │ │ │ │ │ @@ -671,15 +614,15 @@ │ │ │ │ │ When you are done with using the bitmap you must call al_destroy_bitmap on it │ │ │ │ │ to free any resources allocated for it. │ │ │ │ │ See also: al_set_new_bitmap_format, al_set_new_bitmap_flags, al_clone_bitmap, │ │ │ │ │ al_create_sub_bitmap, al_convert_memory_bitmaps, al_destroy_bitmap │ │ │ │ │ Examples: │ │ │ │ │ * ex_nodisplay.c │ │ │ │ │ * ex_opengl_pixel_shader.c │ │ │ │ │ - * ex_icon2.c │ │ │ │ │ + * ex_pixelformat.cpp │ │ │ │ │ ***** al_create_sub_bitmap ***** │ │ │ │ │ ALLEGRO_BITMAP *al_create_sub_bitmap(ALLEGRO_BITMAP *parent, │ │ │ │ │ │ │ │ │ │ int x, int y, int w, int h) │ │ │ │ │ Source_Code │ │ │ │ │ Creates a sub-bitmap of the parent, at the specified coordinates and of the │ │ │ │ │ specified size. A sub-bitmap is a bitmap that shares drawing memory with a pre- │ │ │ │ │ @@ -694,31 +637,31 @@ │ │ │ │ │ it to free any resources allocated for it. │ │ │ │ │ Note that destroying parents of sub-bitmaps will not destroy the sub-bitmaps; │ │ │ │ │ instead the sub-bitmaps become invalid and should no longer be used for drawing │ │ │ │ │ - they still must be destroyed with al_destroy_bitmap however. It does not │ │ │ │ │ matter whether you destroy a sub-bitmap before or after its parent otherwise. │ │ │ │ │ See also: al_create_bitmap │ │ │ │ │ Examples: │ │ │ │ │ - * ex_blend_target.c │ │ │ │ │ - * ex_subbitmap.c │ │ │ │ │ * ex_shader_target.c │ │ │ │ │ + * ex_blend_target.c │ │ │ │ │ + * ex_multisample_target.c │ │ │ │ │ ***** al_clone_bitmap ***** │ │ │ │ │ ALLEGRO_BITMAP *al_clone_bitmap(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ Source_Code │ │ │ │ │ Create a new bitmap with al_create_bitmap, and copy the pixel data from the old │ │ │ │ │ bitmap across. The newly created bitmap will be created with the current new │ │ │ │ │ bitmap flags, and not the ones that were used to create the original bitmap. If │ │ │ │ │ the new bitmap is a memory bitmap, its projection bitmap is reset to be │ │ │ │ │ orthographic. │ │ │ │ │ See also: al_create_bitmap, al_set_new_bitmap_format, al_set_new_bitmap_flags, │ │ │ │ │ al_convert_bitmap │ │ │ │ │ Examples: │ │ │ │ │ - * ex_subbitmap.c │ │ │ │ │ - * ex_font.c │ │ │ │ │ * ex_blend2.cpp │ │ │ │ │ + * ex_premulalpha.c │ │ │ │ │ + * ex_font.c │ │ │ │ │ ***** al_convert_bitmap ***** │ │ │ │ │ void al_convert_bitmap(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ Source_Code │ │ │ │ │ Converts the bitmap to the current bitmap flags and format. The bitmap will be │ │ │ │ │ as if it was created anew with al_create_bitmap but retain its contents. All of │ │ │ │ │ this bitmap’s sub-bitmaps are also converted. If the new bitmap type is memory, │ │ │ │ │ then the bitmap’s projection bitmap is reset to be orthographic. │ │ │ │ │ @@ -759,16 +702,14 @@ │ │ │ │ │ * ex_nodisplay.c │ │ │ │ │ * ex_blend_bench.c │ │ │ │ │ ***** al_get_new_bitmap_flags ***** │ │ │ │ │ int al_get_new_bitmap_flags(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the flags used for newly created bitmaps. │ │ │ │ │ See also: al_set_new_bitmap_flags │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_get_new_bitmap_format ***** │ │ │ │ │ int al_get_new_bitmap_format(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the format used for newly created bitmaps. │ │ │ │ │ See also: ALLEGRO_PIXEL_FORMAT, al_set_new_bitmap_format │ │ │ │ │ ***** al_set_new_bitmap_flags ***** │ │ │ │ │ void al_set_new_bitmap_flags(int flags) │ │ │ │ │ @@ -832,49 +773,37 @@ │ │ │ │ │ ALLEGRO_MIPMAP │ │ │ │ │ This can only be used for bitmaps whose width and height is a power of │ │ │ │ │ two. In that case, it will generate mipmaps and use them when drawing │ │ │ │ │ scaled down versions. For example if the bitmap is 64x64, then extra │ │ │ │ │ bitmaps of sizes 32x32, 16x16, 8x8, 4x4, 2x2 and 1x1 will be created │ │ │ │ │ always containing a scaled down version of the original. │ │ │ │ │ See also: al_get_new_bitmap_flags, al_get_bitmap_flags │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_convert.c │ │ │ │ │ - * ex_blend_bench.c │ │ │ │ │ - * ex_icon2.c │ │ │ │ │ ***** al_add_new_bitmap_flag ***** │ │ │ │ │ void al_add_new_bitmap_flag(int flag) │ │ │ │ │ Source_Code │ │ │ │ │ A convenience function which does the same as │ │ │ │ │ al_set_new_bitmap_flags(al_get_new_bitmap_flags() | flag); │ │ │ │ │ See also: al_set_new_bitmap_flags, al_get_new_bitmap_flags, al_get_bitmap_flags │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend2.cpp │ │ │ │ │ ***** al_set_new_bitmap_format ***** │ │ │ │ │ void al_set_new_bitmap_format(int format) │ │ │ │ │ Source_Code │ │ │ │ │ Sets the pixel format (ALLEGRO_PIXEL_FORMAT) for newly created bitmaps. The │ │ │ │ │ default format is 0 and means the display driver will choose the best format. │ │ │ │ │ See also: ALLEGRO_PIXEL_FORMAT, al_get_new_bitmap_format, al_get_bitmap_format │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_convert.c │ │ │ │ │ - * ex_pixelformat.cpp │ │ │ │ │ - * ex_blend_test.c │ │ │ │ │ ***** al_set_new_bitmap_depth ***** │ │ │ │ │ void al_set_new_bitmap_depth(int depth) │ │ │ │ │ │ │ │ │ │ SETTER(new_bitmap_depth, depth) │ │ │ │ │ Source_Code │ │ │ │ │ Sets the depthbuffer depth used by newly created bitmaps (on the current │ │ │ │ │ thread) if they are used with al_set_target_bitmap. 0 means no depth-buffer │ │ │ │ │ will be created when drawing into the bitmap, which is the default. │ │ │ │ │ Since: 5.2.1 │ │ │ │ │ Unstable_API: This is an experimental feature and currently only │ │ │ │ │ works for the OpenGL backend. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_depth_target.c │ │ │ │ │ ***** al_get_new_bitmap_depth ***** │ │ │ │ │ int al_get_new_bitmap_depth(void) │ │ │ │ │ │ │ │ │ │ GETTER(new_bitmap_depth, 0) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the value currently set with al_set_new_bitmap_depth on the current │ │ │ │ │ thread or 0 if none was set. │ │ │ │ │ @@ -904,17 +833,14 @@ │ │ │ │ │ al_set_target_bitmap(backbuffer); │ │ │ │ │ al_lock_bitmap(multisample, ...) │ │ │ │ │ // CORRECT: at this point, the bitmap contents are updated and │ │ │ │ │ // there will be an anti-aliased line in it. │ │ │ │ │ Since: 5.2.1 │ │ │ │ │ Unstable_API: This is an experimental feature and currently only │ │ │ │ │ works for the OpenGL backend. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_multisample_target.c │ │ │ │ │ - * ex_depth_target.c │ │ │ │ │ ***** al_get_new_bitmap_samples ***** │ │ │ │ │ int al_get_new_bitmap_samples(void) │ │ │ │ │ │ │ │ │ │ GETTER(new_bitmap_samples, 0) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the value currently set with al_set_new_bitmap_samples on the current │ │ │ │ │ thread or 0 if none was set. │ │ │ │ │ @@ -933,43 +859,35 @@ │ │ │ │ │ per-texture. This interacts particularly poorly with the primitives │ │ │ │ │ addon which (for backwards compatibility) alters the wrapping │ │ │ │ │ setting. To minimize this issue, use a wrapping setting that’s not │ │ │ │ │ ALLEGRO_BITMAP_WRAP_DEFAULT. │ │ │ │ │ Since: 5.2.8 │ │ │ │ │ Unstable_API: This is an experimental feature. │ │ │ │ │ See also: ALLEGRO_BITMAP_WRAP │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim_wrap.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_get_new_bitmap_wrap ***** │ │ │ │ │ Source Code │ │ │ │ │ Returns the value currently set with al_set_new_bitmap_wrap on the current │ │ │ │ │ thread. │ │ │ │ │ Since: 5.2.8 │ │ │ │ │ Unstable_API: This is an experimental feature. │ │ │ │ │ See also: ALLEGRO_BITMAP_WRAP │ │ │ │ │ ***** ALLEGRO_BITMAP_WRAP ***** │ │ │ │ │ typedef enum ALLEGRO_BITMAP_WRAP { │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_BITMAP_WRAP { │ │ │ │ │ Source_Code │ │ │ │ │ Controls the how the pixel color is determined from a texture querying the │ │ │ │ │ texture coordinates are outside the usual bounds. │ │ │ │ │ * ALLEGRO_BITMAP_WRAP_DEFAULT - The default behavior. This corresponds to │ │ │ │ │ ALLEGRO_BITMAP_WRAP_REPEAT when using the primitives addon and ALLEGRO_ │ │ │ │ │ BITMAP_WRAP_CLAMP otherwise. │ │ │ │ │ * ALLEGRO_BITMAP_WRAP_REPEAT - The texture coordinates get shifted to the │ │ │ │ │ opposite edge that they go past. │ │ │ │ │ * ALLEGRO_BITMAP_WRAP_CLAMP - The texture coordinates get clamped to the │ │ │ │ │ edges that they go past. │ │ │ │ │ * ALLEGRO_BITMAP_WRAP_MIRROR - The texture coordinates get mirrored across │ │ │ │ │ the edges that they go past. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim_wrap.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ****** Bitmap properties ****** │ │ │ │ │ ***** al_get_bitmap_flags ***** │ │ │ │ │ int al_get_bitmap_flags(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ Source_Code │ │ │ │ │ Return the flags used to create the bitmap. │ │ │ │ │ See also: al_set_new_bitmap_flags │ │ │ │ │ Examples: │ │ │ │ │ @@ -984,24 +902,24 @@ │ │ │ │ │ * ex_compressed.c │ │ │ │ │ * ex_draw.c │ │ │ │ │ ***** al_get_bitmap_height ***** │ │ │ │ │ int al_get_bitmap_height(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the height of a bitmap in pixels. │ │ │ │ │ Examples: │ │ │ │ │ - * ex_multiwin.c │ │ │ │ │ + * ex_color.cpp │ │ │ │ │ * ex_resize.c │ │ │ │ │ - * ex_blend_target.c │ │ │ │ │ + * ex_pixelformat.cpp │ │ │ │ │ ***** al_get_bitmap_width ***** │ │ │ │ │ int al_get_bitmap_width(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the width of a bitmap in pixels. │ │ │ │ │ Examples: │ │ │ │ │ + * ex_color.cpp │ │ │ │ │ * ex_font_justify.cpp │ │ │ │ │ - * ex_multiwin.c │ │ │ │ │ * ex_resize.c │ │ │ │ │ ***** al_get_bitmap_depth ***** │ │ │ │ │ int al_get_bitmap_depth(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ Source_Code │ │ │ │ │ Return the depthbuffer depth used by this bitmap if it is used with al_set_ │ │ │ │ │ target_bitmap. │ │ │ │ │ Since: 5.2.1 │ │ │ │ │ @@ -1020,16 +938,16 @@ │ │ │ │ │ Source_Code │ │ │ │ │ Get a pixel’s color value from the specified bitmap. This operation is slow on │ │ │ │ │ non-memory bitmaps. Consider locking the bitmap if you are going to use this │ │ │ │ │ function multiple times on the same bitmap. │ │ │ │ │ See also: ALLEGRO_COLOR, al_put_pixel, al_lock_bitmap │ │ │ │ │ Examples: │ │ │ │ │ * ex_blend_test.c │ │ │ │ │ - * ex_compressed.c │ │ │ │ │ * ex_vertex_buffer.c │ │ │ │ │ + * ex_compressed.c │ │ │ │ │ ***** al_is_bitmap_locked ***** │ │ │ │ │ bool al_is_bitmap_locked(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ Source_Code │ │ │ │ │ Returns whether or not a bitmap is already locked. │ │ │ │ │ See also: al_lock_bitmap, al_lock_bitmap_region, al_unlock_bitmap │ │ │ │ │ ***** al_is_compatible_bitmap ***** │ │ │ │ │ bool al_is_compatible_bitmap(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ @@ -1094,16 +1012,16 @@ │ │ │ │ │ bitmap pointer stays the same. This has many uses, for example an animation │ │ │ │ │ player could return a single bitmap which can just be re-parented to different │ │ │ │ │ animation frames without having to re-draw the contents. Or a sprite atlas │ │ │ │ │ could re-arrange its sprites without having to invalidate all existing bitmaps. │ │ │ │ │ See also: al_create_sub_bitmap, al_get_parent_bitmap │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ Examples: │ │ │ │ │ - * ex_reparent.c │ │ │ │ │ * ex_multisample_target.c │ │ │ │ │ + * ex_reparent.c │ │ │ │ │ ***** al_get_bitmap_blender ***** │ │ │ │ │ void al_get_bitmap_blender(int *op, int *src, int *dst) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the current blender being used by the target bitmap. You can pass NULL │ │ │ │ │ for values you are not interested in. │ │ │ │ │ Since: 5.2.5 │ │ │ │ │ Unstable_API: New API. │ │ │ │ │ @@ -1175,17 +1093,17 @@ │ │ │ │ │ created in a thread. │ │ │ │ │ ***** al_clear_to_color ***** │ │ │ │ │ void al_clear_to_color(ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Clear the complete target bitmap, but confined by the clipping rectangle. │ │ │ │ │ See also: ALLEGRO_COLOR, al_set_clipping_rectangle, al_clear_depth_buffer │ │ │ │ │ Examples: │ │ │ │ │ + * ex_audio_props.cpp │ │ │ │ │ + * ex_font_multiline.cpp │ │ │ │ │ * ex_keyboard_focus.c │ │ │ │ │ - * ex_nodisplay.c │ │ │ │ │ - * ex_mouse_focus.c │ │ │ │ │ ***** al_clear_depth_buffer ***** │ │ │ │ │ void al_clear_depth_buffer(float z) │ │ │ │ │ Source_Code │ │ │ │ │ Clear the depth buffer (confined by the clipping rectangle) to the given value. │ │ │ │ │ A depth buffer is only available if it was requested with al_set_new_display_ │ │ │ │ │ option and the requirement could be met by the al_create_display call creating │ │ │ │ │ the current display. Operations involving the depth buffer are also affected by │ │ │ │ │ @@ -1193,17 +1111,17 @@ │ │ │ │ │ For example, if ALLEGRO_DEPTH_FUNCTION is set to ALLEGRO_RENDER_LESS then depth │ │ │ │ │ buffer value of 1 represents infinite distance, and thus is a good value to use │ │ │ │ │ when clearing the depth buffer. │ │ │ │ │ Since: 5.1.2 │ │ │ │ │ See also: al_clear_to_color, al_set_clipping_rectangle, al_set_render_state, │ │ │ │ │ al_set_new_display_option │ │ │ │ │ Examples: │ │ │ │ │ - * ex_depth_mask.c │ │ │ │ │ * ex_depth_target.c │ │ │ │ │ - * ex_projection2.c │ │ │ │ │ + * ex_depth_mask.c │ │ │ │ │ + * ex_camera.c │ │ │ │ │ ***** al_draw_bitmap ***** │ │ │ │ │ void al_draw_bitmap(ALLEGRO_BITMAP *bitmap, float dx, float dy, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Draws an unscaled, unrotated bitmap at the given position to the current target │ │ │ │ │ bitmap (see al_set_target_bitmap). │ │ │ │ │ flags can be a combination of: │ │ │ │ │ * ALLEGRO_FLIP_HORIZONTAL - flip the bitmap about the y-axis │ │ │ │ │ @@ -1218,16 +1136,16 @@ │ │ │ │ │ draw it to a temporary bitmap first with no active transformation │ │ │ │ │ (except translation). Blending and tinting settings/parameters will │ │ │ │ │ be ignored. This does not apply when drawing into a memory bitmap. │ │ │ │ │ See also: al_draw_bitmap_region, al_draw_scaled_bitmap, al_draw_rotated_bitmap, │ │ │ │ │ al_draw_scaled_rotated_bitmap │ │ │ │ │ Examples: │ │ │ │ │ * ex_nodisplay.c │ │ │ │ │ - * ex_opengl_pixel_shader.c │ │ │ │ │ * ex_blend_bench.c │ │ │ │ │ + * ex_opengl_pixel_shader.c │ │ │ │ │ ***** al_draw_tinted_bitmap ***** │ │ │ │ │ void al_draw_tinted_bitmap(ALLEGRO_BITMAP *bitmap, ALLEGRO_COLOR tint, │ │ │ │ │ │ │ │ │ │ float dx, float dy, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_draw_bitmap but multiplies all colors in the bitmap with the given │ │ │ │ │ color. For example: │ │ │ │ │ @@ -1237,15 +1155,15 @@ │ │ │ │ │ al_draw_tinted_bitmap(bitmap, al_map_rgba_f(1, 0, 0, 1), x, y, 0); │ │ │ │ │ The above will only draw the red component of the bitmap. │ │ │ │ │ See al_draw_bitmap for a note on restrictions on which bitmaps can be drawn │ │ │ │ │ where. │ │ │ │ │ See also: al_draw_bitmap │ │ │ │ │ Examples: │ │ │ │ │ * ex_nodisplay.c │ │ │ │ │ - * ex_expose.c │ │ │ │ │ + * ex_shader_target.c │ │ │ │ │ * ex_bitmap_flip.c │ │ │ │ │ ***** al_draw_bitmap_region ***** │ │ │ │ │ void al_draw_bitmap_region(ALLEGRO_BITMAP *bitmap, │ │ │ │ │ │ │ │ │ │ float sx, float sy, float sw, float sh, float dx, float dy, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a region of the given bitmap to the target bitmap. │ │ │ │ │ @@ -1257,16 +1175,16 @@ │ │ │ │ │ * dy - destination y │ │ │ │ │ * flags - same as for al_draw_bitmap │ │ │ │ │ See al_draw_bitmap for a note on restrictions on which bitmaps can be drawn │ │ │ │ │ where. │ │ │ │ │ See also: al_draw_bitmap, al_draw_scaled_bitmap, al_draw_rotated_bitmap, al_ │ │ │ │ │ draw_scaled_rotated_bitmap │ │ │ │ │ Examples: │ │ │ │ │ + * ex_blend.c │ │ │ │ │ * ex_font.c │ │ │ │ │ - * ex_clip.c │ │ │ │ │ * ex_blit.c │ │ │ │ │ ***** al_draw_tinted_bitmap_region ***** │ │ │ │ │ void al_draw_tinted_bitmap_region(ALLEGRO_BITMAP *bitmap, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR tint, │ │ │ │ │ │ │ │ │ │ float sx, float sy, float sw, float sh, float dx, float dy, │ │ │ │ │ @@ -1275,16 +1193,16 @@ │ │ │ │ │ Source_Code │ │ │ │ │ Like al_draw_bitmap_region but multiplies all colors in the bitmap with the │ │ │ │ │ given color. │ │ │ │ │ See al_draw_bitmap for a note on restrictions on which bitmaps can be drawn │ │ │ │ │ where. │ │ │ │ │ See also: al_draw_tinted_bitmap │ │ │ │ │ Examples: │ │ │ │ │ - * ex_transform.c │ │ │ │ │ * ex_ttf.c │ │ │ │ │ + * ex_transform.c │ │ │ │ │ ***** al_draw_pixel ***** │ │ │ │ │ void al_draw_pixel(float x, float y, ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a single pixel at x, y. This function, unlike al_put_pixel, does blending │ │ │ │ │ and, unlike al_put_blended_pixel, respects the transformations (that is, the │ │ │ │ │ pixel’s position is transformed, but its size is unaffected - it remains a │ │ │ │ │ pixel). This function can be slow if called often; if you need to draw a lot of │ │ │ │ │ @@ -1296,16 +1214,16 @@ │ │ │ │ │ Note: This function may not draw exactly where you expect it to. See │ │ │ │ │ the pixel-precise_output_section on the primitives addon │ │ │ │ │ documentation for details on how to control exactly where the pixel │ │ │ │ │ is drawn. │ │ │ │ │ See also: ALLEGRO_COLOR, al_put_pixel │ │ │ │ │ Examples: │ │ │ │ │ * ex_drawpixels.c │ │ │ │ │ - * ex_blend_test.c │ │ │ │ │ * ex_resample_test.c │ │ │ │ │ + * ex_blend_test.c │ │ │ │ │ ***** al_draw_rotated_bitmap ***** │ │ │ │ │ void al_draw_rotated_bitmap(ALLEGRO_BITMAP *bitmap, │ │ │ │ │ │ │ │ │ │ float cx, float cy, float dx, float dy, float angle, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a rotated version of the given bitmap to the target bitmap. The bitmap is │ │ │ │ │ rotated by ‘angle’ radians clockwise. │ │ │ │ │ @@ -1327,16 +1245,16 @@ │ │ │ │ │ The above code draws the bitmap centered on x/y and rotates it 90° clockwise. │ │ │ │ │ See al_draw_bitmap for a note on restrictions on which bitmaps can be drawn │ │ │ │ │ where. │ │ │ │ │ See also: al_draw_bitmap, al_draw_bitmap_region, al_draw_scaled_bitmap, al_ │ │ │ │ │ draw_scaled_rotated_bitmap │ │ │ │ │ Examples: │ │ │ │ │ * ex_blend2.cpp │ │ │ │ │ - * ex_multisample.c │ │ │ │ │ * ex_multisample_target.c │ │ │ │ │ + * ex_multisample.c │ │ │ │ │ ***** al_draw_tinted_rotated_bitmap ***** │ │ │ │ │ void al_draw_tinted_rotated_bitmap(ALLEGRO_BITMAP *bitmap, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR tint, │ │ │ │ │ │ │ │ │ │ float cx, float cy, float dx, float dy, float angle, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ @@ -1367,16 +1285,16 @@ │ │ │ │ │ * flags - same as for al_draw_bitmap │ │ │ │ │ See al_draw_bitmap for a note on restrictions on which bitmaps can be drawn │ │ │ │ │ where. │ │ │ │ │ See also: al_draw_bitmap, al_draw_bitmap_region, al_draw_scaled_bitmap, al_ │ │ │ │ │ draw_rotated_bitmap │ │ │ │ │ Examples: │ │ │ │ │ * ex_blend_bench.c │ │ │ │ │ - * ex_bitmap.c │ │ │ │ │ - * ex_bitmap_file.c │ │ │ │ │ + * ex_premulalpha.c │ │ │ │ │ + * ex_shader_multitex.c │ │ │ │ │ ***** al_draw_tinted_scaled_rotated_bitmap ***** │ │ │ │ │ void al_draw_tinted_scaled_rotated_bitmap(ALLEGRO_BITMAP *bitmap, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR tint, │ │ │ │ │ │ │ │ │ │ float cx, float cy, float dx, float dy, float xscale, float yscale, │ │ │ │ │ │ │ │ │ │ @@ -1441,15 +1359,15 @@ │ │ │ │ │ See al_draw_bitmap for a note on restrictions on which bitmaps can be drawn │ │ │ │ │ where. │ │ │ │ │ See also: al_draw_bitmap, al_draw_bitmap_region, al_draw_rotated_bitmap, al_ │ │ │ │ │ draw_scaled_rotated_bitmap, │ │ │ │ │ Examples: │ │ │ │ │ * ex_blend_bench.c │ │ │ │ │ * ex_dualies.c │ │ │ │ │ - * ex_multiwin.c │ │ │ │ │ + * ex_membmp.c │ │ │ │ │ ***** al_draw_tinted_scaled_bitmap ***** │ │ │ │ │ void al_draw_tinted_scaled_bitmap(ALLEGRO_BITMAP *bitmap, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR tint, │ │ │ │ │ │ │ │ │ │ float sx, float sy, float sw, float sh, │ │ │ │ │ │ │ │ │ │ @@ -1465,30 +1383,26 @@ │ │ │ │ │ * ex_blend2.cpp │ │ │ │ │ * ex_transform.c │ │ │ │ │ ***** al_get_target_bitmap ***** │ │ │ │ │ ALLEGRO_BITMAP *al_get_target_bitmap(void) │ │ │ │ │ Source_Code │ │ │ │ │ Return the target bitmap of the calling thread. │ │ │ │ │ See also: al_set_target_bitmap │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font_justify.cpp │ │ │ │ │ - * ex_resize.c │ │ │ │ │ - * ex_membmp.c │ │ │ │ │ ***** al_put_pixel ***** │ │ │ │ │ void al_put_pixel(int x, int y, ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Draw a single pixel on the target bitmap. This operation is slow on non-memory │ │ │ │ │ bitmaps. Consider locking the bitmap if you are going to use this function │ │ │ │ │ multiple times on the same bitmap. This function is not affected by the │ │ │ │ │ transformations or the color blenders. │ │ │ │ │ See also: ALLEGRO_COLOR, al_get_pixel, al_put_blended_pixel, al_lock_bitmap │ │ │ │ │ Examples: │ │ │ │ │ * ex_drawpixels.c │ │ │ │ │ - * ex_icon2.c │ │ │ │ │ * ex_icon.c │ │ │ │ │ + * ex_icon2.c │ │ │ │ │ ***** al_put_blended_pixel ***** │ │ │ │ │ void al_put_blended_pixel(int x, int y, ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_put_pixel, but the pixel color is blended using the current blenders │ │ │ │ │ before being drawn. │ │ │ │ │ See also: ALLEGRO_COLOR, al_put_pixel │ │ │ │ │ ****** Target bitmap ****** │ │ │ │ │ @@ -1541,37 +1455,25 @@ │ │ │ │ │ In this example an FBO is created however: │ │ │ │ │ al_set_target_bitmap(bitmap); │ │ │ │ │ │ │ │ │ │ al_draw_line(x1, y1, x2, y2, color, 0); │ │ │ │ │ An OpenGL command will be used to directly draw the line into the bitmap’s │ │ │ │ │ associated texture. │ │ │ │ │ See also: al_get_target_bitmap, al_set_target_backbuffer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_nodisplay.c │ │ │ │ │ - * ex_opengl_pixel_shader.c │ │ │ │ │ - * ex_blend_bench.c │ │ │ │ │ ***** al_set_target_backbuffer ***** │ │ │ │ │ void al_set_target_backbuffer(ALLEGRO_DISPLAY *display) │ │ │ │ │ Source_Code │ │ │ │ │ Same as al_set_target_bitmap(al_get_backbuffer(display)); │ │ │ │ │ See also: al_set_target_bitmap, al_get_backbuffer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_keyboard_focus.c │ │ │ │ │ - * ex_mouse_focus.c │ │ │ │ │ - * ex_opengl_pixel_shader.c │ │ │ │ │ ***** al_get_current_display ***** │ │ │ │ │ ALLEGRO_DISPLAY *al_get_current_display(void) │ │ │ │ │ Source_Code │ │ │ │ │ Return the display that is “current” for the calling thread, or NULL if there │ │ │ │ │ is none. │ │ │ │ │ See also: al_set_target_bitmap │ │ │ │ │ -Examples: │ │ │ │ │ - * common.c │ │ │ │ │ - * ex_vsync.c │ │ │ │ │ - * ex_color2.c │ │ │ │ │ ****** Blending modes ****** │ │ │ │ │ ***** al_get_blender ***** │ │ │ │ │ void al_get_blender(int *op, int *src, int *dst) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the active blender for the current thread. You can pass NULL for values │ │ │ │ │ you are not interested in. │ │ │ │ │ See also: al_set_blender, al_get_separate_blender │ │ │ │ │ @@ -1669,42 +1571,32 @@ │ │ │ │ │ al_set_blend_color(al_map_rgba_f(0.5, 0.5, 0.5, 0.5)); │ │ │ │ │ As formula: │ │ │ │ │ r = d.r * 0 + s.r * d.r │ │ │ │ │ g = d.g * 0 + s.g * d.g │ │ │ │ │ b = d.b * 0 + s.b * d.b │ │ │ │ │ a = d.a * 0 + s.a * d.a │ │ │ │ │ See also: al_set_separate_blender, al_set_blend_color, al_get_blender │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend_bench.c │ │ │ │ │ - * ex_rotate.c │ │ │ │ │ - * ex_membmp.c │ │ │ │ │ ***** al_set_separate_blender ***** │ │ │ │ │ void al_set_separate_blender(int op, int src, int dst, │ │ │ │ │ │ │ │ │ │ int alpha_op, int alpha_src, int alpha_dst) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_set_blender, but allows specifying a separate blending operation for │ │ │ │ │ the alpha channel. This is useful if your target bitmap also has an alpha │ │ │ │ │ channel and the two alpha channels need to be combined in a different way than │ │ │ │ │ the color components. │ │ │ │ │ See also: al_set_blender, al_get_blender, al_get_separate_blender │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend_test.c │ │ │ │ │ - * ex_blend2.cpp │ │ │ │ │ - * ex_logo.c │ │ │ │ │ ***** al_set_blend_color ***** │ │ │ │ │ void al_set_blend_color(ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Sets the color to use for blending when using the ALLEGRO_CONST_COLOR or │ │ │ │ │ ALLEGRO_INVERSE_CONST_COLOR blend functions. See al_set_blender for more │ │ │ │ │ information. │ │ │ │ │ See also: al_set_blender, al_get_blend_color │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend2.cpp │ │ │ │ │ ****** Clipping ****** │ │ │ │ │ ***** al_get_clipping_rectangle ***** │ │ │ │ │ void al_get_clipping_rectangle(int *x, int *y, int *w, int *h) │ │ │ │ │ Source_Code │ │ │ │ │ Gets the clipping rectangle of the target bitmap. │ │ │ │ │ See also: al_set_clipping_rectangle │ │ │ │ │ Examples: │ │ │ │ │ @@ -1714,17 +1606,17 @@ │ │ │ │ │ ***** al_set_clipping_rectangle ***** │ │ │ │ │ void al_set_clipping_rectangle(int x, int y, int width, int height) │ │ │ │ │ Source_Code │ │ │ │ │ Set the region of the target bitmap or display that pixels get clipped to. The │ │ │ │ │ default is to clip pixels to the entire bitmap. │ │ │ │ │ See also: al_get_clipping_rectangle, al_reset_clipping_rectangle │ │ │ │ │ Examples: │ │ │ │ │ + * nihgui.cpp │ │ │ │ │ * ex_rotate.c │ │ │ │ │ * ex_scale.c │ │ │ │ │ - * ex_lines.c │ │ │ │ │ ***** al_reset_clipping_rectangle ***** │ │ │ │ │ void al_reset_clipping_rectangle(void) │ │ │ │ │ Source_Code │ │ │ │ │ Equivalent to calling `al_set_clipping_rectangle(0, 0, w, h)’ where w and h are │ │ │ │ │ the width and height of the target bitmap respectively. │ │ │ │ │ Does nothing if there is no target bitmap. │ │ │ │ │ See also: al_set_clipping_rectangle │ │ │ │ │ @@ -1733,16 +1625,16 @@ │ │ │ │ │ ***** al_convert_mask_to_alpha ***** │ │ │ │ │ void al_convert_mask_to_alpha(ALLEGRO_BITMAP *bitmap, ALLEGRO_COLOR mask_color) │ │ │ │ │ Source_Code │ │ │ │ │ Convert the given mask color to an alpha channel in the bitmap. Can be used to │ │ │ │ │ convert older 4.2-style bitmaps with magic pink to alpha-ready bitmaps. │ │ │ │ │ See also: ALLEGRO_COLOR │ │ │ │ │ Examples: │ │ │ │ │ - * ex_android.c │ │ │ │ │ * ex_projection.c │ │ │ │ │ + * ex_android.c │ │ │ │ │ ****** Deferred drawing ****** │ │ │ │ │ ***** al_hold_bitmap_drawing ***** │ │ │ │ │ void al_hold_bitmap_drawing(bool hold) │ │ │ │ │ Source_Code │ │ │ │ │ Enables or disables deferred bitmap drawing. This allows for efficient drawing │ │ │ │ │ of many bitmaps that share a parent bitmap, such as sub-bitmaps from a │ │ │ │ │ tilesheet or simply identical bitmaps. Drawing bitmaps that do not share a │ │ │ │ │ @@ -1758,16 +1650,16 @@ │ │ │ │ │ as many bitmaps as possible, taking care to stagger bitmaps that share parent │ │ │ │ │ bitmaps, and then disable deferred drawing. As mentioned above, this function │ │ │ │ │ also works with bitmap and truetype fonts, so if multiple lines of text need to │ │ │ │ │ be drawn, this function can speed things up. │ │ │ │ │ See also: al_is_bitmap_drawing_held │ │ │ │ │ Examples: │ │ │ │ │ * ex_depth_mask.c │ │ │ │ │ - * ex_draw_bitmap.c │ │ │ │ │ * ex_ttf.c │ │ │ │ │ + * ex_draw_bitmap.c │ │ │ │ │ ***** al_is_bitmap_drawing_held ***** │ │ │ │ │ bool al_is_bitmap_drawing_held(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns whether the deferred bitmap drawing mode is turned on or off. │ │ │ │ │ See also: al_hold_bitmap_drawing │ │ │ │ │ ****** Image I/O ****** │ │ │ │ │ ***** al_register_bitmap_loader ***** │ │ │ │ │ @@ -1834,15 +1726,15 @@ │ │ │ │ │ formats by default. You must use the allegro_image addon, or register │ │ │ │ │ your own format handler. │ │ │ │ │ See also: al_load_bitmap_flags, al_load_bitmap_f, al_register_bitmap_loader, │ │ │ │ │ al_set_new_bitmap_format, al_set_new_bitmap_flags, al_init_image_addon │ │ │ │ │ Examples: │ │ │ │ │ * ex_convert.c │ │ │ │ │ * ex_nodisplay.c │ │ │ │ │ - * ex_file_slice.c │ │ │ │ │ + * ex_blend_bench.c │ │ │ │ │ ***** al_load_bitmap_flags ***** │ │ │ │ │ ALLEGRO_BITMAP *al_load_bitmap_flags(const char *filename, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Loads an image file into a new ALLEGRO_BITMAP. The file type is determined by │ │ │ │ │ al_identify_bitmap, using the extension as a fallback in case identification is │ │ │ │ │ not possible. │ │ │ │ │ Returns NULL on error. │ │ │ │ │ @@ -1960,16 +1852,16 @@ │ │ │ │ │ Note: the core Allegro library does not support any image file │ │ │ │ │ formats by default. You must use the allegro_image addon, or register │ │ │ │ │ your own format handler. │ │ │ │ │ See also: al_load_bitmap_flags_f, al_load_bitmap, al_register_bitmap_loader_f, │ │ │ │ │ al_init_image_addon │ │ │ │ │ Examples: │ │ │ │ │ * ex_convert.c │ │ │ │ │ + * ex_record_name.c │ │ │ │ │ * ex_file_slice.c │ │ │ │ │ - * ex_bitmap_file.c │ │ │ │ │ ***** al_load_bitmap_flags_f ***** │ │ │ │ │ ALLEGRO_BITMAP *al_load_bitmap_flags_f(ALLEGRO_FILE *fp, │ │ │ │ │ │ │ │ │ │ const char *ident, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Loads an image from an ALLEGRO_FILE stream into a new ALLEGRO_BITMAP. The file │ │ │ │ │ type is determined by al_identify_bitmap_f. If identification is not possible, │ │ │ │ │ @@ -2051,16 +1943,14 @@ │ │ │ │ │ bitmap type cannot be determined. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ See also: al_init_image_addon, al_identify_bitmap, al_register_bitmap_ │ │ │ │ │ identifier │ │ │ │ │ ****** Render State ****** │ │ │ │ │ ***** ALLEGRO_RENDER_STATE ***** │ │ │ │ │ typedef enum ALLEGRO_RENDER_STATE { │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_RENDER_STATE { │ │ │ │ │ Source_Code │ │ │ │ │ Possible render states which can be set with al_set_render_state: │ │ │ │ │ ALLEGRO_ALPHA_TEST │ │ │ │ │ If this is set to 1, the values of ALLEGRO_ALPHA_FUNCTION and ALLEGRO_ │ │ │ │ │ ALPHA_TEST_VALUE define a comparison function which is performed on the │ │ │ │ │ alpha component of each pixel. Only if it evaluates to true the pixel is │ │ │ │ │ written. Otherwise no subsequent processing (like depth test or blending) │ │ │ │ │ @@ -2083,32 +1973,28 @@ │ │ │ │ │ ALLEGRO_DEPTH_FUNCTION │ │ │ │ │ One of ALLEGRO_RENDER_FUNCTION, only used when ALLEGRO_DEPTH_TEST is 1. │ │ │ │ │ Since: 5.1.2 │ │ │ │ │ See also: al_set_render_state, ALLEGRO_RENDER_FUNCTION, ALLEGRO_WRITE_MASK_ │ │ │ │ │ FLAGS │ │ │ │ │ ***** ALLEGRO_RENDER_FUNCTION ***** │ │ │ │ │ typedef enum ALLEGRO_RENDER_FUNCTION { │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_RENDER_FUNCTION { │ │ │ │ │ Source_Code │ │ │ │ │ Possible functions are: │ │ │ │ │ * ALLEGRO_RENDER_NEVER │ │ │ │ │ * ALLEGRO_RENDER_ALWAYS │ │ │ │ │ * ALLEGRO_RENDER_LESS │ │ │ │ │ * ALLEGRO_RENDER_EQUAL │ │ │ │ │ * ALLEGRO_RENDER_LESS_EQUAL │ │ │ │ │ * ALLEGRO_RENDER_GREATER │ │ │ │ │ * ALLEGRO_RENDER_NOT_EQUAL │ │ │ │ │ * ALLEGRO_RENDER_GREATER_EQUAL │ │ │ │ │ Since: 5.1.2 │ │ │ │ │ See also: al_set_render_state │ │ │ │ │ ***** ALLEGRO_WRITE_MASK_FLAGS ***** │ │ │ │ │ typedef enum ALLEGRO_WRITE_MASK_FLAGS { │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_WRITE_MASK_FLAGS { │ │ │ │ │ Source_Code │ │ │ │ │ Each enabled bit means the corresponding value is written, a disabled bit means │ │ │ │ │ it is not. │ │ │ │ │ * ALLEGRO_MASK_RED │ │ │ │ │ * ALLEGRO_MASK_GREEN │ │ │ │ │ * ALLEGRO_MASK_BLUE │ │ │ │ │ * ALLEGRO_MASK_ALPHA │ │ │ │ │ @@ -2130,17 +2016,17 @@ │ │ │ │ │ Source_Code │ │ │ │ │ Set one of several render attributes; see ALLEGRO_RENDER_STATE for details. │ │ │ │ │ This function does nothing if the target bitmap is a memory bitmap. │ │ │ │ │ Since: 5.1.2 │ │ │ │ │ See also: al_get_render_state, ALLEGRO_RENDER_STATE, ALLEGRO_RENDER_FUNCTION, │ │ │ │ │ ALLEGRO_WRITE_MASK_FLAGS │ │ │ │ │ Examples: │ │ │ │ │ - * ex_depth_mask.c │ │ │ │ │ * ex_depth_target.c │ │ │ │ │ - * ex_draw_bitmap.c │ │ │ │ │ + * ex_depth_mask.c │ │ │ │ │ + * ex_camera.c │ │ │ │ │ ***** al_backup_dirty_bitmap ***** │ │ │ │ │ void al_backup_dirty_bitmap(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ Source_Code │ │ │ │ │ On some platforms, notably Windows Direct3D and Android, textures may be lost │ │ │ │ │ at any time for events such as display resize or switching out of the app. On │ │ │ │ │ those platforms, bitmaps created without the ALLEGRO_NO_PRESERVE_TEXTURE flag │ │ │ │ │ automatically get backed up to system memory every time al_flip_display is │ │ │ │ │ @@ -2154,8 +2040,7 @@ │ │ │ │ │ ***** al_backup_dirty_bitmaps ***** │ │ │ │ │ void al_backup_dirty_bitmaps(ALLEGRO_DISPLAY *display) │ │ │ │ │ Source_Code │ │ │ │ │ Backs up all of a display’s bitmaps to system memory. │ │ │ │ │ Since: 5.2.1 │ │ │ │ │ Unstable_API: This API is new and subject to refinement. │ │ │ │ │ See also: al_backup_dirty_bitmap │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/haptic.html │ │ │ │ @@ -250,40 +250,31 @@ │ │ │ │ file:

      │ │ │ │
       #include <allegro5/allegro.h>
      │ │ │ │

      Currently force feedback is fully supported on Linux and on Windows │ │ │ │ for DirectInput compatible devices. There is also minimal support for │ │ │ │ Android. It is not yet supported on OSX, iOS, or on Windows for XInput │ │ │ │ compatible devices.

      │ │ │ │

      ALLEGRO_HAPTIC

      │ │ │ │ -
      typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC;
      │ │ │ │ -typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC;
      │ │ │ │ +
      typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC;
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      This is an abstract data type representing a haptic device that │ │ │ │ supports force feedback or vibration.

      │ │ │ │

      Since: 5.1.8

      │ │ │ │
      │ │ │ │

      Unstable │ │ │ │ API: Perhaps could be simplified due to limited support for all │ │ │ │ the exposed features across all of the platforms. Awaiting feedback from │ │ │ │ users.

      │ │ │ │
      │ │ │ │

      See also: al_get_haptic_from_joystick

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      ALLEGRO_HAPTIC_CONSTANTS

      │ │ │ │ -
      enum ALLEGRO_HAPTIC_CONSTANTS
      │ │ │ │ -enum ALLEGRO_HAPTIC_CONSTANTS
      │ │ │ │ +
      enum ALLEGRO_HAPTIC_CONSTANTS
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      This enum contains flags that are used to define haptic effects and │ │ │ │ capabilities. If the flag is set in the return value of al_get_haptic_capabilities, │ │ │ │ it means the device supports the given effect. The value of these flags │ │ │ │ @@ -322,16 +313,15 @@ │ │ │ │ users.

      │ │ │ │ │ │ │ │

      See also: al_get_haptic_capabilities, │ │ │ │ ALLEGRO_HAPTIC_EFFECT

      │ │ │ │

      ALLEGRO_HAPTIC_EFFECT

      │ │ │ │ -
      struct ALLEGRO_HAPTIC_EFFECT
      │ │ │ │ -struct ALLEGRO_HAPTIC_EFFECT
      │ │ │ │ +
      struct ALLEGRO_HAPTIC_EFFECT
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      This struct models a particular haptic or vibration effect. It needs │ │ │ │ to be filled in correctly and uploaded to a haptic device before the │ │ │ │ device can play it back.

      │ │ │ │

      Fields:

      │ │ │ │ @@ -526,44 +516,29 @@ │ │ │ │

      Since: 5.1.8

      │ │ │ │
      │ │ │ │

      Unstable │ │ │ │ API: Perhaps could be simplified due to limited support for all │ │ │ │ the exposed features across all of the platforms. Awaiting feedback from │ │ │ │ users.

      │ │ │ │
      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      ALLEGRO_HAPTIC_EFFECT_ID

      │ │ │ │ -
      typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID;
      │ │ │ │ -typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID;
      │ │ │ │ +
      typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID;
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      This struct is used as a handle to control playback of a haptic │ │ │ │ effect and should be considered opaque. Its implementation is visible │ │ │ │ merely to allow allocation by the users of the Allegro library.

      │ │ │ │

      Since: 5.1.8

      │ │ │ │
      │ │ │ │

      Unstable │ │ │ │ API: Perhaps could be simplified due to limited support for all │ │ │ │ the exposed features across all of the platforms. Awaiting feedback from │ │ │ │ users.

      │ │ │ │
      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_install_haptic

      │ │ │ │
      bool al_install_haptic(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Installs the haptic (force feedback) device subsystem. This must be │ │ │ │ called before using any other haptic-related functions. Returns true if │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -82,31 +82,24 @@ │ │ │ │ │ functions are declared in the main Allegro header file: │ │ │ │ │ #include │ │ │ │ │ Currently force feedback is fully supported on Linux and on Windows for │ │ │ │ │ DirectInput compatible devices. There is also minimal support for Android. It │ │ │ │ │ is not yet supported on OSX, iOS, or on Windows for XInput compatible devices. │ │ │ │ │ ****** ALLEGRO_HAPTIC ****** │ │ │ │ │ typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC; │ │ │ │ │ Source_Code │ │ │ │ │ This is an abstract data type representing a haptic device that supports force │ │ │ │ │ feedback or vibration. │ │ │ │ │ Since: 5.1.8 │ │ │ │ │ Unstable_API: Perhaps could be simplified due to limited support for │ │ │ │ │ all the exposed features across all of the platforms. Awaiting │ │ │ │ │ feedback from users. │ │ │ │ │ See also: al_get_haptic_from_joystick │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_haptic.c │ │ │ │ │ - * ex_haptic2.cpp │ │ │ │ │ ****** ALLEGRO_HAPTIC_CONSTANTS ****** │ │ │ │ │ enum ALLEGRO_HAPTIC_CONSTANTS │ │ │ │ │ - │ │ │ │ │ -enum ALLEGRO_HAPTIC_CONSTANTS │ │ │ │ │ Source_Code │ │ │ │ │ This enum contains flags that are used to define haptic effects and │ │ │ │ │ capabilities. If the flag is set in the return value of al_get_haptic_ │ │ │ │ │ capabilities, it means the device supports the given effect. The value of these │ │ │ │ │ flags should be set into a ALLEGRO_HAPTIC_EFFECT struct to determine what kind │ │ │ │ │ of haptic effect should be played. │ │ │ │ │ * ALLEGRO_HAPTIC_RUMBLE - simple vibration effects │ │ │ │ │ @@ -131,16 +124,14 @@ │ │ │ │ │ Since: 5.1.8 │ │ │ │ │ Unstable_API: Perhaps could be simplified due to limited support for │ │ │ │ │ all the exposed features across all of the platforms. Awaiting │ │ │ │ │ feedback from users. │ │ │ │ │ See also: al_get_haptic_capabilities, ALLEGRO_HAPTIC_EFFECT │ │ │ │ │ ****** ALLEGRO_HAPTIC_EFFECT ****** │ │ │ │ │ struct ALLEGRO_HAPTIC_EFFECT │ │ │ │ │ - │ │ │ │ │ -struct ALLEGRO_HAPTIC_EFFECT │ │ │ │ │ Source_Code │ │ │ │ │ This struct models a particular haptic or vibration effect. It needs to be │ │ │ │ │ filled in correctly and uploaded to a haptic device before the device can play │ │ │ │ │ it back. │ │ │ │ │ Fields: │ │ │ │ │ type │ │ │ │ │ The type of the haptic effect. May be one of the ALLEGRO_HAPTIC_CONSTANTS │ │ │ │ │ @@ -292,32 +283,24 @@ │ │ │ │ │ If you don’t want to use an envelope, then set all four fields of │ │ │ │ │ data.envelope to 0.0. The effect will then play back at full intensity │ │ │ │ │ throughout its playback. │ │ │ │ │ Since: 5.1.8 │ │ │ │ │ Unstable_API: Perhaps could be simplified due to limited support for │ │ │ │ │ all the exposed features across all of the platforms. Awaiting │ │ │ │ │ feedback from users. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_haptic.c │ │ │ │ │ - * ex_haptic2.cpp │ │ │ │ │ ****** ALLEGRO_HAPTIC_EFFECT_ID ****** │ │ │ │ │ typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID; │ │ │ │ │ Source_Code │ │ │ │ │ This struct is used as a handle to control playback of a haptic effect and │ │ │ │ │ should be considered opaque. Its implementation is visible merely to allow │ │ │ │ │ allocation by the users of the Allegro library. │ │ │ │ │ Since: 5.1.8 │ │ │ │ │ Unstable_API: Perhaps could be simplified due to limited support for │ │ │ │ │ all the exposed features across all of the platforms. Awaiting │ │ │ │ │ feedback from users. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_haptic.c │ │ │ │ │ - * ex_haptic2.cpp │ │ │ │ │ ****** al_install_haptic ****** │ │ │ │ │ bool al_install_haptic(void) │ │ │ │ │ Source_Code │ │ │ │ │ Installs the haptic (force feedback) device subsystem. This must be called │ │ │ │ │ before using any other haptic-related functions. Returns true if the haptics │ │ │ │ │ subsystem could be initialized correctly, false in case of error. │ │ │ │ │ For portability you should first open a display before calling al_install_ │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/image.html │ │ │ │ @@ -187,16 +187,15 @@ │ │ │ │ allegro_image.

      │ │ │ │
       #include <allegro5/allegro_image.h>
      │ │ │ │

      Some of the format handlers define configuration options for │ │ │ │ specifying things like compression level or gamma handling. Refer to al_get_system_config for │ │ │ │ their documentation.

      │ │ │ │

      al_init_image_addon

      │ │ │ │ -
      bool al_init_image_addon(void)
      │ │ │ │ -bool al_init_image_addon(void)
      │ │ │ │ +
      bool al_init_image_addon(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Initializes the image addon. This registers bitmap format handlers │ │ │ │ for al_load_bitmap, al_load_bitmap_f, al_save_bitmap, │ │ │ │

      The DDS format is only supported to load from, and only if the DDS │ │ │ │ file contains textures compressed in the DXT1, DXT3 and DXT5 formats. │ │ │ │ Note that when loading a DDS file, the created bitmap will always be a │ │ │ │ video bitmap and will have the pixel format matching the format in the │ │ │ │ file.

      │ │ │ │ -

      Examples:

      │ │ │ │ -
      │ │ │ │

      al_is_image_addon_initialized

      │ │ │ │ -
      bool al_is_image_addon_initialized(void)
      │ │ │ │ -bool al_is_image_addon_initialized(void)
      │ │ │ │ +
      bool al_is_image_addon_initialized(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns true if the image addon is initialized, otherwise returns │ │ │ │ false.

      │ │ │ │

      Since: 5.2.6

      │ │ │ │

      al_shutdown_image_addon

      │ │ │ │ -
      void al_shutdown_image_addon(void)
      │ │ │ │ -void al_shutdown_image_addon(void)
      │ │ │ │ +
      void al_shutdown_image_addon(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Shut down the image addon. This is done automatically at program │ │ │ │ exit, but can be called any time the user wishes as well.

      │ │ │ │

      al_get_allegro_image_version

      │ │ │ │ -
      uint32_t al_get_allegro_image_version(void)
      │ │ │ │ -uint32_t al_get_allegro_image_version(void)
      │ │ │ │ +
      uint32_t al_get_allegro_image_version(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

      │ │ │ │ - │ │ │ │ +

      │ │ │ │ +Allegro version 5.2.10 │ │ │ │ + - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ +

      │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -51,47 +51,36 @@ │ │ │ │ │ image. │ │ │ │ │ #include │ │ │ │ │ Some of the format handlers define configuration options for specifying things │ │ │ │ │ like compression level or gamma handling. Refer to al_get_system_config for │ │ │ │ │ their documentation. │ │ │ │ │ ****** al_init_image_addon ****** │ │ │ │ │ bool al_init_image_addon(void) │ │ │ │ │ - │ │ │ │ │ -bool al_init_image_addon(void) │ │ │ │ │ Source_Code │ │ │ │ │ Initializes the image addon. This registers bitmap format handlers for al_load_ │ │ │ │ │ bitmap, al_load_bitmap_f, al_save_bitmap, al_save_bitmap_f. │ │ │ │ │ The following types are built into the Allegro image addon and guaranteed to be │ │ │ │ │ available: BMP, DDS, PCX, TGA. Every platform also supports JPEG and PNG via │ │ │ │ │ external dependencies. │ │ │ │ │ Other formats may be available depending on the operating system and installed │ │ │ │ │ libraries, but are not guaranteed and should not be assumed to be universally │ │ │ │ │ available. │ │ │ │ │ The DDS format is only supported to load from, and only if the DDS file │ │ │ │ │ contains textures compressed in the DXT1, DXT3 and DXT5 formats. Note that when │ │ │ │ │ loading a DDS file, the created bitmap will always be a video bitmap and will │ │ │ │ │ have the pixel format matching the format in the file. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_convert.c │ │ │ │ │ - * ex_nodisplay.c │ │ │ │ │ - * ex_opengl_pixel_shader.c │ │ │ │ │ ****** al_is_image_addon_initialized ****** │ │ │ │ │ bool al_is_image_addon_initialized(void) │ │ │ │ │ - │ │ │ │ │ -bool al_is_image_addon_initialized(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true if the image addon is initialized, otherwise returns false. │ │ │ │ │ Since: 5.2.6 │ │ │ │ │ ****** al_shutdown_image_addon ****** │ │ │ │ │ void al_shutdown_image_addon(void) │ │ │ │ │ - │ │ │ │ │ -void al_shutdown_image_addon(void) │ │ │ │ │ Source_Code │ │ │ │ │ Shut down the image addon. This is done automatically at program exit, but can │ │ │ │ │ be called any time the user wishes as well. │ │ │ │ │ ****** al_get_allegro_image_version ****** │ │ │ │ │ uint32_t al_get_allegro_image_version(void) │ │ │ │ │ - │ │ │ │ │ -uint32_t al_get_allegro_image_version(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as al_get_ │ │ │ │ │ allegro_version. │ │ │ │ │ +Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/joystick.html │ │ │ │ @@ -223,56 +223,37 @@ │ │ │ │ Xinput one. If support for XInput was compiled in, then it can be │ │ │ │ enabled by calling al_set_config_value(al_get_system_config(), │ │ │ │ “joystick”, “driver”, “xinput”) before calling al_install_joystick, or │ │ │ │ by setting the same option in the allegro5.cfg configuration file. The │ │ │ │ Xinput and DirectInput drivers are mutually exclusive. The haptics │ │ │ │ subsystem will use the same driver as the joystick system does.

      │ │ │ │

      ALLEGRO_JOYSTICK

      │ │ │ │ -
      typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK;
      │ │ │ │ -typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK;
      │ │ │ │ +
      typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK;
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      This is an abstract data type representing a physical joystick.

      │ │ │ │

      See also: al_get_joystick

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      ALLEGRO_JOYSTICK_STATE

      │ │ │ │ -
      typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE;
      │ │ │ │ -typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE;
      │ │ │ │ +
      typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE;
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      This is a structure that is used to hold a “snapshot” of a joystick’s │ │ │ │ axes and buttons at a particular instant. All fields public and │ │ │ │ read-only.

      │ │ │ │
      struct {
      │ │ │ │     float axis[num_axes];             // -1.0 to 1.0
      │ │ │ │  } stick[num_sticks];
      │ │ │ │  int button[num_buttons];             // 0 to 32767
      │ │ │ │

      See also: al_get_joystick_state

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      ALLEGRO_JOYFLAGS

      │ │ │ │ -
      enum ALLEGRO_JOYFLAGS
      │ │ │ │ -enum ALLEGRO_JOYFLAGS
      │ │ │ │ +
      enum ALLEGRO_JOYFLAGS
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │
        │ │ │ │
      • ALLEGRO_JOYFLAG_DIGITAL - the stick provides digital input
      • │ │ │ │
      • ALLEGRO_JOYFLAG_ANALOGUE - the stick provides analogue input
      • │ │ │ │
      │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -70,45 +70,32 @@ │ │ │ │ │ If support for XInput was compiled in, then it can be enabled by calling al_ │ │ │ │ │ set_config_value(al_get_system_config(), “joystick”, “driver”, “xinput”) before │ │ │ │ │ calling al_install_joystick, or by setting the same option in the allegro5.cfg │ │ │ │ │ configuration file. The Xinput and DirectInput drivers are mutually exclusive. │ │ │ │ │ The haptics subsystem will use the same driver as the joystick system does. │ │ │ │ │ ****** ALLEGRO_JOYSTICK ****** │ │ │ │ │ typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK; │ │ │ │ │ Source_Code │ │ │ │ │ This is an abstract data type representing a physical joystick. │ │ │ │ │ See also: al_get_joystick │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_haptic.c │ │ │ │ │ - * ex_joystick_hotplugging.c │ │ │ │ │ - * ex_joystick_events.c │ │ │ │ │ ****** ALLEGRO_JOYSTICK_STATE ****** │ │ │ │ │ typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE; │ │ │ │ │ Source_Code │ │ │ │ │ This is a structure that is used to hold a “snapshot” of a joystick’s axes and │ │ │ │ │ buttons at a particular instant. All fields public and read-only. │ │ │ │ │ struct { │ │ │ │ │ │ │ │ │ │ float axis[num_axes]; // -1.0 to 1.0 │ │ │ │ │ │ │ │ │ │ } stick[num_sticks]; │ │ │ │ │ │ │ │ │ │ int button[num_buttons]; // 0 to 32767 │ │ │ │ │ See also: al_get_joystick_state │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_joystick_hotplugging.c │ │ │ │ │ - * ex_joystick_events.c │ │ │ │ │ ****** ALLEGRO_JOYFLAGS ****** │ │ │ │ │ enum ALLEGRO_JOYFLAGS │ │ │ │ │ - │ │ │ │ │ -enum ALLEGRO_JOYFLAGS │ │ │ │ │ Source_Code │ │ │ │ │ * ALLEGRO_JOYFLAG_DIGITAL - the stick provides digital input │ │ │ │ │ * ALLEGRO_JOYFLAG_ANALOGUE - the stick provides analogue input │ │ │ │ │ (this enum is a holdover from the old API and may be removed) │ │ │ │ │ See also: al_get_joystick_stick_flags │ │ │ │ │ ****** al_install_joystick ****** │ │ │ │ │ bool al_install_joystick(void) │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/keyboard.html │ │ │ │ @@ -198,38 +198,28 @@ │ │ │ │
    • al_get_keyboard_event_source
    • │ │ │ │
    │ │ │ │ │ │ │ │

    These functions are declared in the main Allegro header file:

    │ │ │ │
     #include <allegro5/allegro.h>
    │ │ │ │

    ALLEGRO_KEYBOARD_STATE

    │ │ │ │ -
    typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE;
    │ │ │ │ -typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE;
    │ │ │ │ +
    typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This is a structure that is used to hold a “snapshot” of a keyboard’s │ │ │ │ state at a particular instant. It contains the following publically │ │ │ │ readable fields:

    │ │ │ │
      │ │ │ │
    • display - points to the display that had keyboard focus at the time │ │ │ │ the state was saved. If no display was focused, this points to │ │ │ │ NULL.
    • │ │ │ │
    │ │ │ │

    You cannot read the state of keys directly. Use the function al_key_down.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Key codes

    │ │ │ │

    The constant ALLEGRO_KEY_MAX is always one higher than the highest │ │ │ │ key code. So if you want to use the key code as array index you can do │ │ │ │ something like this:

    │ │ │ │
    bool pressed_keys[ALLEGRO_KEY_MAX];
    │ │ │ │  //...
    │ │ │ │  pressed_keys[key_code] = true;
    │ │ │ │ @@ -354,19 +344,19 @@ │ │ │ │ was already installed, nothing happens and true is returned.

    │ │ │ │

    See also: al_uninstall_keyboard, al_is_keyboard_installed

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_d3d.cpp
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_audio_props.cpp#L155">ex_audio_props.cpp │ │ │ │
    • ex_keyboard_focus.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_font_multiline.cpp#L176">ex_font_multiline.cpp │ │ │ │
    • ex_mouse_focus.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_keyboard_focus.c#L39">ex_keyboard_focus.c │ │ │ │
    │ │ │ │

    al_is_keyboard_installed

    │ │ │ │
    bool al_is_keyboard_installed(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if See also: al_key_down, al_clear_keyboard_state, │ │ │ │ ALLEGRO_KEYBOARD_STATE

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_clear_keyboard_state

    │ │ │ │
    void al_clear_keyboard_state(ALLEGRO_DISPLAY *display)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Clear the state of the keyboard, emitting Return true if the key specified was held down in the state │ │ │ │ specified.

    │ │ │ │

    See also: ALLEGRO_KEYBOARD_STATE

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_keycode_to_name

    │ │ │ │
    const char *al_keycode_to_name(int keycode)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Converts the given keycode to a description of the key.

    │ │ │ │ @@ -494,20 +484,17 @@ │ │ │ │

    Retrieve the keyboard event source. All keyboard events are │ │ │ │ generated by this event source.

    │ │ │ │

    Returns NULL if the keyboard subsystem was not installed.

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_keyboard_events.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_audio_simple.c#L69">ex_audio_simple.c │ │ │ │
    • ex_opengl.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_audio_timer.c#L118">ex_audio_timer.c │ │ │ │
    • ex_winfull.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_disable_screensaver.c#L44">ex_disable_screensaver.c │ │ │ │
    │ │ │ │ -

    │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

    │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -56,26 +56,20 @@ │ │ │ │ │ * al_can_set_keyboard_leds │ │ │ │ │ * al_set_keyboard_leds │ │ │ │ │ * al_get_keyboard_event_source │ │ │ │ │ These functions are declared in the main Allegro header file: │ │ │ │ │ #include │ │ │ │ │ ****** ALLEGRO_KEYBOARD_STATE ****** │ │ │ │ │ typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE; │ │ │ │ │ Source_Code │ │ │ │ │ This is a structure that is used to hold a “snapshot” of a keyboard’s state at │ │ │ │ │ a particular instant. It contains the following publically readable fields: │ │ │ │ │ * display - points to the display that had keyboard focus at the time the │ │ │ │ │ state was saved. If no display was focused, this points to NULL. │ │ │ │ │ You cannot read the state of keys directly. Use the function al_key_down. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_d3d.cpp │ │ │ │ │ - * ex_keyboard_focus.c │ │ │ │ │ - * ex_mouse_focus.c │ │ │ │ │ ****** Key codes ****** │ │ │ │ │ The constant ALLEGRO_KEY_MAX is always one higher than the highest key code. So │ │ │ │ │ if you want to use the key code as array index you can do something like this: │ │ │ │ │ bool pressed_keys[ALLEGRO_KEY_MAX]; │ │ │ │ │ │ │ │ │ │ //... │ │ │ │ │ │ │ │ │ │ @@ -194,17 +188,17 @@ │ │ │ │ │ ****** al_install_keyboard ****** │ │ │ │ │ bool al_install_keyboard(void) │ │ │ │ │ Source_Code │ │ │ │ │ Install a keyboard driver. Returns true if successful. If a driver was already │ │ │ │ │ installed, nothing happens and true is returned. │ │ │ │ │ See also: al_uninstall_keyboard, al_is_keyboard_installed │ │ │ │ │ Examples: │ │ │ │ │ - * ex_d3d.cpp │ │ │ │ │ + * ex_audio_props.cpp │ │ │ │ │ + * ex_font_multiline.cpp │ │ │ │ │ * ex_keyboard_focus.c │ │ │ │ │ - * ex_mouse_focus.c │ │ │ │ │ ****** al_is_keyboard_installed ****** │ │ │ │ │ bool al_is_keyboard_installed(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true if al_install_keyboard was called successfully. │ │ │ │ │ ****** al_uninstall_keyboard ****** │ │ │ │ │ void al_uninstall_keyboard(void) │ │ │ │ │ Source_Code │ │ │ │ │ @@ -215,17 +209,17 @@ │ │ │ │ │ ****** al_get_keyboard_state ****** │ │ │ │ │ void al_get_keyboard_state(ALLEGRO_KEYBOARD_STATE *ret_state) │ │ │ │ │ Source_Code │ │ │ │ │ Save the state of the keyboard specified at the time the function is called │ │ │ │ │ into the structure pointed to by ret_state. │ │ │ │ │ See also: al_key_down, al_clear_keyboard_state, ALLEGRO_KEYBOARD_STATE │ │ │ │ │ Examples: │ │ │ │ │ - * ex_d3d.cpp │ │ │ │ │ * ex_keyboard_focus.c │ │ │ │ │ - * ex_mouse_focus.c │ │ │ │ │ + * ex_d3d.cpp │ │ │ │ │ + * ex_opengl_pixel_shader.c │ │ │ │ │ ****** al_clear_keyboard_state ****** │ │ │ │ │ void al_clear_keyboard_state(ALLEGRO_DISPLAY *display) │ │ │ │ │ Source_Code │ │ │ │ │ Clear the state of the keyboard, emitting ALLEGRO_EVENT_KEY_UP for each │ │ │ │ │ currently pressed key. The given display is regarded as the one which had the │ │ │ │ │ keyboard focus when the event occurred. In case display is NULL no event is │ │ │ │ │ emitted. For most keyboard drivers Allegro maintains its own state of the │ │ │ │ │ @@ -241,17 +235,17 @@ │ │ │ │ │ * ex_keyboard_events.c │ │ │ │ │ ****** al_key_down ****** │ │ │ │ │ bool al_key_down(const ALLEGRO_KEYBOARD_STATE *state, int keycode) │ │ │ │ │ Source_Code │ │ │ │ │ Return true if the key specified was held down in the state specified. │ │ │ │ │ See also: ALLEGRO_KEYBOARD_STATE │ │ │ │ │ Examples: │ │ │ │ │ - * ex_d3d.cpp │ │ │ │ │ * ex_keyboard_focus.c │ │ │ │ │ - * ex_mouse_focus.c │ │ │ │ │ + * ex_d3d.cpp │ │ │ │ │ + * ex_opengl_pixel_shader.c │ │ │ │ │ ****** al_keycode_to_name ****** │ │ │ │ │ const char *al_keycode_to_name(int keycode) │ │ │ │ │ Source_Code │ │ │ │ │ Converts the given keycode to a description of the key. │ │ │ │ │ Examples: │ │ │ │ │ * ex_keyboard_events.c │ │ │ │ │ ****** al_can_set_keyboard_leds ****** │ │ │ │ │ @@ -272,11 +266,10 @@ │ │ │ │ │ ****** al_get_keyboard_event_source ****** │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_keyboard_event_source(void) │ │ │ │ │ Source_Code │ │ │ │ │ Retrieve the keyboard event source. All keyboard_events are generated by this │ │ │ │ │ event source. │ │ │ │ │ Returns NULL if the keyboard subsystem was not installed. │ │ │ │ │ Examples: │ │ │ │ │ - * ex_keyboard_events.c │ │ │ │ │ - * ex_opengl.c │ │ │ │ │ - * ex_winfull.c │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ │ + * ex_audio_simple.c │ │ │ │ │ + * ex_audio_timer.c │ │ │ │ │ + * ex_disable_screensaver.c │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/memfile.html │ │ │ │ @@ -181,39 +181,32 @@ │ │ │ │ │ │ │ │

    The memfile interface allows you to treat a fixed block of contiguous │ │ │ │ memory as a file that can be used with Allegro’s I/O functions.

    │ │ │ │

    These functions are declared in the following header file. Link with │ │ │ │ allegro_memfile.

    │ │ │ │
     #include <allegro5/allegro_memfile.h>
    │ │ │ │

    al_open_memfile

    │ │ │ │ -
    ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode)
    │ │ │ │ -ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode)
    │ │ │ │ +
    ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns a file handle to the block of memory. All read and write │ │ │ │ operations act upon the memory directly, so it must not be freed while │ │ │ │ the file remains open.

    │ │ │ │

    The mode can be any combination of “r” (readable) and “w” (writable). │ │ │ │ Regardless of the mode, the file always opens at position 0. The file │ │ │ │ size is fixed and cannot be expanded. The file is always read │ │ │ │ from/written to in binary mode, which means that no newline translation │ │ │ │ is performed.

    │ │ │ │

    It should be closed with al_fclose. │ │ │ │ After the file is closed, you are responsible for freeing the memory (if │ │ │ │ needed).

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_allegro_memfile_version

    │ │ │ │ -
    uint32_t al_get_allegro_memfile_version(void)
    │ │ │ │ -uint32_t al_get_allegro_memfile_version(void)
    │ │ │ │ +
    uint32_t al_get_allegro_memfile_version(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    │ │ │ │

    │ │ │ │ Allegro version 5.2.10 │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -48,28 +48,22 @@ │ │ │ │ │ The memfile interface allows you to treat a fixed block of contiguous memory as │ │ │ │ │ a file that can be used with Allegro’s I/O functions. │ │ │ │ │ These functions are declared in the following header file. Link with allegro_ │ │ │ │ │ memfile. │ │ │ │ │ #include │ │ │ │ │ ****** al_open_memfile ****** │ │ │ │ │ ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode) │ │ │ │ │ Source_Code │ │ │ │ │ Returns a file handle to the block of memory. All read and write operations act │ │ │ │ │ upon the memory directly, so it must not be freed while the file remains open. │ │ │ │ │ The mode can be any combination of “r” (readable) and “w” (writable). │ │ │ │ │ Regardless of the mode, the file always opens at position 0. The file size is │ │ │ │ │ fixed and cannot be expanded. The file is always read from/written to in binary │ │ │ │ │ mode, which means that no newline translation is performed. │ │ │ │ │ It should be closed with al_fclose. After the file is closed, you are │ │ │ │ │ responsible for freeing the memory (if needed). │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_memfile.c │ │ │ │ │ ****** al_get_allegro_memfile_version ****** │ │ │ │ │ uint32_t al_get_allegro_memfile_version(void) │ │ │ │ │ - │ │ │ │ │ -uint32_t al_get_allegro_memfile_version(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as al_get_ │ │ │ │ │ allegro_version. │ │ │ │ │ Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/memory.html │ │ │ │ @@ -191,92 +191,63 @@ │ │ │ │ id="toc-al_set_memory_interface">al_set_memory_interface │ │ │ │ │ │ │ │ │ │ │ │

    These functions are declared in the main Allegro header file:

    │ │ │ │
     #include <allegro5/allegro.h>
    │ │ │ │

    al_malloc

    │ │ │ │
    #define al_malloc(n) \
    │ │ │ │ -   (al_malloc_with_context((n), __LINE__, __FILE__, __func__))
    │ │ │ │ -#define al_malloc(n) \
    │ │ │ │ -   (al_malloc_with_context((n), __LINE__, __FILE__, __func__))
    │ │ │ │ + (al_malloc_with_context((n), __LINE__, __FILE__, __func__))
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like malloc() in the C standard library, but the implementation may │ │ │ │ be overridden.

    │ │ │ │

    This is a macro.

    │ │ │ │

    See also: al_free, al_realloc, al_calloc, al_malloc_with_context, al_set_memory_interface

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_free

    │ │ │ │
    #define al_free(p) \
    │ │ │ │ -   (al_free_with_context((p), __LINE__, __FILE__, __func__))
    │ │ │ │ -#define al_free(p) \
    │ │ │ │ -   (al_free_with_context((p), __LINE__, __FILE__, __func__))
    │ │ │ │ + (al_free_with_context((p), __LINE__, __FILE__, __func__)) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like free() in the C standard library, but the implementation may be │ │ │ │ overridden.

    │ │ │ │

    Additionally, on Windows, a memory block allocated by one DLL must be │ │ │ │ freed from the same DLL. In the few places where an Allegro function │ │ │ │ returns a pointer that must be freed, you must use al_free for portability to Windows.

    │ │ │ │

    This is a macro.

    │ │ │ │

    See also: al_malloc, al_free_with_context

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_realloc

    │ │ │ │
    #define al_realloc(p, n) \
    │ │ │ │ -   (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__))
    │ │ │ │ -#define al_realloc(p, n) \
    │ │ │ │ -   (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__))
    │ │ │ │ + (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__)) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like realloc() in the C standard library, but the implementation may │ │ │ │ be overridden.

    │ │ │ │

    This is a macro.

    │ │ │ │

    See also: al_malloc, al_realloc_with_context

    │ │ │ │

    al_calloc

    │ │ │ │
    #define al_calloc(c, n) \
    │ │ │ │ -   (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__))
    │ │ │ │ -#define al_calloc(c, n) \
    │ │ │ │ -   (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__))
    │ │ │ │ + (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__)) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like calloc() in the C standard library, but the implementation may │ │ │ │ be overridden.

    │ │ │ │

    This is a macro.

    │ │ │ │

    See also: al_malloc, al_calloc_with_context

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_malloc_with_context

    │ │ │ │
    void *al_malloc_with_context(size_t n,
    │ │ │ │     int line, const char *file, const char *func)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This calls malloc() from the Allegro library (this matters on │ │ │ │ @@ -314,16 +285,15 @@ │ │ │ │ Code

    │ │ │ │

    This calls calloc() from the Allegro library (this matters on │ │ │ │ Windows), unless overridden with al_set_memory_interface,

    │ │ │ │

    Generally you should use the al_calloc macro.

    │ │ │ │

    ALLEGRO_MEMORY_INTERFACE

    │ │ │ │ -
    typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE;
    │ │ │ │ -typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE;
    │ │ │ │ +
    typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This structure has the following fields.

    │ │ │ │
    void *(*mi_malloc)(size_t n, int line, const char *file, const char *func);
    │ │ │ │  void (*mi_free)(void *ptr, int line, const char *file, const char *func);
    │ │ │ │  void *(*mi_realloc)(void *ptr, size_t n, int line, const char *file,
    │ │ │ │ ├── html2text {}
    │ │ │ │ │ @@ -55,75 +55,50 @@
    │ │ │ │ │      * al_set_memory_interface
    │ │ │ │ │  These functions are declared in the main Allegro header file:
    │ │ │ │ │   #include 
    │ │ │ │ │  ****** al_malloc ******
    │ │ │ │ │  #define al_malloc(n) \
    │ │ │ │ │  
    │ │ │ │ │     (al_malloc_with_context((n), __LINE__, __FILE__, __func__))
    │ │ │ │ │ -
    │ │ │ │ │ -#define al_malloc(n) \
    │ │ │ │ │ -
    │ │ │ │ │ -   (al_malloc_with_context((n), __LINE__, __FILE__, __func__))
    │ │ │ │ │  Source_Code
    │ │ │ │ │  Like malloc() in the C standard library, but the implementation may be
    │ │ │ │ │  overridden.
    │ │ │ │ │  This is a macro.
    │ │ │ │ │  See also: al_free, al_realloc, al_calloc, al_malloc_with_context, al_set_
    │ │ │ │ │  memory_interface
    │ │ │ │ │ -Examples:
    │ │ │ │ │ -    * ex_audio_timer.c
    │ │ │ │ │ -    * ex_vertex_buffer.c
    │ │ │ │ │  ****** al_free ******
    │ │ │ │ │  #define al_free(p) \
    │ │ │ │ │  
    │ │ │ │ │     (al_free_with_context((p), __LINE__, __FILE__, __func__))
    │ │ │ │ │ -
    │ │ │ │ │ -#define al_free(p) \
    │ │ │ │ │ -
    │ │ │ │ │ -   (al_free_with_context((p), __LINE__, __FILE__, __func__))
    │ │ │ │ │  Source_Code
    │ │ │ │ │  Like free() in the C standard library, but the implementation may be
    │ │ │ │ │  overridden.
    │ │ │ │ │  Additionally, on Windows, a memory block allocated by one DLL must be freed
    │ │ │ │ │  from the same DLL. In the few places where an Allegro function returns a
    │ │ │ │ │  pointer that must be freed, you must use al_free for portability to Windows.
    │ │ │ │ │  This is a macro.
    │ │ │ │ │  See also: al_malloc, al_free_with_context
    │ │ │ │ │ -Examples:
    │ │ │ │ │ -    * ex_clipboard.c
    │ │ │ │ │ -    * ex_drag_and_drop.c
    │ │ │ │ │ -    * ex_record_name.c
    │ │ │ │ │  ****** al_realloc ******
    │ │ │ │ │  #define al_realloc(p, n) \
    │ │ │ │ │  
    │ │ │ │ │     (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__))
    │ │ │ │ │ -
    │ │ │ │ │ -#define al_realloc(p, n) \
    │ │ │ │ │ -
    │ │ │ │ │ -   (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__))
    │ │ │ │ │  Source_Code
    │ │ │ │ │  Like realloc() in the C standard library, but the implementation may be
    │ │ │ │ │  overridden.
    │ │ │ │ │  This is a macro.
    │ │ │ │ │  See also: al_malloc, al_realloc_with_context
    │ │ │ │ │  ****** al_calloc ******
    │ │ │ │ │  #define al_calloc(c, n) \
    │ │ │ │ │  
    │ │ │ │ │     (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__))
    │ │ │ │ │ -
    │ │ │ │ │ -#define al_calloc(c, n) \
    │ │ │ │ │ -
    │ │ │ │ │ -   (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__))
    │ │ │ │ │  Source_Code
    │ │ │ │ │  Like calloc() in the C standard library, but the implementation may be
    │ │ │ │ │  overridden.
    │ │ │ │ │  This is a macro.
    │ │ │ │ │  See also: al_malloc, al_calloc_with_context
    │ │ │ │ │ -Examples:
    │ │ │ │ │ -    * ex_record_name.c
    │ │ │ │ │  ****** al_malloc_with_context ******
    │ │ │ │ │  void *al_malloc_with_context(size_t n,
    │ │ │ │ │  
    │ │ │ │ │     int line, const char *file, const char *func)
    │ │ │ │ │  Source_Code
    │ │ │ │ │  This calls malloc() from the Allegro library (this matters on Windows), unless
    │ │ │ │ │  overridden with al_set_memory_interface,
    │ │ │ │ │ @@ -150,16 +125,14 @@
    │ │ │ │ │     int line, const char *file, const char *func)
    │ │ │ │ │  Source_Code
    │ │ │ │ │  This calls calloc() from the Allegro library (this matters on Windows), unless
    │ │ │ │ │  overridden with al_set_memory_interface,
    │ │ │ │ │  Generally you should use the al_calloc macro.
    │ │ │ │ │  ****** ALLEGRO_MEMORY_INTERFACE ******
    │ │ │ │ │  typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE;
    │ │ │ │ │ -
    │ │ │ │ │ -typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE;
    │ │ │ │ │  Source_Code
    │ │ │ │ │  This structure has the following fields.
    │ │ │ │ │  void *(*mi_malloc)(size_t n, int line, const char *file, const char *func);
    │ │ │ │ │  
    │ │ │ │ │  void (*mi_free)(void *ptr, int line, const char *file, const char *func);
    │ │ │ │ │  
    │ │ │ │ │  void *(*mi_realloc)(void *ptr, size_t n, int line, const char *file,
    │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/misc.html
    │ │ │ │ @@ -176,30 +176,20 @@
    │ │ │ │  
  • ALLEGRO_PI
  • │ │ │ │
  • al_run_main
  • │ │ │ │ │ │ │ │ │ │ │ │

    These functions are declared in the main Allegro header file:

    │ │ │ │
     #include <allegro5/allegro.h>
    │ │ │ │

    ALLEGRO_PI

    │ │ │ │ -
    #define ALLEGRO_PI        3.14159265358979323846
    │ │ │ │ -#define ALLEGRO_PI        3.14159265358979323846
    │ │ │ │ +
    #define ALLEGRO_PI        3.14159265358979323846
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    C99 compilers have no predefined value like M_PI for the constant π, │ │ │ │ but you can use this one instead.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_run_main

    │ │ │ │
    int al_run_main(int argc, char **argv, int (*user_main)(int, char **))
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This function is useful in cases where you don’t have a main() │ │ │ │ function but want to run Allegro (mostly useful in a wrapper library). │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -45,23 +45,17 @@ │ │ │ │ │ ****** Miscellaneous routines ****** │ │ │ │ │ * ALLEGRO_PI │ │ │ │ │ * al_run_main │ │ │ │ │ These functions are declared in the main Allegro header file: │ │ │ │ │ #include │ │ │ │ │ ****** ALLEGRO_PI ****** │ │ │ │ │ #define ALLEGRO_PI 3.14159265358979323846 │ │ │ │ │ - │ │ │ │ │ -#define ALLEGRO_PI 3.14159265358979323846 │ │ │ │ │ Source_Code │ │ │ │ │ C99 compilers have no predefined value like M_PI for the constant π, but you │ │ │ │ │ can use this one instead. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_convert.c │ │ │ │ │ - * ex_opengl.c │ │ │ │ │ - * ex_blend_bench.c │ │ │ │ │ ****** al_run_main ****** │ │ │ │ │ int al_run_main(int argc, char **argv, int (*user_main)(int, char **)) │ │ │ │ │ Source_Code │ │ │ │ │ This function is useful in cases where you don’t have a main() function but │ │ │ │ │ want to run Allegro (mostly useful in a wrapper library). Under Windows and │ │ │ │ │ Linux this is no problem because you simply can call al_install_system. But │ │ │ │ │ some other system (like OSX) don’t allow calling al_install_system in the main │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/monitor.html │ │ │ │ @@ -184,16 +184,15 @@ │ │ │ │

  • al_get_monitor_refresh_rate
  • │ │ │ │ │ │ │ │ │ │ │ │

    These functions are declared in the main Allegro header file:

    │ │ │ │
     #include <allegro5/allegro.h>
    │ │ │ │

    ALLEGRO_MONITOR_INFO

    │ │ │ │ -
    typedef struct ALLEGRO_MONITOR_INFO
    │ │ │ │ -typedef struct ALLEGRO_MONITOR_INFO
    │ │ │ │ +
    typedef struct ALLEGRO_MONITOR_INFO
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Describes a monitor’s size and position relative to other monitors. │ │ │ │ x1, y1 will be 0, 0 on the primary display. Other monitors can have │ │ │ │ negative values if they are to the left or above the primary display. │ │ │ │ x2, y2 are the coordinates one beyond the bottom right pixel, so that │ │ │ │ @@ -203,23 +202,14 @@ │ │ │ │ int x1; │ │ │ │ int y1; │ │ │ │ int x2; │ │ │ │ int y2; │ │ │ │ } ALLEGRO_MONITOR_INFO;

    │ │ │ │

    See also: al_get_monitor_info

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_monitor_info

    │ │ │ │
    bool al_get_monitor_info(int adapter, ALLEGRO_MONITOR_INFO *info)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Get information about a monitor’s position on the desktop. adapter is │ │ │ │ a number from 0 to al_get_num_video_adapters()-1.

    │ │ │ │ @@ -235,15 +225,15 @@ │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_monitorinfo.c
    • │ │ │ │
    • ex_drag_and_drop.c
    • │ │ │ │
    • ex_windows.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_depth_mask.c#L140">ex_depth_mask.c │ │ │ │
    │ │ │ │

    al_get_monitor_dpi

    │ │ │ │
    int al_get_monitor_dpi(int adapter)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Get the dots per inch of a monitor attached to the display │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -48,16 +48,14 @@ │ │ │ │ │ * al_get_monitor_dpi │ │ │ │ │ * al_get_num_video_adapters │ │ │ │ │ * al_get_monitor_refresh_rate │ │ │ │ │ These functions are declared in the main Allegro header file: │ │ │ │ │ #include │ │ │ │ │ ****** ALLEGRO_MONITOR_INFO ****** │ │ │ │ │ typedef struct ALLEGRO_MONITOR_INFO │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_MONITOR_INFO │ │ │ │ │ Source_Code │ │ │ │ │ Describes a monitor’s size and position relative to other monitors. x1, y1 will │ │ │ │ │ be 0, 0 on the primary display. Other monitors can have negative values if they │ │ │ │ │ are to the left or above the primary display. x2, y2 are the coordinates one │ │ │ │ │ beyond the bottom right pixel, so that x2-x1 gives the width and y2-y1 gives │ │ │ │ │ the height of the display. │ │ │ │ │ typedef struct ALLEGRO_MONITOR_INFO │ │ │ │ │ @@ -70,31 +68,27 @@ │ │ │ │ │ │ │ │ │ │ int x2; │ │ │ │ │ │ │ │ │ │ int y2; │ │ │ │ │ │ │ │ │ │ } ALLEGRO_MONITOR_INFO; │ │ │ │ │ See also: al_get_monitor_info │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_monitorinfo.c │ │ │ │ │ - * ex_drag_and_drop.c │ │ │ │ │ - * ex_windows.c │ │ │ │ │ ****** al_get_monitor_info ****** │ │ │ │ │ bool al_get_monitor_info(int adapter, ALLEGRO_MONITOR_INFO *info) │ │ │ │ │ Source_Code │ │ │ │ │ Get information about a monitor’s position on the desktop. adapter is a number │ │ │ │ │ from 0 to al_get_num_video_adapters()-1. │ │ │ │ │ On Windows, use al_set_new_display_flags to switch between Direct3D and OpenGL │ │ │ │ │ backends, which will often have different adapters available. │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ See also: ALLEGRO_MONITOR_INFO, al_get_num_video_adapters │ │ │ │ │ Examples: │ │ │ │ │ * ex_monitorinfo.c │ │ │ │ │ * ex_drag_and_drop.c │ │ │ │ │ - * ex_windows.c │ │ │ │ │ + * ex_depth_mask.c │ │ │ │ │ ****** al_get_monitor_dpi ****** │ │ │ │ │ int al_get_monitor_dpi(int adapter) │ │ │ │ │ Source_Code │ │ │ │ │ Get the dots per inch of a monitor attached to the display adapter. │ │ │ │ │ Since: 5.2.5 │ │ │ │ │ See also: al_get_num_video_adapters │ │ │ │ │ Examples: │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/mouse.html │ │ │ │ @@ -231,16 +231,15 @@ │ │ │ │ id="toc-al_ungrab_mouse">al_ungrab_mouse │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

    These functions are declared in the main Allegro header file:

    │ │ │ │
     #include <allegro5/allegro.h>
    │ │ │ │

    ALLEGRO_MOUSE_STATE

    │ │ │ │ -
    typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE;
    │ │ │ │ -typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE;
    │ │ │ │ +
    typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Public fields (read only):

    │ │ │ │
      │ │ │ │
    • x - mouse x position

    • │ │ │ │
    • y - mouse y position

    • │ │ │ │ @@ -252,23 +251,14 @@ │ │ │ │
    • pressure - pressure, ranging from 0.0 to │ │ │ │ 1.0

    • │ │ │ │
    │ │ │ │

    See also: al_get_mouse_state, al_get_mouse_state_axis, │ │ │ │ al_mouse_button_down

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Mouse button constants

    │ │ │ │

    Unlike other indexes, the first mouse button is numbered 1 when │ │ │ │ returned in the event.mouse.button field of │ │ │ │ ALLEGRO_EVENT_MOUSE_BUTTON_UP and ALLEGRO_EVENT_MOUSE_BUTTON_DOWN │ │ │ │ events.

    │ │ │ │

    As a convenience, the following ALLEGRO_MOUSE_BUTTON constants are │ │ │ │ provided below. However, depending on the hardware there may be more or │ │ │ │ @@ -292,19 +282,19 @@ │ │ │ │ Code

    │ │ │ │

    Install a mouse driver.

    │ │ │ │

    Returns true if successful. If a driver was already installed, │ │ │ │ nothing happens and true is returned.

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_mouse_focus.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_audio_props.cpp#L156">ex_audio_props.cpp │ │ │ │
    • ex_mouse.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_font_multiline.cpp#L177">ex_font_multiline.cpp │ │ │ │
    • ex_font_justify.cpp
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_color.cpp#L195">ex_color.cpp │ │ │ │
    │ │ │ │

    al_is_mouse_installed

    │ │ │ │
    bool al_is_mouse_installed(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if Retrieve the mouse event source. All mouse events are │ │ │ │ generated by this event source.

    │ │ │ │

    Returns NULL if the mouse subsystem was not installed.

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_display_events.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_prim_shader.c#L153">ex_prim_shader.c │ │ │ │
    • ex_noframe.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_timer.c#L191">ex_timer.c │ │ │ │
    • ex_mouse_warp.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_audio_chain.cpp#L718">ex_audio_chain.cpp │ │ │ │
    │ │ │ │

    al_set_mouse_wheel_precision

    │ │ │ │
    void al_set_mouse_wheel_precision(int precision)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets the precision of the mouse wheel (the z and w coordinates). This │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -71,30 +71,24 @@ │ │ │ │ │ o al_show_mouse_cursor │ │ │ │ │ o al_grab_mouse │ │ │ │ │ o al_ungrab_mouse │ │ │ │ │ These functions are declared in the main Allegro header file: │ │ │ │ │ #include │ │ │ │ │ ****** ALLEGRO_MOUSE_STATE ****** │ │ │ │ │ typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE; │ │ │ │ │ Source_Code │ │ │ │ │ Public fields (read only): │ │ │ │ │ * x - mouse x position │ │ │ │ │ * y - mouse y position │ │ │ │ │ * w, z - mouse wheel position (2D ‘ball’) │ │ │ │ │ * buttons - mouse buttons bitfield │ │ │ │ │ The zeroth bit is set if the primary mouse button is held down, the first │ │ │ │ │ bit is set if the secondary mouse button is held down, and so on. │ │ │ │ │ * pressure - pressure, ranging from 0.0 to 1.0 │ │ │ │ │ See also: al_get_mouse_state, al_get_mouse_state_axis, al_mouse_button_down │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_mouse_focus.c │ │ │ │ │ - * ex_mouse.c │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ ****** Mouse button constants ****** │ │ │ │ │ Unlike other indexes, the first mouse button is numbered 1 when returned in the │ │ │ │ │ event.mouse.button field of ALLEGRO_EVENT_MOUSE_BUTTON_UP and ALLEGRO_EVENT_ │ │ │ │ │ MOUSE_BUTTON_DOWN events. │ │ │ │ │ As a convenience, the following ALLEGRO_MOUSE_BUTTON constants are provided │ │ │ │ │ below. However, depending on the hardware there may be more or fewer mouse │ │ │ │ │ buttons. You can check al_get_mouse_num_buttons if you want to be sure. │ │ │ │ │ @@ -114,17 +108,17 @@ │ │ │ │ │ ****** al_install_mouse ****** │ │ │ │ │ bool al_install_mouse(void) │ │ │ │ │ Source_Code │ │ │ │ │ Install a mouse driver. │ │ │ │ │ Returns true if successful. If a driver was already installed, nothing happens │ │ │ │ │ and true is returned. │ │ │ │ │ Examples: │ │ │ │ │ - * ex_mouse_focus.c │ │ │ │ │ - * ex_mouse.c │ │ │ │ │ - * ex_font_justify.cpp │ │ │ │ │ + * ex_audio_props.cpp │ │ │ │ │ + * ex_font_multiline.cpp │ │ │ │ │ + * ex_color.cpp │ │ │ │ │ ****** al_is_mouse_installed ****** │ │ │ │ │ bool al_is_mouse_installed(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true if al_install_mouse was called successfully. │ │ │ │ │ ****** al_uninstall_mouse ****** │ │ │ │ │ void al_uninstall_mouse(void) │ │ │ │ │ Source_Code │ │ │ │ │ @@ -232,17 +226,17 @@ │ │ │ │ │ ****** al_get_mouse_event_source ****** │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_mouse_event_source(void) │ │ │ │ │ Source_Code │ │ │ │ │ Retrieve the mouse event source. All mouse_events are generated by this event │ │ │ │ │ source. │ │ │ │ │ Returns NULL if the mouse subsystem was not installed. │ │ │ │ │ Examples: │ │ │ │ │ - * ex_display_events.c │ │ │ │ │ - * ex_noframe.c │ │ │ │ │ - * ex_mouse_warp.c │ │ │ │ │ + * ex_prim_shader.c │ │ │ │ │ + * ex_timer.c │ │ │ │ │ + * ex_audio_chain.cpp │ │ │ │ │ ****** al_set_mouse_wheel_precision ****** │ │ │ │ │ void al_set_mouse_wheel_precision(int precision) │ │ │ │ │ Source_Code │ │ │ │ │ Sets the precision of the mouse wheel (the z and w coordinates). This precision │ │ │ │ │ manifests itself as a multiplier on the dz and dw fields in mouse events. It │ │ │ │ │ also affects the z and w fields of events and ALLEGRO_MOUSE_STATE, but not in a │ │ │ │ │ simple way if you alter the precision often, so it is suggested to reset those │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/native_dialog.html │ │ │ │ @@ -262,42 +262,27 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

    These functions are declared in the following header file. Link with │ │ │ │ allegro_dialog.

    │ │ │ │
     #include <allegro5/allegro_native_dialog.h>
    │ │ │ │

    ALLEGRO_FILECHOOSER

    │ │ │ │ -
    typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER;
    │ │ │ │ -typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER;
    │ │ │ │ +
    typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Opaque handle to a native file dialog.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_TEXTLOG

    │ │ │ │ -
    typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG;
    │ │ │ │ -typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG;
    │ │ │ │ +
    typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Opaque handle to a text log window.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_init_native_dialog_addon

    │ │ │ │ -
    bool al_init_native_dialog_addon(void)
    │ │ │ │ -bool al_init_native_dialog_addon(void)
    │ │ │ │ +
    bool al_init_native_dialog_addon(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Initialise the native dialog addon.

    │ │ │ │

    Returns true on success, false on error.

    │ │ │ │

    Since: 5.0.9, 5.1.0

    │ │ │ │
    │ │ │ │ @@ -307,55 +292,39 @@ │ │ │ │ is al_show_native_message_box, │ │ │ │ which may be useful to show an error message if Allegro fails to │ │ │ │ initialise.

    │ │ │ │
    │ │ │ │

    See also: al_shutdown_native_dialog_addon

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_is_native_dialog_addon_initialized

    │ │ │ │ -
    bool al_is_native_dialog_addon_initialized(void)
    │ │ │ │ -bool al_is_native_dialog_addon_initialized(void)
    │ │ │ │ +
    bool al_is_native_dialog_addon_initialized(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if the native dialog addon is initialized, otherwise │ │ │ │ returns false.

    │ │ │ │

    Since: 5.2.6

    │ │ │ │

    al_shutdown_native_dialog_addon

    │ │ │ │ -
    void al_shutdown_native_dialog_addon(void)
    │ │ │ │ -void al_shutdown_native_dialog_addon(void)
    │ │ │ │ +
    void al_shutdown_native_dialog_addon(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Shut down the native dialog addon.

    │ │ │ │

    Since: 5.0.9, 5.1.5

    │ │ │ │

    See also: al_init_native_dialog_addon

    │ │ │ │

    al_create_native_file_dialog

    │ │ │ │
    ALLEGRO_FILECHOOSER *al_create_native_file_dialog(
    │ │ │ │     char const *initial_path,
    │ │ │ │     char const *title,
    │ │ │ │     char const *patterns,
    │ │ │ │ -   int mode)
    │ │ │ │ -ALLEGRO_FILECHOOSER *al_create_native_file_dialog(
    │ │ │ │ -   char const *initial_path,
    │ │ │ │ -   char const *title,
    │ │ │ │ -   char const *patterns,eta, float delta_theta, float thickness,
    │ │ │ │ -   int mode)
    │ │ │ │ + int mode) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Creates a new native file dialog. You should only have one such │ │ │ │ dialog opened at a time.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │ @@ -437,24 +406,17 @@ │ │ │ │ and al_get_native_file_dialog_path. │ │ │ │ When you are done, call al_destroy_native_file_dialog │ │ │ │ on it.

      │ │ │ │

      If a dialog window could not be created then this function returns │ │ │ │ NULL.

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_show_native_file_dialog

      │ │ │ │
      bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display,
      │ │ │ │ -   ALLEGRO_FILECHOOSER *dialog)
      │ │ │ │ -bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display,
      │ │ │ │ -   ALLEGRO_FILECHOOSER *dialog)
      │ │ │ │ + ALLEGRO_FILECHOOSER *dialog) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Show the dialog window. The display may be NULL, otherwise the given │ │ │ │ display is treated as the parent if possible.

      │ │ │ │

      This function blocks the calling thread until it returns, so you may │ │ │ │ want to spawn a thread with Note: On Android, ALLEGRO_EVENT_DISPLAY_HALT_DRAWING │ │ │ │ and ALLEGRO_EVENT_DISPLAY_RESUME_DRAWING │ │ │ │ need to be handled before this function returns. This means that you │ │ │ │ must call it from a different thread.

      │ │ │ │ │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_native_file_dialog_count

      │ │ │ │ -
      int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog)
      │ │ │ │ -int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog)
      │ │ │ │ +
      int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the number of files selected, or 0 if the dialog was │ │ │ │ cancelled.

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_native_file_dialog_path

      │ │ │ │
      const char *al_get_native_file_dialog_path(
      │ │ │ │ -   const ALLEGRO_FILECHOOSER *dialog, size_t i)
      │ │ │ │ -const char *al_get_native_file_dialog_path(
      │ │ │ │ -   const ALLEGRO_FILECHOOSER *dialog, size_t i)
      │ │ │ │ + const ALLEGRO_FILECHOOSER *dialog, size_t i) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns one of the selected paths with index i. The │ │ │ │ index should range from 0 to the return value of al_get_native_file_dialog_count │ │ │ │ -1.

      │ │ │ │
      │ │ │ │

      Note: On Android, this function returns a content:// │ │ │ │ Universal Resource Identifier instead of a file path due to the │ │ │ │ constraints of Scoped Storage. Selected files may be accessed using al_android_open_fd.

      │ │ │ │
      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_destroy_native_file_dialog

      │ │ │ │ -
      void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog)
      │ │ │ │ -void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog)
      │ │ │ │ +
      void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Frees up all resources used by the file dialog.

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_show_native_message_box

      │ │ │ │
      int al_show_native_message_box(ALLEGRO_DISPLAY *display,
      │ │ │ │     char const *title, char const *heading, char const *text,
      │ │ │ │ -   char const *buttons, int flags)
      │ │ │ │ -int al_show_native_message_box(ALLEGRO_DISPLAY *display,
      │ │ │ │ -   char const *title, char const *heading, char const *text,
      │ │ │ │ -   char const *buttons, int flags)
      │ │ │ │ + char const *buttons, int flags) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Show a native GUI message box. This can be used for example to │ │ │ │ display an error message if creation of an initial display fails. The │ │ │ │ display may be NULL, otherwise the given display is treated as the │ │ │ │ parent if possible.

      │ │ │ │ @@ -597,26 +532,16 @@ │ │ │ │ "If you click yes then you are confirming that \"Yes\" " │ │ │ │ "is your response to the query which you have " │ │ │ │ "generated by the action you took to open this " │ │ │ │ "message box.", │ │ │ │ NULL, │ │ │ │ ALLEGRO_MESSAGEBOX_YES_NO │ │ │ │ ); │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_open_native_text_log

      │ │ │ │ -
      ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags)
      │ │ │ │ -ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags)
      │ │ │ │ +
      ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Opens a window to which you can append log messages with al_append_native_text_log. │ │ │ │ This can be useful for debugging if you don’t want to depend on a │ │ │ │ console being available.

      │ │ │ │ @@ -641,67 +566,41 @@ │ │ │ │
      │ │ │ │

      Note: On Android, logs can be viewed using logcat.

      │ │ │ │
      │ │ │ │

      See also: al_append_native_text_log, │ │ │ │ al_close_native_text_log

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_close_native_text_log

      │ │ │ │ -
      void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog)
      │ │ │ │ -void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog)
      │ │ │ │ +
      void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Closes a message log window opened with al_open_native_text_log │ │ │ │ earlier.

      │ │ │ │

      Does nothing if passed NULL.

      │ │ │ │

      See also: al_open_native_text_log

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_append_native_text_log

      │ │ │ │
      void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog,
      │ │ │ │ -   char const *format, ...)
      │ │ │ │ -void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog,
      │ │ │ │ -   char const *format, ...)
      │ │ │ │ + char const *format, ...) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Appends a line of text to the message log window and scrolls to the │ │ │ │ bottom (if the line would not be visible otherwise). This works like │ │ │ │ printf. A line is continued until you add a newline character.

      │ │ │ │

      If the window is NULL then this function will fall back to calling │ │ │ │ printf. This makes it convenient to support logging to a window or a │ │ │ │ terminal.

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_native_text_log_event_source

      │ │ │ │
      ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source(
      │ │ │ │ -   ALLEGRO_TEXTLOG *textlog)
      │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source(
      │ │ │ │ -   ALLEGRO_TEXTLOG *textlog)
      │ │ │ │ + ALLEGRO_TEXTLOG *textlog) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Get an event source for a text log window. The possible events │ │ │ │ are:

      │ │ │ │
      │ │ │ │
      ALLEGRO_EVENT_NATIVE_DIALOG_CLOSE
      │ │ │ │ @@ -710,27 +609,17 @@ │ │ │ │ button or pressing Escape on the keyboard. The user.data1 field will │ │ │ │ hold a pointer to the ALLEGRO_TEXTLOG which │ │ │ │ generated the event. The user.data2 field will be 1 if the event was │ │ │ │ generated as a result of a key press; otherwise it will be zero. │ │ │ │ │ │ │ │
      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_allegro_native_dialog_version

      │ │ │ │ -
      uint32_t al_get_allegro_native_dialog_version(void)
      │ │ │ │ -uint32_t al_get_allegro_native_dialog_version(void)
      │ │ │ │ +
      uint32_t al_get_allegro_native_dialog_version(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

      │ │ │ │

      Menus

      │ │ │ │

      Menus are implemented on Windows, X and OS X. Menus on X are │ │ │ │ @@ -780,29 +669,22 @@ │ │ │ │ exit_program(); │ │ │ │ } │ │ │ │ } │ │ │ │

      Because there is no “DISPLAY_DESTROYED” event, you must call │ │ │ │ al_set_display_menu(display, NULL) before destroying any display with a │ │ │ │ menu attached, to avoid leaking resources.

      │ │ │ │

      ALLEGRO_MENU

      │ │ │ │ -
      typedef struct ALLEGRO_MENU ALLEGRO_MENU;
      │ │ │ │ -typedef struct ALLEGRO_MENU ALLEGRO_MENU;
      │ │ │ │ +
      typedef struct ALLEGRO_MENU ALLEGRO_MENU;
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      An opaque data type that represents a menu that contains menu items. │ │ │ │ Each of the menu items may optionally include a sub-menu.

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      ALLEGRO_MENU_INFO

      │ │ │ │ -
      typedef struct ALLEGRO_MENU_INFO {
      │ │ │ │ -typedef struct ALLEGRO_MENU_INFO {
      │ │ │ │ +
      typedef struct ALLEGRO_MENU_INFO {
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      A structure that defines how to create a complete menu system. For │ │ │ │ standard menu items, the following format is used:

      │ │ │ │
         { caption, id, flags, icon }
      │ │ │ │

      For special items, these macros are helpful:

      │ │ │ │ @@ -831,99 +713,72 @@ │ │ │ │ │ │ │ │ ALLEGRO_MENU *menu = al_build_menu(menu_info); │ │ │ │

      If you prefer, you can build the menu without the structure by using │ │ │ │ al_create_menu and al_insert_menu_item.

      │ │ │ │

      See also: al_build_menu

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_create_menu

      │ │ │ │ -
      ALLEGRO_MENU *al_create_menu(void)
      │ │ │ │ -ALLEGRO_MENU *al_create_menu(void)
      │ │ │ │ +
      ALLEGRO_MENU *al_create_menu(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Creates a menu container that can hold menu items.

      │ │ │ │

      Returns NULL on failure.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_create_popup_menu, │ │ │ │ al_build_menu

      │ │ │ │

      al_create_popup_menu

      │ │ │ │ -
      ALLEGRO_MENU *al_create_popup_menu(void)
      │ │ │ │ -ALLEGRO_MENU *al_create_popup_menu(void)
      │ │ │ │ +
      ALLEGRO_MENU *al_create_popup_menu(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Creates a menu container for popup menus. Only the root (outermost) │ │ │ │ menu should be created with this function. Sub menus of popups should be │ │ │ │ created with al_create_menu.

      │ │ │ │

      Returns NULL on failure.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_create_menu, al_build_menu

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_build_menu

      │ │ │ │ -
      ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info)
      │ │ │ │ -ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info)
      │ │ │ │ +
      ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Builds a menu based on the specifications of a sequence of │ │ │ │ ALLEGRO_MENU_INFO elements.

      │ │ │ │

      Returns a pointer to the root ALLEGRO_MENU, or │ │ │ │ NULL on failure. To gain access to the other menus and │ │ │ │ items, you will need to search for them using al_find_menu_item.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: ALLEGRO_MENU_INFO, al_create_menu, al_create_popup_menu

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_append_menu_item

      │ │ │ │
      int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id,
      │ │ │ │ -   int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)
      │ │ │ │ -int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id,
      │ │ │ │ -   int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)
      │ │ │ │ + int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Appends a menu item to the end of the menu. See al_insert_menu_item │ │ │ │ for more information.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_insert_menu_item, │ │ │ │ al_remove_menu_item

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_insert_menu_item

      │ │ │ │
      int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title,
      │ │ │ │ -   uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)
      │ │ │ │ -int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title,
      │ │ │ │ -   uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)
      │ │ │ │ + uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Inserts a menu item at the spot specified. See the introductory text │ │ │ │ for a detailed explanation of how the pos parameter is │ │ │ │ interpreted.

      │ │ │ │

      The parent menu can be a popup menu or a regular menu. │ │ │ │ @@ -954,16 +809,15 @@ │ │ │ │

      Returns true on success.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_append_menu_item, │ │ │ │ al_remove_menu_item

      │ │ │ │

      al_remove_menu_item

      │ │ │ │ -
      bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos)
      │ │ │ │ -bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos)
      │ │ │ │ +
      bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Removes the specified item from the menu and destroys it. If the item │ │ │ │ contains a sub-menu, it too is destroyed. Any references to it are │ │ │ │ invalidated. If you want to preserve that sub-menu, you should first │ │ │ │ make a copy with Returns true if an item was removed.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_append_menu_item, │ │ │ │ al_insert_menu_item, │ │ │ │ al_destroy_menu

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_clone_menu

      │ │ │ │ -
      ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu)
      │ │ │ │ -ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu)
      │ │ │ │ +
      ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Makes a copy of a menu so that it can be reused on another display. │ │ │ │ The menu being cloned can be anything: a regular menu, a popup menu, or │ │ │ │ a sub-menu.

      │ │ │ │

      Returns the cloned menu.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_clone_menu_for_popup

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_clone_menu_for_popup

      │ │ │ │ -
      ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu)
      │ │ │ │ -ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu)
      │ │ │ │ +
      ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Exactly like al_clone_menu, except that │ │ │ │ the copy is for a popup menu.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_clone_menu

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_destroy_menu

      │ │ │ │ -
      void al_destroy_menu(ALLEGRO_MENU *menu)
      │ │ │ │ -void al_destroy_menu(ALLEGRO_MENU *menu)
      │ │ │ │ +
      void al_destroy_menu(ALLEGRO_MENU *menu)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Destroys an entire menu, including its sub-menus. Any references to │ │ │ │ it or a sub-menu are no longer valid. It is safe to call this on a menu │ │ │ │ that is currently being displayed.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_remove_menu_item

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_get_menu_item_caption

      │ │ │ │ -
      const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos)
      │ │ │ │ -const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos)
      │ │ │ │ +
      const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the caption associated with the menu item. It is valid as │ │ │ │ long as the caption is not modified.

      │ │ │ │

      Returns NULL if the item was not found.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_set_menu_item_caption

      │ │ │ │

      al_set_menu_item_caption

      │ │ │ │ -
      void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption)
      │ │ │ │ -void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption)
      │ │ │ │ +
      void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Updates the menu item caption with the new caption. This │ │ │ │ will invalidate any previous calls to al_get_menu_item_caption.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_get_menu_item_caption

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_get_menu_item_flags

      │ │ │ │ -
      int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos)
      │ │ │ │ -int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos)
      │ │ │ │ +
      int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the currently set flags. See al_insert_menu_item │ │ │ │ for a description of the available flags.

      │ │ │ │

      Returns -1 if the item was not found.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_set_menu_item_flags, │ │ │ │ al_toggle_menu_item_flags

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_set_menu_item_flags

      │ │ │ │ -
      void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)
      │ │ │ │ -void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)
      │ │ │ │ +
      void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Updates the menu item’s flags. See al_insert_menu_item │ │ │ │ for a description of the available flags.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_get_menu_item_flags, │ │ │ │ al_toggle_menu_item_flags

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_toggle_menu_item_flags

      │ │ │ │ -
      int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)
      │ │ │ │ -int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)
      │ │ │ │ +
      int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Toggles the specified menu item’s flags. See al_insert_menu_item │ │ │ │ for a description of the available flags.

      │ │ │ │

      Returns a bitfield of only the specified flags that are set after the │ │ │ │ @@ -1120,71 +931,56 @@ │ │ │ │ al_get/set_menu_item_flags.

      │ │ │ │ │ │ │ │

      See also: al_get_menu_item_flags, │ │ │ │ al_set_menu_item_flags

      │ │ │ │

      al_get_menu_item_icon

      │ │ │ │ -
      ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos)
      │ │ │ │ -ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos)
      │ │ │ │ +
      ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the icon associated with the menu. It is safe to draw to the │ │ │ │ returned bitmap, but you must call al_set_menu_item_icon │ │ │ │ in order for the changes to be applied.

      │ │ │ │

      Returns NULL if the item was not found or if it has no │ │ │ │ icon.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_set_menu_item_icon

      │ │ │ │

      al_set_menu_item_icon

      │ │ │ │ -
      void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon)
      │ │ │ │ -void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon)
      │ │ │ │ +
      void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Sets the icon for the specified menu item. The menu assumes ownership │ │ │ │ of the ALLEGRO_BITMAP and may invalidate the pointer, so │ │ │ │ you must clone it if you wish to continue using it.

      │ │ │ │

      If a video bitmap is passed, it will automatically be converted to a │ │ │ │ memory bitmap, so it is preferable to pass a memory bitmap.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_get_menu_item_icon, │ │ │ │ al_clone_bitmap

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_find_menu

      │ │ │ │ -
      ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id)
      │ │ │ │ -ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id)
      │ │ │ │ +
      ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Searches in the haystack menu for any submenu with the │ │ │ │ given id. (Note that this only represents a literal ID, and │ │ │ │ cannot be used as an index.)

      │ │ │ │

      Returns the menu, if found. Otherwise returns NULL.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_find_menu_item

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_find_menu_item

      │ │ │ │
      bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU **menu,
      │ │ │ │ -   int *index)
      │ │ │ │ -bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU **menu,
      │ │ │ │ -   int *index)
      │ │ │ │ + int *index) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Searches in the haystack menu for an item with the given │ │ │ │ id. (Note that this only represents a literal ID, and │ │ │ │ cannot be used as an index.)

      │ │ │ │

      If menu and index are not │ │ │ │ @@ -1193,38 +989,31 @@ │ │ │ │ was not found, then their values are undefined.)

      │ │ │ │

      Returns true if the menu item was found.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_find_menu

      │ │ │ │

      al_get_default_menu_event_source

      │ │ │ │ -
      ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void)
      │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void)
      │ │ │ │ +
      ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the default event source used for menu clicks. If a menu was │ │ │ │ not given its own event source via al_enable_menu_event_source, │ │ │ │ then it will use this default source.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_register_event_source, │ │ │ │ al_enable_menu_event_source, │ │ │ │ al_disable_menu_event_source

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_enable_menu_event_source

      │ │ │ │ -
      ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu)
      │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu)
      │ │ │ │ +
      ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Enables a unique event source for this menu. It and all of its │ │ │ │ sub-menus will use this event source. (It is safe to call this multiple │ │ │ │ times on the same menu.)

      │ │ │ │

      Returns the event source.

      │ │ │ │ @@ -1232,40 +1021,37 @@ │ │ │ │

      See also: al_register_event_source, │ │ │ │ al_get_default_menu_event_source, │ │ │ │ al_disable_menu_event_source

      │ │ │ │

      al_disable_menu_event_source

      │ │ │ │ -
      void al_disable_menu_event_source(ALLEGRO_MENU *menu)
      │ │ │ │ -void al_disable_menu_event_source(ALLEGRO_MENU *menu)
      │ │ │ │ +
      void al_disable_menu_event_source(ALLEGRO_MENU *menu)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Disables a unique event source for the menu, causing it to use the │ │ │ │ default event source.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_get_default_menu_event_source, │ │ │ │ al_enable_menu_event_source

      │ │ │ │

      al_get_display_menu

      │ │ │ │ -
      ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *display)
      │ │ │ │ -ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *displaynt,
      │ │ │ │ +
      ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *display)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the menu associated with the display, or │ │ │ │ NULL if it does not have a menu.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_set_display_menu

      │ │ │ │

      al_set_display_menu

      │ │ │ │ -
      bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu)
      │ │ │ │ -bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu)
      │ │ │ │ +
      bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Associates the menu with the display and │ │ │ │ shows it. If there was a previous menu associated with the display, it │ │ │ │ will be destroyed. If you don’t want that to happen, you should first │ │ │ │ remove the menu with │ │ │ │ │ │ │ │

      Returns true if successful.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_create_menu, al_remove_display_menu

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_popup_menu

      │ │ │ │ -
      bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display)
      │ │ │ │ -bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display)
      │ │ │ │ +
      bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Displays a context menu next to the mouse cursor. The menu must have │ │ │ │ been created with al_create_popup_menu. │ │ │ │ It generates events just like a regular display menu does. It is │ │ │ │ @@ -1310,38 +1090,27 @@ │ │ │ │ keys are held down. I.e. it will only reliably work if you handle it in │ │ │ │ ALLEGRO_MOUSE_BUTTON_UP events and even then only if that │ │ │ │ event corresponds to the final mouse button that was pressed.

      │ │ │ │ │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_create_popup_menu

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      al_remove_display_menu

      │ │ │ │ -
      ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display)
      │ │ │ │ -ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display)
      │ │ │ │ +
      ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Detaches the menu associated with the display and returns it. The │ │ │ │ menu can then be used on a different display.

      │ │ │ │

      If you simply want to destroy the active menu, you can call al_set_display_menu │ │ │ │ with a NULL menu.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_set_display_menu

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_menu.c
      • │ │ │ │ -
      │ │ │ │

      │ │ │ │ Allegro version 5.2.10 │ │ │ │ - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │

      │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -88,83 +88,54 @@ │ │ │ │ │ o al_popup_menu │ │ │ │ │ o al_remove_display_menu │ │ │ │ │ These functions are declared in the following header file. Link with allegro_ │ │ │ │ │ dialog. │ │ │ │ │ #include │ │ │ │ │ ****** ALLEGRO_FILECHOOSER ****** │ │ │ │ │ typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER; │ │ │ │ │ Source_Code │ │ │ │ │ Opaque handle to a native file dialog. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** ALLEGRO_TEXTLOG ****** │ │ │ │ │ typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG; │ │ │ │ │ Source_Code │ │ │ │ │ Opaque handle to a text log window. │ │ │ │ │ -Examples: │ │ │ │ │ - * common.c │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** al_init_native_dialog_addon ****** │ │ │ │ │ bool al_init_native_dialog_addon(void) │ │ │ │ │ - │ │ │ │ │ -bool al_init_native_dialog_addon(void) │ │ │ │ │ Source_Code │ │ │ │ │ Initialise the native dialog addon. │ │ │ │ │ Returns true on success, false on error. │ │ │ │ │ Since: 5.0.9, 5.1.0 │ │ │ │ │ Note: Prior to Allegro 5.1.0 native dialog functions could be called │ │ │ │ │ without explicit initialisation, but that is now deprecated. Future │ │ │ │ │ functionality may require explicit initialisation. An exception is │ │ │ │ │ al_show_native_message_box, which may be useful to show an error │ │ │ │ │ message if Allegro fails to initialise. │ │ │ │ │ See also: al_shutdown_native_dialog_addon │ │ │ │ │ -Examples: │ │ │ │ │ - * common.c │ │ │ │ │ - * ex_window_maximized.c │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ****** al_is_native_dialog_addon_initialized ****** │ │ │ │ │ bool al_is_native_dialog_addon_initialized(void) │ │ │ │ │ - │ │ │ │ │ -bool al_is_native_dialog_addon_initialized(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true if the native dialog addon is initialized, otherwise returns │ │ │ │ │ false. │ │ │ │ │ Since: 5.2.6 │ │ │ │ │ ****** al_shutdown_native_dialog_addon ****** │ │ │ │ │ void al_shutdown_native_dialog_addon(void) │ │ │ │ │ - │ │ │ │ │ -void al_shutdown_native_dialog_addon(void) │ │ │ │ │ Source_Code │ │ │ │ │ Shut down the native dialog addon. │ │ │ │ │ Since: 5.0.9, 5.1.5 │ │ │ │ │ See also: al_init_native_dialog_addon │ │ │ │ │ ****** al_create_native_file_dialog ****** │ │ │ │ │ ALLEGRO_FILECHOOSER *al_create_native_file_dialog( │ │ │ │ │ │ │ │ │ │ char const *initial_path, │ │ │ │ │ │ │ │ │ │ char const *title, │ │ │ │ │ │ │ │ │ │ char const *patterns, │ │ │ │ │ │ │ │ │ │ int mode) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_FILECHOOSER *al_create_native_file_dialog( │ │ │ │ │ - │ │ │ │ │ - char const *initial_path, │ │ │ │ │ - │ │ │ │ │ - char const *title, │ │ │ │ │ - │ │ │ │ │ - char const *patterns,eta, float delta_theta, float thickness, │ │ │ │ │ - │ │ │ │ │ - int mode) │ │ │ │ │ Source_Code │ │ │ │ │ Creates a new native file dialog. You should only have one such dialog opened │ │ │ │ │ at a time. │ │ │ │ │ Parameters: │ │ │ │ │ * initial_path: The initial search path and filename. Can be NULL. To start │ │ │ │ │ with a blank file name the string should end with a directory separator │ │ │ │ │ (this should be the common case). │ │ │ │ │ @@ -213,80 +184,52 @@ │ │ │ │ │ If supported, allow selecting multiple files. │ │ │ │ │ Returns: │ │ │ │ │ A handle to the dialog which you can pass to al_show_native_file_dialog to │ │ │ │ │ display it, and from which you then can query the results using al_get_native_ │ │ │ │ │ file_dialog_count and al_get_native_file_dialog_path. When you are done, call │ │ │ │ │ al_destroy_native_file_dialog on it. │ │ │ │ │ If a dialog window could not be created then this function returns NULL. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** al_show_native_file_dialog ****** │ │ │ │ │ bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display, │ │ │ │ │ │ │ │ │ │ ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ - │ │ │ │ │ -bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ Source_Code │ │ │ │ │ Show the dialog window. The display may be NULL, otherwise the given display is │ │ │ │ │ treated as the parent if possible. │ │ │ │ │ This function blocks the calling thread until it returns, so you may want to │ │ │ │ │ spawn a thread with al_create_thread and call it from inside that thread. │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ Note: On Android, ALLEGRO_EVENT_DISPLAY_HALT_DRAWING and ALLEGRO_ │ │ │ │ │ EVENT_DISPLAY_RESUME_DRAWING need to be handled before this function │ │ │ │ │ returns. This means that you must call it from a different thread. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** al_get_native_file_dialog_count ****** │ │ │ │ │ int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ - │ │ │ │ │ -int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the number of files selected, or 0 if the dialog was cancelled. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** al_get_native_file_dialog_path ****** │ │ │ │ │ const char *al_get_native_file_dialog_path( │ │ │ │ │ │ │ │ │ │ const ALLEGRO_FILECHOOSER *dialog, size_t i) │ │ │ │ │ - │ │ │ │ │ -const char *al_get_native_file_dialog_path( │ │ │ │ │ - │ │ │ │ │ - const ALLEGRO_FILECHOOSER *dialog, size_t i) │ │ │ │ │ Source_Code │ │ │ │ │ Returns one of the selected paths with index i. The index should range from 0 │ │ │ │ │ to the return value of al_get_native_file_dialog_count -1. │ │ │ │ │ Note: On Android, this function returns a content:// Universal │ │ │ │ │ Resource Identifier instead of a file path due to the constraints of │ │ │ │ │ Scoped Storage. Selected files may be accessed using al_android_open_ │ │ │ │ │ fd. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** al_destroy_native_file_dialog ****** │ │ │ │ │ void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ - │ │ │ │ │ -void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ Source_Code │ │ │ │ │ Frees up all resources used by the file dialog. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** al_show_native_message_box ****** │ │ │ │ │ int al_show_native_message_box(ALLEGRO_DISPLAY *display, │ │ │ │ │ │ │ │ │ │ char const *title, char const *heading, char const *text, │ │ │ │ │ │ │ │ │ │ char const *buttons, int flags) │ │ │ │ │ - │ │ │ │ │ -int al_show_native_message_box(ALLEGRO_DISPLAY *display, │ │ │ │ │ - │ │ │ │ │ - char const *title, char const *heading, char const *text, │ │ │ │ │ - │ │ │ │ │ - char const *buttons, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Show a native GUI message box. This can be used for example to display an error │ │ │ │ │ message if creation of an initial display fails. The display may be NULL, │ │ │ │ │ otherwise the given display is treated as the parent if possible. │ │ │ │ │ The message box will have a single “OK” button and use the style informative │ │ │ │ │ dialog boxes usually have on the native system. If the buttons parameter is not │ │ │ │ │ NULL, you can instead specify the button text in a string, with buttons │ │ │ │ │ @@ -335,22 +278,16 @@ │ │ │ │ │ "message box.", │ │ │ │ │ │ │ │ │ │ NULL, │ │ │ │ │ │ │ │ │ │ ALLEGRO_MESSAGEBOX_YES_NO │ │ │ │ │ │ │ │ │ │ ); │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_nodisplay.c │ │ │ │ │ - * common.c │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ****** al_open_native_text_log ****** │ │ │ │ │ ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Opens a window to which you can append log messages with al_append_native_text_ │ │ │ │ │ log. This can be useful for debugging if you don’t want to depend on a console │ │ │ │ │ being available. │ │ │ │ │ Use al_close_native_text_log to close the window again. │ │ │ │ │ The flags available are: │ │ │ │ │ ALLEGRO_TEXTLOG_NO_CLOSE │ │ │ │ │ @@ -359,69 +296,44 @@ │ │ │ │ │ event_source. │ │ │ │ │ ALLEGRO_TEXTLOG_MONOSPACE │ │ │ │ │ Use a monospace font to display the text. │ │ │ │ │ Returns NULL if there was an error opening the window, or if text log windows │ │ │ │ │ are not implemented on the platform. │ │ │ │ │ Note: On Android, logs can be viewed using logcat. │ │ │ │ │ See also: al_append_native_text_log, al_close_native_text_log │ │ │ │ │ -Examples: │ │ │ │ │ - * common.c │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** al_close_native_text_log ****** │ │ │ │ │ void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog) │ │ │ │ │ - │ │ │ │ │ -void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog) │ │ │ │ │ Source_Code │ │ │ │ │ Closes a message log window opened with al_open_native_text_log earlier. │ │ │ │ │ Does nothing if passed NULL. │ │ │ │ │ See also: al_open_native_text_log │ │ │ │ │ -Examples: │ │ │ │ │ - * common.c │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** al_append_native_text_log ****** │ │ │ │ │ void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog, │ │ │ │ │ │ │ │ │ │ char const *format, ...) │ │ │ │ │ - │ │ │ │ │ -void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog, │ │ │ │ │ - │ │ │ │ │ - char const *format, ...) │ │ │ │ │ Source_Code │ │ │ │ │ Appends a line of text to the message log window and scrolls to the bottom (if │ │ │ │ │ the line would not be visible otherwise). This works like printf. A line is │ │ │ │ │ continued until you add a newline character. │ │ │ │ │ If the window is NULL then this function will fall back to calling printf. This │ │ │ │ │ makes it convenient to support logging to a window or a terminal. │ │ │ │ │ -Examples: │ │ │ │ │ - * common.c │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** al_get_native_text_log_event_source ****** │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source( │ │ │ │ │ │ │ │ │ │ ALLEGRO_TEXTLOG *textlog) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source( │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_TEXTLOG *textlog) │ │ │ │ │ Source_Code │ │ │ │ │ Get an event source for a text log window. The possible events are: │ │ │ │ │ ALLEGRO_EVENT_NATIVE_DIALOG_CLOSE │ │ │ │ │ The window was requested to be closed, either by pressing the close │ │ │ │ │ button or pressing Escape on the keyboard. The user.data1 field will hold │ │ │ │ │ a pointer to the ALLEGRO_TEXTLOG which generated the event. The │ │ │ │ │ user.data2 field will be 1 if the event was generated as a result of a │ │ │ │ │ key press; otherwise it will be zero. │ │ │ │ │ -Examples: │ │ │ │ │ - * common.c │ │ │ │ │ - * ex_saw.c │ │ │ │ │ - * ex_resample_test.c │ │ │ │ │ ****** al_get_allegro_native_dialog_version ****** │ │ │ │ │ uint32_t al_get_allegro_native_dialog_version(void) │ │ │ │ │ - │ │ │ │ │ -uint32_t al_get_allegro_native_dialog_version(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as al_get_ │ │ │ │ │ allegro_version. │ │ │ │ │ ****** Menus ****** │ │ │ │ │ Menus are implemented on Windows, X and OS X. Menus on X are implemented with │ │ │ │ │ GTK, and have a special requirement: you must set the ALLEGRO_GTK_TOPLEVEL │ │ │ │ │ display flag prior to creating the display which will have menus attached. │ │ │ │ │ @@ -479,25 +391,19 @@ │ │ │ │ │ │ │ │ │ │ } │ │ │ │ │ Because there is no “DISPLAY_DESTROYED” event, you must call al_set_display_ │ │ │ │ │ menu(display, NULL) before destroying any display with a menu attached, to │ │ │ │ │ avoid leaking resources. │ │ │ │ │ ***** ALLEGRO_MENU ***** │ │ │ │ │ typedef struct ALLEGRO_MENU ALLEGRO_MENU; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_MENU ALLEGRO_MENU; │ │ │ │ │ Source_Code │ │ │ │ │ An opaque data type that represents a menu that contains menu items. Each of │ │ │ │ │ the menu items may optionally include a sub-menu. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** ALLEGRO_MENU_INFO ***** │ │ │ │ │ typedef struct ALLEGRO_MENU_INFO { │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_MENU_INFO { │ │ │ │ │ Source_Code │ │ │ │ │ A structure that defines how to create a complete menu system. For standard │ │ │ │ │ menu items, the following format is used: │ │ │ │ │ { caption, id, flags, icon } │ │ │ │ │ For special items, these macros are helpful: │ │ │ │ │ ALLEGRO_START_OF_MENU(caption, id) │ │ │ │ │ │ │ │ │ │ @@ -538,75 +444,53 @@ │ │ │ │ │ }; │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ALLEGRO_MENU *menu = al_build_menu(menu_info); │ │ │ │ │ If you prefer, you can build the menu without the structure by using al_create_ │ │ │ │ │ menu and al_insert_menu_item. │ │ │ │ │ See also: al_build_menu │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_create_menu ***** │ │ │ │ │ ALLEGRO_MENU *al_create_menu(void) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_MENU *al_create_menu(void) │ │ │ │ │ Source_Code │ │ │ │ │ Creates a menu container that can hold menu items. │ │ │ │ │ Returns NULL on failure. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_create_popup_menu, al_build_menu │ │ │ │ │ ***** al_create_popup_menu ***** │ │ │ │ │ ALLEGRO_MENU *al_create_popup_menu(void) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_MENU *al_create_popup_menu(void) │ │ │ │ │ Source_Code │ │ │ │ │ Creates a menu container for popup menus. Only the root (outermost) menu should │ │ │ │ │ be created with this function. Sub menus of popups should be created with al_ │ │ │ │ │ create_menu. │ │ │ │ │ Returns NULL on failure. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_create_menu, al_build_menu │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_build_menu ***** │ │ │ │ │ ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info) │ │ │ │ │ Source_Code │ │ │ │ │ Builds a menu based on the specifications of a sequence of ALLEGRO_MENU_INFO │ │ │ │ │ elements. │ │ │ │ │ Returns a pointer to the root ALLEGRO_MENU, or NULL on failure. To gain access │ │ │ │ │ to the other menus and items, you will need to search for them using al_find_ │ │ │ │ │ menu_item. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: ALLEGRO_MENU_INFO, al_create_menu, al_create_popup_menu │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_append_menu_item ***** │ │ │ │ │ int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id, │ │ │ │ │ │ │ │ │ │ int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu) │ │ │ │ │ - │ │ │ │ │ -int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id, │ │ │ │ │ - │ │ │ │ │ - int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu) │ │ │ │ │ Source_Code │ │ │ │ │ Appends a menu item to the end of the menu. See al_insert_menu_item for more │ │ │ │ │ information. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_insert_menu_item, al_remove_menu_item │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_insert_menu_item ***** │ │ │ │ │ int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title, │ │ │ │ │ │ │ │ │ │ uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu) │ │ │ │ │ - │ │ │ │ │ -int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title, │ │ │ │ │ - │ │ │ │ │ - uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu) │ │ │ │ │ Source_Code │ │ │ │ │ Inserts a menu item at the spot specified. See the introductory text for a │ │ │ │ │ detailed explanation of how the pos parameter is interpreted. │ │ │ │ │ The parent menu can be a popup menu or a regular menu. To underline one │ │ │ │ │ character in the title, prefix it with an ampersand. │ │ │ │ │ The flags can be any combination of: │ │ │ │ │ ALLEGRO_MENU_ITEM_DISABLED │ │ │ │ │ @@ -622,240 +506,177 @@ │ │ │ │ │ menu must have previously been created with al_create_menu, and not be │ │ │ │ │ associated with any other menu. │ │ │ │ │ Returns true on success. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_append_menu_item, al_remove_menu_item │ │ │ │ │ ***** al_remove_menu_item ***** │ │ │ │ │ bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ - │ │ │ │ │ -bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ Source_Code │ │ │ │ │ Removes the specified item from the menu and destroys it. If the item contains │ │ │ │ │ a sub-menu, it too is destroyed. Any references to it are invalidated. If you │ │ │ │ │ want to preserve that sub-menu, you should first make a copy with al_clone_ │ │ │ │ │ menu. │ │ │ │ │ This is safe to call on a menu that is currently being displayed. │ │ │ │ │ Returns true if an item was removed. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_append_menu_item, al_insert_menu_item, al_destroy_menu │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_clone_menu ***** │ │ │ │ │ ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu) │ │ │ │ │ Source_Code │ │ │ │ │ Makes a copy of a menu so that it can be reused on another display. The menu │ │ │ │ │ being cloned can be anything: a regular menu, a popup menu, or a sub-menu. │ │ │ │ │ Returns the cloned menu. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_clone_menu_for_popup │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_clone_menu_for_popup ***** │ │ │ │ │ ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu) │ │ │ │ │ Source_Code │ │ │ │ │ Exactly like al_clone_menu, except that the copy is for a popup menu. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_clone_menu │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_destroy_menu ***** │ │ │ │ │ void al_destroy_menu(ALLEGRO_MENU *menu) │ │ │ │ │ - │ │ │ │ │ -void al_destroy_menu(ALLEGRO_MENU *menu) │ │ │ │ │ Source_Code │ │ │ │ │ Destroys an entire menu, including its sub-menus. Any references to it or a │ │ │ │ │ sub-menu are no longer valid. It is safe to call this on a menu that is │ │ │ │ │ currently being displayed. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_remove_menu_item │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_get_menu_item_caption ***** │ │ │ │ │ const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ - │ │ │ │ │ -const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the caption associated with the menu item. It is valid as long as the │ │ │ │ │ caption is not modified. │ │ │ │ │ Returns NULL if the item was not found. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_set_menu_item_caption │ │ │ │ │ ***** al_set_menu_item_caption ***** │ │ │ │ │ void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption) │ │ │ │ │ - │ │ │ │ │ -void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption) │ │ │ │ │ Source_Code │ │ │ │ │ Updates the menu item caption with the new caption. This will invalidate any │ │ │ │ │ previous calls to al_get_menu_item_caption. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_get_menu_item_caption │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_get_menu_item_flags ***** │ │ │ │ │ int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ - │ │ │ │ │ -int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the currently set flags. See al_insert_menu_item for a description of │ │ │ │ │ the available flags. │ │ │ │ │ Returns -1 if the item was not found. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_set_menu_item_flags, al_toggle_menu_item_flags │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_set_menu_item_flags ***** │ │ │ │ │ void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags) │ │ │ │ │ - │ │ │ │ │ -void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Updates the menu item’s flags. See al_insert_menu_item for a description of the │ │ │ │ │ available flags. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_get_menu_item_flags, al_toggle_menu_item_flags │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_toggle_menu_item_flags ***** │ │ │ │ │ int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags) │ │ │ │ │ - │ │ │ │ │ -int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Toggles the specified menu item’s flags. See al_insert_menu_item for a │ │ │ │ │ description of the available flags. │ │ │ │ │ Returns a bitfield of only the specified flags that are set after the toggle. A │ │ │ │ │ flag that was not toggled will not be returned, even if it is set. Returns - │ │ │ │ │ 1 if the id is invalid. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ Unstable_API: Redundant with al_get/set_menu_item_flags. │ │ │ │ │ See also: al_get_menu_item_flags, al_set_menu_item_flags │ │ │ │ │ ***** al_get_menu_item_icon ***** │ │ │ │ │ ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the icon associated with the menu. It is safe to draw to the returned │ │ │ │ │ bitmap, but you must call al_set_menu_item_icon in order for the changes to be │ │ │ │ │ applied. │ │ │ │ │ Returns NULL if the item was not found or if it has no icon. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_set_menu_item_icon │ │ │ │ │ ***** al_set_menu_item_icon ***** │ │ │ │ │ void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon) │ │ │ │ │ - │ │ │ │ │ -void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon) │ │ │ │ │ Source_Code │ │ │ │ │ Sets the icon for the specified menu item. The menu assumes ownership of the │ │ │ │ │ ALLEGRO_BITMAP and may invalidate the pointer, so you must clone it if you wish │ │ │ │ │ to continue using it. │ │ │ │ │ If a video bitmap is passed, it will automatically be converted to a memory │ │ │ │ │ bitmap, so it is preferable to pass a memory bitmap. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_get_menu_item_icon, al_clone_bitmap │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_find_menu ***** │ │ │ │ │ ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id) │ │ │ │ │ Source_Code │ │ │ │ │ Searches in the haystack menu for any submenu with the given id. (Note that │ │ │ │ │ this only represents a literal ID, and cannot be used as an index.) │ │ │ │ │ Returns the menu, if found. Otherwise returns NULL. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_find_menu_item │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_find_menu_item ***** │ │ │ │ │ bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU │ │ │ │ │ **menu, │ │ │ │ │ │ │ │ │ │ int *index) │ │ │ │ │ - │ │ │ │ │ -bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU │ │ │ │ │ -**menu, │ │ │ │ │ - │ │ │ │ │ - int *index) │ │ │ │ │ Source_Code │ │ │ │ │ Searches in the haystack menu for an item with the given id. (Note that this │ │ │ │ │ only represents a literal ID, and cannot be used as an index.) │ │ │ │ │ If menu and index are not NULL, they will be set as the parent menu containing │ │ │ │ │ the item and the zero-based (positive) index of the item. (If the menu item was │ │ │ │ │ not found, then their values are undefined.) │ │ │ │ │ Returns true if the menu item was found. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_find_menu │ │ │ │ │ ***** al_get_default_menu_event_source ***** │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the default event source used for menu clicks. If a menu was not given │ │ │ │ │ its own event source via al_enable_menu_event_source, then it will use this │ │ │ │ │ default source. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_register_event_source, al_enable_menu_event_source, al_disable_ │ │ │ │ │ menu_event_source │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_enable_menu_event_source ***** │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu) │ │ │ │ │ Source_Code │ │ │ │ │ Enables a unique event source for this menu. It and all of its sub-menus will │ │ │ │ │ use this event source. (It is safe to call this multiple times on the same │ │ │ │ │ menu.) │ │ │ │ │ Returns the event source. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_register_event_source, al_get_default_menu_event_source, al_ │ │ │ │ │ disable_menu_event_source │ │ │ │ │ ***** al_disable_menu_event_source ***** │ │ │ │ │ void al_disable_menu_event_source(ALLEGRO_MENU *menu) │ │ │ │ │ - │ │ │ │ │ -void al_disable_menu_event_source(ALLEGRO_MENU *menu) │ │ │ │ │ Source_Code │ │ │ │ │ Disables a unique event source for the menu, causing it to use the default │ │ │ │ │ event source. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_get_default_menu_event_source, al_enable_menu_event_source │ │ │ │ │ ***** al_get_display_menu ***** │ │ │ │ │ ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *display) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *displaynt, │ │ │ │ │ Source_Code │ │ │ │ │ Returns the menu associated with the display, or NULL if it does not have a │ │ │ │ │ menu. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_set_display_menu │ │ │ │ │ ***** al_set_display_menu ***** │ │ │ │ │ bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu) │ │ │ │ │ - │ │ │ │ │ -bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu) │ │ │ │ │ Source_Code │ │ │ │ │ Associates the menu with the display and shows it. If there was a previous menu │ │ │ │ │ associated with the display, it will be destroyed. If you don’t want that to │ │ │ │ │ happen, you should first remove the menu with al_remove_display_menu. │ │ │ │ │ If the menu is already attached to a display, it will not be attached to the │ │ │ │ │ new display. If menu is NULL, the current menu will still be destroyed. │ │ │ │ │ Note: Attaching a menu may cause the window as available to your │ │ │ │ │ application to be resized! You should listen for a resize event, │ │ │ │ │ check how much space was lost, and resize the window accordingly if │ │ │ │ │ you want to maintain your window’s prior size. │ │ │ │ │ Returns true if successful. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_create_menu, al_remove_display_menu │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_popup_menu ***** │ │ │ │ │ bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display) │ │ │ │ │ - │ │ │ │ │ -bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display) │ │ │ │ │ Source_Code │ │ │ │ │ Displays a context menu next to the mouse cursor. The menu must have been │ │ │ │ │ created with al_create_popup_menu. It generates events just like a regular │ │ │ │ │ display menu does. It is possible that the menu will be canceled without any │ │ │ │ │ selection being made. │ │ │ │ │ The display parameter indicates which window the menu is associated with (when │ │ │ │ │ you process the menu click event), but does not actually affect where the menu │ │ │ │ │ @@ -863,23 +684,17 @@ │ │ │ │ │ Returns true if the context menu was displayed. │ │ │ │ │ Note: On Linux this function will fail if any of the mouse keys are │ │ │ │ │ held down. I.e. it will only reliably work if you handle it in │ │ │ │ │ ALLEGRO_MOUSE_BUTTON_UP events and even then only if that event │ │ │ │ │ corresponds to the final mouse button that was pressed. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_create_popup_menu │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ***** al_remove_display_menu ***** │ │ │ │ │ ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display) │ │ │ │ │ Source_Code │ │ │ │ │ Detaches the menu associated with the display and returns it. The menu can then │ │ │ │ │ be used on a different display. │ │ │ │ │ If you simply want to destroy the active menu, you can call al_set_display_menu │ │ │ │ │ with a NULL menu. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_set_display_menu │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/opengl.html │ │ │ │ @@ -233,21 +233,14 @@ │ │ │ │

      Note: the exact extensions exposed depend on how Allegro was │ │ │ │ compiled. It is recommended to use al_have_opengl_extension │ │ │ │ and al_get_opengl_proc_address │ │ │ │ for the most stable experience.

      │ │ │ │ │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_opengl_proc_address

      │ │ │ │
      void *al_get_opengl_proc_address(const char *name)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Helper to get the address of an OpenGL symbol

      │ │ │ │

      Example:

      │ │ │ │ @@ -281,21 +274,14 @@ │ │ │ │

      Returns the OpenGL texture id internally used by the given bitmap if │ │ │ │ it uses one, else 0.

      │ │ │ │

      Example:

      │ │ │ │
      bitmap = al_load_bitmap("my_texture.png");
      │ │ │ │  texture = al_get_opengl_texture(bitmap);
      │ │ │ │  if (texture != 0)
      │ │ │ │      glBindTexture(GL_TEXTURE_2D, texture);
      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_opengl_texture_size

      │ │ │ │
      bool al_get_opengl_texture_size(ALLEGRO_BITMAP *bitmap, int *w, int *h)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Retrieves the size of the texture used for the bitmap. This can be │ │ │ │ different from the bitmap size if OpenGL only supports power-of-two │ │ │ │ @@ -362,19 +348,14 @@ │ │ │ │

      This function is a helper to determine whether an OpenGL extension is │ │ │ │ available on the given display or not.

      │ │ │ │

      Example:

      │ │ │ │
      bool packedpixels = al_have_opengl_extension("GL_EXT_packed_pixels");
      │ │ │ │

      If packedpixels is true then you can safely use the │ │ │ │ constants related to the packed pixels extension.

      │ │ │ │

      Returns true if the extension is available; false otherwise.

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_opengl_version

      │ │ │ │
      uint32_t al_get_opengl_version(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the OpenGL or OpenGL ES version number of the client (the │ │ │ │ computer the program is running on), for the current display. “1.0” is │ │ │ │ @@ -430,14 +411,11 @@ │ │ │ │

      [opengl_disabled_extensions]
      │ │ │ │  GL_ARB_texture_non_power_of_two=0
      │ │ │ │  GL_EXT_framebuffer_object=0
      │ │ │ │

      Any extension which appears in the section is treated as not │ │ │ │ available (it does not matter if you set it to 0 or any other │ │ │ │ value).

      │ │ │ │ -

      │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

      │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -80,17 +80,14 @@ │ │ │ │ │ In case you want to manually check for extensions and load function pointers │ │ │ │ │ yourself (say, in case the Allegro developers did not include it yet), you can │ │ │ │ │ use the al_have_opengl_extension and al_get_opengl_proc_address functions │ │ │ │ │ instead. │ │ │ │ │ Note: the exact extensions exposed depend on how Allegro was │ │ │ │ │ compiled. It is recommended to use al_have_opengl_extension and al_ │ │ │ │ │ get_opengl_proc_address for the most stable experience. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_opengl.c │ │ │ │ │ - * ex_glext.c │ │ │ │ │ ****** al_get_opengl_proc_address ****** │ │ │ │ │ void *al_get_opengl_proc_address(const char *name) │ │ │ │ │ Source_Code │ │ │ │ │ Helper to get the address of an OpenGL symbol │ │ │ │ │ Example: │ │ │ │ │ How to get the function glMultiTexCoord3fARB that comes with ARB’s Multitexture │ │ │ │ │ extension: │ │ │ │ │ @@ -128,17 +125,14 @@ │ │ │ │ │ bitmap = al_load_bitmap("my_texture.png"); │ │ │ │ │ │ │ │ │ │ texture = al_get_opengl_texture(bitmap); │ │ │ │ │ │ │ │ │ │ if (texture != 0) │ │ │ │ │ │ │ │ │ │ glBindTexture(GL_TEXTURE_2D, texture); │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_opengl_pixel_shader.c │ │ │ │ │ - * ex_gldepth.c │ │ │ │ │ ****** al_get_opengl_texture_size ****** │ │ │ │ │ bool al_get_opengl_texture_size(ALLEGRO_BITMAP *bitmap, int *w, int *h) │ │ │ │ │ Source_Code │ │ │ │ │ Retrieves the size of the texture used for the bitmap. This can be different │ │ │ │ │ from the bitmap size if OpenGL only supports power-of-two sizes or if it is a │ │ │ │ │ sub-bitmap. │ │ │ │ │ Returns true on success, false on failure. Zero width and height are returned │ │ │ │ │ @@ -179,16 +173,14 @@ │ │ │ │ │ This function is a helper to determine whether an OpenGL extension is available │ │ │ │ │ on the given display or not. │ │ │ │ │ Example: │ │ │ │ │ bool packedpixels = al_have_opengl_extension("GL_EXT_packed_pixels"); │ │ │ │ │ If packedpixels is true then you can safely use the constants related to the │ │ │ │ │ packed pixels extension. │ │ │ │ │ Returns true if the extension is available; false otherwise. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_opengl_pixel_shader.c │ │ │ │ │ ****** al_get_opengl_version ****** │ │ │ │ │ uint32_t al_get_opengl_version(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the OpenGL or OpenGL ES version number of the client (the computer the │ │ │ │ │ program is running on), for the current display. “1.0” is returned as │ │ │ │ │ 0x01000000, “1.2.1” is returned as 0x01020100, and “1.2.2” as 0x01020200, etc. │ │ │ │ │ A valid OpenGL context must exist for this function to work, which means you │ │ │ │ │ @@ -223,8 +215,7 @@ │ │ │ │ │ [opengl_disabled_extensions] │ │ │ │ │ │ │ │ │ │ GL_ARB_texture_non_power_of_two=0 │ │ │ │ │ │ │ │ │ │ GL_EXT_framebuffer_object=0 │ │ │ │ │ Any extension which appears in the section is treated as not available (it does │ │ │ │ │ not matter if you set it to 0 or any other value). │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/path.html │ │ │ │ @@ -240,23 +240,14 @@ │ │ │ │ followed by a directory separator and is neither “.” nor “..”, is │ │ │ │ treated as the last directory name in the path. Otherwise the last │ │ │ │ component is treated as the filename. The string may be NULL for an │ │ │ │ empty path.

      │ │ │ │

      See also: al_create_path_for_directory, │ │ │ │ al_destroy_path

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_create_path_for_directory

      │ │ │ │
      ALLEGRO_PATH *al_create_path_for_directory(const char *str)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      This is the same as al_create_path, but interprets the │ │ │ │ @@ -268,228 +259,143 @@ │ │ │ │

      void al_destroy_path(ALLEGRO_PATH *path)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Free a path structure. Does nothing if passed NULL.

      │ │ │ │

      See also: al_create_path, al_create_path_for_directory

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_clone_path

      │ │ │ │
      ALLEGRO_PATH *al_clone_path(const ALLEGRO_PATH *path)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Clones an ALLEGRO_PATH structure. Returns NULL on failure.

      │ │ │ │

      See also: al_destroy_path

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_join_paths

      │ │ │ │
      bool al_join_paths(ALLEGRO_PATH *path, const ALLEGRO_PATH *tail)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Concatenate two path structures. The first path structure is │ │ │ │ modified. If ‘tail’ is an absolute path, this function does nothing.

      │ │ │ │

      If ‘tail’ is a relative path, all of its directory components will be │ │ │ │ appended to ‘path’. tail’s filename will also overwrite path’s filename, │ │ │ │ even if it is just the empty string.

      │ │ │ │

      Tail’s drive is ignored.

      │ │ │ │

      Returns true if ‘tail’ was a relative path and so concatenated to │ │ │ │ ‘path’, otherwise returns false.

      │ │ │ │

      See also: al_rebase_path

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_rebase_path

      │ │ │ │
      bool al_rebase_path(const ALLEGRO_PATH *head, ALLEGRO_PATH *tail)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Concatenate two path structures, modifying the second path structure. │ │ │ │ If tail is an absolute path, this function does nothing. │ │ │ │ Otherwise, the drive and path components in head are inserted │ │ │ │ at the start of tail.

      │ │ │ │

      For example, if head is “/anchor/” and tail is │ │ │ │ “data/file.ext”, then after the call tail becomes │ │ │ │ “/anchor/data/file.ext”.

      │ │ │ │

      See also: al_join_paths

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_path_drive

      │ │ │ │
      const char *al_get_path_drive(const ALLEGRO_PATH *path)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Return the drive letter on a path, or the empty string if there is │ │ │ │ none.

      │ │ │ │

      The “drive letter” is only used on Windows, and is usually a string │ │ │ │ like “c:”, but may be something like “\\Computer Name” in the case of │ │ │ │ UNC (Uniform Naming Convention) syntax.

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_path_num_components

      │ │ │ │
      int al_get_path_num_components(const ALLEGRO_PATH *path)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Return the number of directory components in a path.

      │ │ │ │

      The directory components do not include the final part of a path (the │ │ │ │ filename).

      │ │ │ │

      See also: al_get_path_component

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_path_component

      │ │ │ │
      const char *al_get_path_component(const ALLEGRO_PATH *path, int i)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Return the i’th directory component of a path, counting from zero. If │ │ │ │ the index is negative then count from the right, i.e. -1 refers to the │ │ │ │ last path component. It is an error to pass an index which is out of │ │ │ │ bounds.

      │ │ │ │

      See also: al_get_path_num_components, │ │ │ │ al_get_path_tail

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_path_tail

      │ │ │ │
      const char *al_get_path_tail(const ALLEGRO_PATH *path)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the last directory component, or NULL if there are no │ │ │ │ directory components.

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_path_filename

      │ │ │ │
      const char *al_get_path_filename(const ALLEGRO_PATH *path)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Return the filename part of the path, or the empty string if there is │ │ │ │ none.

      │ │ │ │

      The returned pointer is valid only until the filename part of the │ │ │ │ path is modified in any way, or until the path is destroyed.

      │ │ │ │

      See also: al_get_path_basename, al_get_path_extension, al_get_path_component

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_path_basename

      │ │ │ │
      const char *al_get_path_basename(const ALLEGRO_PATH *path)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Return the basename, i.e. filename with the extension removed. If the │ │ │ │ filename doesn’t have an extension, the whole filename is the basename. │ │ │ │ If there is no filename part then the empty string is returned.

      │ │ │ │

      The returned pointer is valid only until the filename part of the │ │ │ │ path is modified in any way, or until the path is destroyed.

      │ │ │ │

      See also: al_get_path_filename, al_get_path_extension

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_path_extension

      │ │ │ │
      const char *al_get_path_extension(const ALLEGRO_PATH *path)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Return a pointer to the start of the extension of the filename, │ │ │ │ i.e. everything from the final dot (‘.’) character onwards. If no dot │ │ │ │ exists, returns an empty string.

      │ │ │ │

      The returned pointer is valid only until the filename part of the │ │ │ │ path is modified in any way, or until the path is destroyed.

      │ │ │ │

      See also: al_get_path_filename, al_get_path_basename

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_set_path_drive

      │ │ │ │
      void al_set_path_drive(ALLEGRO_PATH *path, const char *drive)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Set the drive string on a path. The drive may be NULL, which is │ │ │ │ equivalent to setting the drive string to the empty string.

      │ │ │ │

      See also: al_get_path_drive

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_append_path_component

      │ │ │ │
      void al_append_path_component(ALLEGRO_PATH *path, const char *s)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Append a directory component.

      │ │ │ │

      See also: al_insert_path_component

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_insert_path_component

      │ │ │ │
      void al_insert_path_component(ALLEGRO_PATH *path, int i, const char *s)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Insert a directory component at index i. If the index is negative │ │ │ │ then count from the right, i.e. -1 refers to the last path │ │ │ │ @@ -498,86 +404,57 @@ │ │ │ │ <= i <= al_get_path_num_components(path).

      │ │ │ │

      See also: al_append_path_component, │ │ │ │ al_replace_path_component, │ │ │ │ al_remove_path_component

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_replace_path_component

      │ │ │ │
      void al_replace_path_component(ALLEGRO_PATH *path, int i, const char *s)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Replace the i’th directory component by another string. If the index │ │ │ │ is negative then count from the right, i.e. -1 refers to the last path │ │ │ │ component. It is an error to pass an index which is out of bounds.

      │ │ │ │

      See also: al_insert_path_component, │ │ │ │ al_remove_path_component

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_remove_path_component

      │ │ │ │
      void al_remove_path_component(ALLEGRO_PATH *path, int i)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Delete the i’th directory component. If the index is negative then │ │ │ │ count from the right, i.e. -1 refers to the last path component. It is │ │ │ │ an error to pass an index which is out of bounds.

      │ │ │ │

      See also: al_insert_path_component, │ │ │ │ al_replace_path_component, │ │ │ │ al_drop_path_tail

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_drop_path_tail

      │ │ │ │
      void al_drop_path_tail(ALLEGRO_PATH *path)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Remove the last directory component, if any.

      │ │ │ │

      See also: al_remove_path_component

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_set_path_filename

      │ │ │ │
      void al_set_path_filename(ALLEGRO_PATH *path, const char *filename)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Set the optional filename part of the path. The filename may be NULL, │ │ │ │ which is equivalent to setting the filename to the empty string.

      │ │ │ │

      See also: al_set_path_extension, al_get_path_filename

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_set_path_extension

      │ │ │ │
      bool al_set_path_extension(ALLEGRO_PATH *path, char const *extension)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Replaces the extension of the path with the given one, i.e. replaces │ │ │ │ everything from the final dot (‘.’) character onwards, including the │ │ │ │ @@ -585,19 +462,14 @@ │ │ │ │ appended. Usually the new extension you supply should include a leading │ │ │ │ dot.

      │ │ │ │

      Returns false if the path contains no filename part, i.e. the │ │ │ │ filename part is the empty string.

      │ │ │ │

      See also: al_set_path_filename, al_get_path_extension

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_path_cstr

      │ │ │ │
      const char *al_path_cstr(const ALLEGRO_PATH *path, char delim)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Convert a path to its string representation, i.e. optional drive, │ │ │ │ followed by directory components separated by ‘delim’, followed by an │ │ │ │ @@ -605,23 +477,14 @@ │ │ │ │

      To use the current native path separator, use ALLEGRO_NATIVE_PATH_SEP │ │ │ │ for ‘delim’.

      │ │ │ │

      The returned pointer is valid only until the path is modified in any │ │ │ │ way, or until the path is destroyed. This returns a null-terminated │ │ │ │ string. If you need an ALLEGRO_USTR instead, use al_path_ustr.

      │ │ │ │

      See also: al_path_ustr

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_path_ustr

      │ │ │ │
      const ALLEGRO_USTR *al_path_ustr(const ALLEGRO_PATH *path, char delim)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Convert a path to its string representation, i.e. optional drive, │ │ │ │ followed by directory components separated by ‘delim’, followed by an │ │ │ │ @@ -641,21 +504,14 @@ │ │ │ │ Code

      │ │ │ │

      Removes any leading ‘..’ directory components in absolute paths. │ │ │ │ Removes all ‘.’ directory components.

      │ │ │ │

      Note that this does not collapse “x/../y” sections into “y”. │ │ │ │ This is by design. If “/foo” on your system is a symlink to “/bar/baz”, │ │ │ │ then “/foo/../quux” is actually “/bar/quux”, not “/quux” as a naive │ │ │ │ removal of “..” components would give you.

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      │ │ │ │ Allegro version 5.2.10 │ │ │ │ - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │

      │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -79,228 +79,170 @@ │ │ │ │ │ ALLEGRO_PATH *al_create_path(const char *str) │ │ │ │ │ Source_Code │ │ │ │ │ Create a path structure from a string. The last component, if it is followed by │ │ │ │ │ a directory separator and is neither “.” nor “..”, is treated as the last │ │ │ │ │ directory name in the path. Otherwise the last component is treated as the │ │ │ │ │ filename. The string may be NULL for an empty path. │ │ │ │ │ See also: al_create_path_for_directory, al_destroy_path │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path.c │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ - * ex_audio_chain.cpp │ │ │ │ │ ****** al_create_path_for_directory ****** │ │ │ │ │ ALLEGRO_PATH *al_create_path_for_directory(const char *str) │ │ │ │ │ Source_Code │ │ │ │ │ This is the same as al_create_path, but interprets the passed string as a │ │ │ │ │ directory path. The filename component of the returned path will always be │ │ │ │ │ empty. │ │ │ │ │ See also: al_create_path, al_destroy_path │ │ │ │ │ ****** al_destroy_path ****** │ │ │ │ │ void al_destroy_path(ALLEGRO_PATH *path) │ │ │ │ │ Source_Code │ │ │ │ │ Free a path structure. Does nothing if passed NULL. │ │ │ │ │ See also: al_create_path, al_create_path_for_directory │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_get_path.c │ │ │ │ │ - * ex_path.c │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_clone_path ****** │ │ │ │ │ ALLEGRO_PATH *al_clone_path(const ALLEGRO_PATH *path) │ │ │ │ │ Source_Code │ │ │ │ │ Clones an ALLEGRO_PATH structure. Returns NULL on failure. │ │ │ │ │ See also: al_destroy_path │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path.c │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_join_paths ****** │ │ │ │ │ bool al_join_paths(ALLEGRO_PATH *path, const ALLEGRO_PATH *tail) │ │ │ │ │ Source_Code │ │ │ │ │ Concatenate two path structures. The first path structure is modified. If │ │ │ │ │ ‘tail’ is an absolute path, this function does nothing. │ │ │ │ │ If ‘tail’ is a relative path, all of its directory components will be appended │ │ │ │ │ to ‘path’. tail’s filename will also overwrite path’s filename, even if it is │ │ │ │ │ just the empty string. │ │ │ │ │ Tail’s drive is ignored. │ │ │ │ │ Returns true if ‘tail’ was a relative path and so concatenated to ‘path’, │ │ │ │ │ otherwise returns false. │ │ │ │ │ See also: al_rebase_path │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_rebase_path ****** │ │ │ │ │ bool al_rebase_path(const ALLEGRO_PATH *head, ALLEGRO_PATH *tail) │ │ │ │ │ Source_Code │ │ │ │ │ Concatenate two path structures, modifying the second path structure. If tail │ │ │ │ │ is an absolute path, this function does nothing. Otherwise, the drive and path │ │ │ │ │ components in head are inserted at the start of tail. │ │ │ │ │ For example, if head is “/anchor/” and tail is “data/file.ext”, then after the │ │ │ │ │ call tail becomes “/anchor/data/file.ext”. │ │ │ │ │ See also: al_join_paths │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ - * ex_audio_chain.cpp │ │ │ │ │ ****** al_get_path_drive ****** │ │ │ │ │ const char *al_get_path_drive(const ALLEGRO_PATH *path) │ │ │ │ │ Source_Code │ │ │ │ │ Return the drive letter on a path, or the empty string if there is none. │ │ │ │ │ The “drive letter” is only used on Windows, and is usually a string like “c:”, │ │ │ │ │ but may be something like “\\Computer Name” in the case of UNC (Uniform Naming │ │ │ │ │ Convention) syntax. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path.c │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_get_path_num_components ****** │ │ │ │ │ int al_get_path_num_components(const ALLEGRO_PATH *path) │ │ │ │ │ Source_Code │ │ │ │ │ Return the number of directory components in a path. │ │ │ │ │ The directory components do not include the final part of a path (the │ │ │ │ │ filename). │ │ │ │ │ See also: al_get_path_component │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path.c │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_get_path_component ****** │ │ │ │ │ const char *al_get_path_component(const ALLEGRO_PATH *path, int i) │ │ │ │ │ Source_Code │ │ │ │ │ Return the i’th directory component of a path, counting from zero. If the index │ │ │ │ │ is negative then count from the right, i.e. -1 refers to the last path │ │ │ │ │ component. It is an error to pass an index which is out of bounds. │ │ │ │ │ See also: al_get_path_num_components, al_get_path_tail │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path.c │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ - * ex_audio_chain.cpp │ │ │ │ │ ****** al_get_path_tail ****** │ │ │ │ │ const char *al_get_path_tail(const ALLEGRO_PATH *path) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the last directory component, or NULL if there are no directory │ │ │ │ │ components. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_get_path_filename ****** │ │ │ │ │ const char *al_get_path_filename(const ALLEGRO_PATH *path) │ │ │ │ │ Source_Code │ │ │ │ │ Return the filename part of the path, or the empty string if there is none. │ │ │ │ │ The returned pointer is valid only until the filename part of the path is │ │ │ │ │ modified in any way, or until the path is destroyed. │ │ │ │ │ See also: al_get_path_basename, al_get_path_extension, al_get_path_component │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path.c │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_get_path_basename ****** │ │ │ │ │ const char *al_get_path_basename(const ALLEGRO_PATH *path) │ │ │ │ │ Source_Code │ │ │ │ │ Return the basename, i.e. filename with the extension removed. If the filename │ │ │ │ │ doesn’t have an extension, the whole filename is the basename. If there is no │ │ │ │ │ filename part then the empty string is returned. │ │ │ │ │ The returned pointer is valid only until the filename part of the path is │ │ │ │ │ modified in any way, or until the path is destroyed. │ │ │ │ │ See also: al_get_path_filename, al_get_path_extension │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_get_path_extension ****** │ │ │ │ │ const char *al_get_path_extension(const ALLEGRO_PATH *path) │ │ │ │ │ Source_Code │ │ │ │ │ Return a pointer to the start of the extension of the filename, i.e. everything │ │ │ │ │ from the final dot (‘.’) character onwards. If no dot exists, returns an empty │ │ │ │ │ string. │ │ │ │ │ The returned pointer is valid only until the filename part of the path is │ │ │ │ │ modified in any way, or until the path is destroyed. │ │ │ │ │ See also: al_get_path_filename, al_get_path_basename │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ - * ex_physfs.c │ │ │ │ │ ****** al_set_path_drive ****** │ │ │ │ │ void al_set_path_drive(ALLEGRO_PATH *path, const char *drive) │ │ │ │ │ Source_Code │ │ │ │ │ Set the drive string on a path. The drive may be NULL, which is equivalent to │ │ │ │ │ setting the drive string to the empty string. │ │ │ │ │ See also: al_get_path_drive │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_append_path_component ****** │ │ │ │ │ void al_append_path_component(ALLEGRO_PATH *path, const char *s) │ │ │ │ │ Source_Code │ │ │ │ │ Append a directory component. │ │ │ │ │ See also: al_insert_path_component │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_insert_path_component ****** │ │ │ │ │ void al_insert_path_component(ALLEGRO_PATH *path, int i, const char *s) │ │ │ │ │ Source_Code │ │ │ │ │ Insert a directory component at index i. If the index is negative then count │ │ │ │ │ from the right, i.e. -1 refers to the last path component. │ │ │ │ │ It is an error to pass an index i which is not within these bounds: 0 <= i <= │ │ │ │ │ al_get_path_num_components(path). │ │ │ │ │ See also: al_append_path_component, al_replace_path_component, al_remove_path_ │ │ │ │ │ component │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_replace_path_component ****** │ │ │ │ │ void al_replace_path_component(ALLEGRO_PATH *path, int i, const char *s) │ │ │ │ │ Source_Code │ │ │ │ │ Replace the i’th directory component by another string. If the index is │ │ │ │ │ negative then count from the right, i.e. -1 refers to the last path component. │ │ │ │ │ It is an error to pass an index which is out of bounds. │ │ │ │ │ See also: al_insert_path_component, al_remove_path_component │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_remove_path_component ****** │ │ │ │ │ void al_remove_path_component(ALLEGRO_PATH *path, int i) │ │ │ │ │ Source_Code │ │ │ │ │ Delete the i’th directory component. If the index is negative then count from │ │ │ │ │ the right, i.e. -1 refers to the last path component. It is an error to pass an │ │ │ │ │ index which is out of bounds. │ │ │ │ │ See also: al_insert_path_component, al_replace_path_component, al_drop_path_ │ │ │ │ │ tail │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ - * ex_audio_chain.cpp │ │ │ │ │ ****** al_drop_path_tail ****** │ │ │ │ │ void al_drop_path_tail(ALLEGRO_PATH *path) │ │ │ │ │ Source_Code │ │ │ │ │ Remove the last directory component, if any. │ │ │ │ │ See also: al_remove_path_component │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_set_path_filename ****** │ │ │ │ │ void al_set_path_filename(ALLEGRO_PATH *path, const char *filename) │ │ │ │ │ Source_Code │ │ │ │ │ Set the optional filename part of the path. The filename may be NULL, which is │ │ │ │ │ equivalent to setting the filename to the empty string. │ │ │ │ │ See also: al_set_path_extension, al_get_path_filename │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ - * ex_android.c │ │ │ │ │ ****** al_set_path_extension ****** │ │ │ │ │ bool al_set_path_extension(ALLEGRO_PATH *path, char const *extension) │ │ │ │ │ Source_Code │ │ │ │ │ Replaces the extension of the path with the given one, i.e. replaces everything │ │ │ │ │ from the final dot (‘.’) character onwards, including the dot. If the filename │ │ │ │ │ of the path has no extension, the given one is appended. Usually the new │ │ │ │ │ extension you supply should include a leading dot. │ │ │ │ │ Returns false if the path contains no filename part, i.e. the filename part is │ │ │ │ │ the empty string. │ │ │ │ │ See also: al_set_path_filename, al_get_path_extension │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ ****** al_path_cstr ****** │ │ │ │ │ const char *al_path_cstr(const ALLEGRO_PATH *path, char delim) │ │ │ │ │ Source_Code │ │ │ │ │ Convert a path to its string representation, i.e. optional drive, followed by │ │ │ │ │ directory components separated by ‘delim’, followed by an optional filename. │ │ │ │ │ To use the current native path separator, use ALLEGRO_NATIVE_PATH_SEP for │ │ │ │ │ ‘delim’. │ │ │ │ │ The returned pointer is valid only until the path is modified in any way, or │ │ │ │ │ until the path is destroyed. This returns a null-terminated string. If you need │ │ │ │ │ an ALLEGRO_USTR instead, use al_path_ustr. │ │ │ │ │ See also: al_path_ustr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_get_path.c │ │ │ │ │ - * ex_path.c │ │ │ │ │ - * ex_file_slice.c │ │ │ │ │ ****** al_path_ustr ****** │ │ │ │ │ const ALLEGRO_USTR *al_path_ustr(const ALLEGRO_PATH *path, char delim) │ │ │ │ │ Source_Code │ │ │ │ │ Convert a path to its string representation, i.e. optional drive, followed by │ │ │ │ │ directory components separated by ‘delim’, followed by an optional filename. │ │ │ │ │ To use the current native path separator, use ALLEGRO_NATIVE_PATH_SEP for │ │ │ │ │ ‘delim’. │ │ │ │ │ @@ -314,11 +256,8 @@ │ │ │ │ │ Source_Code │ │ │ │ │ Removes any leading ‘..’ directory components in absolute paths. Removes all │ │ │ │ │ ‘.’ directory components. │ │ │ │ │ Note that this does not collapse “x/../y” sections into “y”. This is by design. │ │ │ │ │ If “/foo” on your system is a symlink to “/bar/baz”, then “/foo/../quux” is │ │ │ │ │ actually “/bar/quux”, not “/quux” as a naive removal of “..” components would │ │ │ │ │ give you. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_path.c │ │ │ │ │ - * ex_path_test.c │ │ │ │ │ Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/physfs.html │ │ │ │ @@ -191,16 +191,15 @@ │ │ │ │ href="physfs.html#al_set_physfs_file_interface">al_set_physfs_file_interface, │ │ │ │ then al_fopen or another function that │ │ │ │ calls al_fopen.

      │ │ │ │

      These functions are declared in the following header file. Link with │ │ │ │ allegro_physfs.

      │ │ │ │
       #include <allegro5/allegro_physfs.h>
      │ │ │ │

      al_set_physfs_file_interface

      │ │ │ │ -
      void al_set_physfs_file_interface(void)
      │ │ │ │ -void al_set_physfs_file_interface(void)
      │ │ │ │ +
      void al_set_physfs_file_interface(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      This function sets both the ALLEGRO_FILE_INTERFACE and │ │ │ │ ALLEGRO_FS_INTERFACE for │ │ │ │ the calling thread.

      │ │ │ │ @@ -225,28 +224,19 @@ │ │ │ │
      │ │ │ │

      Note: PhysFS does not support the text-mode reading and │ │ │ │ writing, which means that Windows-style newlines will not be │ │ │ │ preserved.

      │ │ │ │
      │ │ │ │

      See also: al_set_new_file_interface.

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_get_allegro_physfs_version

      │ │ │ │ -
      uint32_t al_get_allegro_physfs_version(void)
      │ │ │ │ -uint32_t al_get_allegro_physfs_version(void)
      │ │ │ │ +
      uint32_t al_get_allegro_physfs_version(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

      │ │ │ │ -

      │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

      │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -54,16 +54,14 @@ │ │ │ │ │ ALLEGRO_FILE using PhysicsFS, first call al_set_physfs_file_interface, then al_ │ │ │ │ │ fopen or another function that calls al_fopen. │ │ │ │ │ These functions are declared in the following header file. Link with allegro_ │ │ │ │ │ physfs. │ │ │ │ │ #include │ │ │ │ │ ****** al_set_physfs_file_interface ****** │ │ │ │ │ void al_set_physfs_file_interface(void) │ │ │ │ │ - │ │ │ │ │ -void al_set_physfs_file_interface(void) │ │ │ │ │ Source_Code │ │ │ │ │ This function sets both the ALLEGRO_FILE_INTERFACE and ALLEGRO_FS_INTERFACE for │ │ │ │ │ the calling thread. │ │ │ │ │ Subsequent calls to al_fopen on the calling thread will be handled by PHYSFS_ │ │ │ │ │ open(). Operations on the files returned by al_fopen will then be performed │ │ │ │ │ through PhysicsFS. Calls to the Allegro filesystem functions, such as al_read_ │ │ │ │ │ directory or al_create_fs_entry, on the calling thread will be diverted to │ │ │ │ │ @@ -72,17 +70,12 @@ │ │ │ │ │ al_restore_state. │ │ │ │ │ Note: due to an oversight, this function differs from al_set_new_ │ │ │ │ │ file_interface and al_set_standard_file_interface which only alter │ │ │ │ │ the current ALLEGRO_FILE_INTERFACE. │ │ │ │ │ Note: PhysFS does not support the text-mode reading and writing, │ │ │ │ │ which means that Windows-style newlines will not be preserved. │ │ │ │ │ See also: al_set_new_file_interface. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_physfs.c │ │ │ │ │ ****** al_get_allegro_physfs_version ****** │ │ │ │ │ uint32_t al_get_allegro_physfs_version(void) │ │ │ │ │ - │ │ │ │ │ -uint32_t al_get_allegro_physfs_version(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as al_get_ │ │ │ │ │ allegro_version. │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/platform.html │ │ │ │ @@ -226,19 +226,14 @@ │ │ │ │

      al_get_win_window_handle

      │ │ │ │
      HWND al_get_win_window_handle(ALLEGRO_DISPLAY *display)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the handle to the window that the passed display is │ │ │ │ using.

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_win_add_window_callback

      │ │ │ │
      bool al_win_add_window_callback(ALLEGRO_DISPLAY *display,
      │ │ │ │     bool (*callback)(ALLEGRO_DISPLAY *display, UINT message, WPARAM wparam,
      │ │ │ │     LPARAM lparam, LRESULT *result, void *userdata), void *userdata)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │ @@ -331,17 +326,17 @@ │ │ │ │ │ │ │ │

      Since: 5.1.2

      │ │ │ │

      Examples:

      │ │ │ │ │ │ │ │

      al_android_set_apk_fs_interface

      │ │ │ │
      void al_android_set_apk_fs_interface(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │ @@ -471,19 +466,11 @@ │ │ │ │ you can set an icon before calling al_create_display. This works by │ │ │ │ setting the icon before XMapWindow.

      │ │ │ │

      Since: 5.2.3

      │ │ │ │
      │ │ │ │

      Unstable │ │ │ │ API: New API.

      │ │ │ │
      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │ -

      │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

      │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -66,16 +66,14 @@ │ │ │ │ │ ****** Windows ****** │ │ │ │ │ These functions are declared in the following header file: │ │ │ │ │ #include │ │ │ │ │ ***** al_get_win_window_handle ***** │ │ │ │ │ HWND al_get_win_window_handle(ALLEGRO_DISPLAY *display) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the handle to the window that the passed display is using. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_ogre3d.cpp │ │ │ │ │ ***** al_win_add_window_callback ***** │ │ │ │ │ bool al_win_add_window_callback(ALLEGRO_DISPLAY *display, │ │ │ │ │ │ │ │ │ │ bool (*callback)(ALLEGRO_DISPLAY *display, UINT message, WPARAM wparam, │ │ │ │ │ │ │ │ │ │ LPARAM lparam, LRESULT *result, void *userdata), void *userdata) │ │ │ │ │ Source_Code │ │ │ │ │ @@ -140,16 +138,16 @@ │ │ │ │ │ This function will set up a custom ALLEGRO_FILE_INTERFACE that makes all future │ │ │ │ │ calls of al_fopen read from the applicatons’s APK file. │ │ │ │ │ Note: Currently, access to the APK file after calling this function │ │ │ │ │ is read only. │ │ │ │ │ Since: 5.1.2 │ │ │ │ │ Examples: │ │ │ │ │ * common.c │ │ │ │ │ - * ex_android.c │ │ │ │ │ * ex_native_filechooser.c │ │ │ │ │ + * ex_android.c │ │ │ │ │ ***** al_android_set_apk_fs_interface ***** │ │ │ │ │ void al_android_set_apk_fs_interface(void) │ │ │ │ │ Source_Code │ │ │ │ │ This function will set up a custom ALLEGRO_FS_INTERFACE which allows working │ │ │ │ │ within the APK filesystem. The filesystem root is your assets directory and │ │ │ │ │ there is read-only access to all files within. │ │ │ │ │ Note: Some things like querying file size or attributes are not │ │ │ │ │ @@ -259,10 +257,7 @@ │ │ │ │ │ Source_Code │ │ │ │ │ On some window managers (notably Ubuntu’s Unity) al_set_display_icon doesn’t │ │ │ │ │ work and you need to use a .desktop file. But with this function you can set an │ │ │ │ │ icon before calling al_create_display. This works by setting the icon before │ │ │ │ │ XMapWindow. │ │ │ │ │ Since: 5.2.3 │ │ │ │ │ Unstable_API: New API. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_icon2.c │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/primitives.html │ │ │ │ @@ -328,57 +328,44 @@ │ │ │ │ │ │ │ │

      These functions are declared in the following header file. Link with │ │ │ │ allegro_primitives.

      │ │ │ │
       #include <allegro5/allegro_primitives.h>
      │ │ │ │

      General

      │ │ │ │

      al_get_allegro_primitives_version

      │ │ │ │ -
      uint32_t al_get_allegro_primitives_version(void)
      │ │ │ │ -uint32_t al_get_allegro_primitives_version(void)
      │ │ │ │ +
      uint32_t al_get_allegro_primitives_version(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

      │ │ │ │

      al_init_primitives_addon

      │ │ │ │ -
      bool al_init_primitives_addon(void)
      │ │ │ │ -bool al_init_primitives_addon(void)
      │ │ │ │ +
      bool al_init_primitives_addon(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Initializes the primitives addon.

      │ │ │ │

      Returns: True on success, false on failure.

      │ │ │ │

      See also: al_shutdown_primitives_addon

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_is_primitives_addon_initialized

      │ │ │ │ -
      bool al_is_primitives_addon_initialized(void)
      │ │ │ │ -bool al_is_primitives_addon_initialized(void)
      │ │ │ │ +
      bool al_is_primitives_addon_initialized(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Returns true if the primitives addon is initialized, otherwise │ │ │ │ returns false.

      │ │ │ │

      Since: 5.2.6

      │ │ │ │

      See also: al_init_primitives_addon, │ │ │ │ al_shutdown_primitives_addon

      │ │ │ │

      al_shutdown_primitives_addon

      │ │ │ │ -
      void al_shutdown_primitives_addon(void)
      │ │ │ │ -void al_shutdown_primitives_addon(void)
      │ │ │ │ +
      void al_shutdown_primitives_addon(void)
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Shut down the primitives addon. This is done automatically at program │ │ │ │ exit, but can be called any time the user wishes as well.

      │ │ │ │

      See also: al_init_primitives_addon

      │ │ │ │ @@ -473,44 +460,31 @@ │ │ │ │ completely covered by a shape or completely not covered, then the shape │ │ │ │ edges will be sharp. The offsets used in the second diagram were chosen │ │ │ │ so that this is the case: if you use those offsets, your shapes (if they │ │ │ │ are oriented the same way as they are on the diagram) should look the │ │ │ │ same whether multisampling is turned on or off.

      │ │ │ │

      al_draw_line

      │ │ │ │
      void al_draw_line(float x1, float y1, float x2, float y2,
      │ │ │ │ -   ALLEGRO_COLOR color, float thickness)
      │ │ │ │ -void al_draw_line(float x1, float y1, float x2, float y2,
      │ │ │ │ -   ALLEGRO_COLOR color, float thickness)
      │ │ │ │ + ALLEGRO_COLOR color, float thickness) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Draws a line segment between two points.

      │ │ │ │

      Parameters:

      │ │ │ │
        │ │ │ │
      • x1, y1, x2, y2 - Start and end points of the line
      • │ │ │ │
      • color - Color of the line
      • │ │ │ │
      • thickness - Thickness of the line, pass <= 0 to draw │ │ │ │ hairline lines
      • │ │ │ │
      │ │ │ │

      See also: al_draw_soft_line

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_draw_triangle

      │ │ │ │
      void al_draw_triangle(float x1, float y1, float x2, float y2,
      │ │ │ │ -   float x3, float y3, ALLEGRO_COLOR color, float thickness)
      │ │ │ │ -void al_draw_triangle(float x1, float y1, float x2, float y2,
      │ │ │ │ -   float x3, float y3, ALLEGRO_COLOR color, float thickness)
      │ │ │ │ + float x3, float y3, ALLEGRO_COLOR color, float thickness) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Draws an outlined triangle.

      │ │ │ │

      Parameters:

      │ │ │ │
        │ │ │ │
      • x1, y1, x2, y2, x3, y3 - Three points of the triangle
      • │ │ │ │ @@ -518,45 +492,31 @@ │ │ │ │
      • thickness - Thickness of the lines, pass <= 0 to │ │ │ │ draw hairline lines
      • │ │ │ │
      │ │ │ │

      See also: al_draw_filled_triangle, │ │ │ │ al_draw_soft_triangle

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_prim.c
      • │ │ │ │ -
      │ │ │ │

      al_draw_filled_triangle

      │ │ │ │
      void al_draw_filled_triangle(float x1, float y1, float x2, float y2,
      │ │ │ │ -   float x3, float y3, ALLEGRO_COLOR color)
      │ │ │ │ -void al_draw_filled_triangle(float x1, float y1, float x2, float y2,
      │ │ │ │ -   float x3, float y3, ALLEGRO_COLOR color)
      │ │ │ │ + float x3, float y3, ALLEGRO_COLOR color) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Draws a filled triangle.

      │ │ │ │

      Parameters:

      │ │ │ │
        │ │ │ │
      • x1, y1, x2, y2, x3, y3 - Three points of the triangle
      • │ │ │ │
      • color - Color of the triangle
      • │ │ │ │
      │ │ │ │

      See also: al_draw_triangle

      │ │ │ │ -

      Examples:

      │ │ │ │ -
        │ │ │ │ -
      • ex_prim.c
      • │ │ │ │ -
      │ │ │ │

      al_draw_rectangle

      │ │ │ │
      void al_draw_rectangle(float x1, float y1, float x2, float y2,
      │ │ │ │ -   ALLEGRO_COLOR color, float thickness)
      │ │ │ │ -void al_draw_rectangle(float x1, float y1, float x2, float y2,
      │ │ │ │ -   ALLEGRO_COLOR color, float thickness)
      │ │ │ │ + ALLEGRO_COLOR color, float thickness) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Draws an outlined rectangle.

      │ │ │ │

      Parameters:

      │ │ │ │
        │ │ │ │
      • x1, y1, x2, y2 - Upper left and lower right points of the │ │ │ │ @@ -565,55 +525,33 @@ │ │ │ │
      • thickness - Thickness of the lines, pass <= 0 to │ │ │ │ draw hairline lines
      • │ │ │ │
      │ │ │ │

      See also: al_draw_filled_rectangle, │ │ │ │ al_draw_rounded_rectangle

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_draw_filled_rectangle

      │ │ │ │
      void al_draw_filled_rectangle(float x1, float y1, float x2, float y2,
      │ │ │ │ -   ALLEGRO_COLOR color)
      │ │ │ │ -void al_draw_filled_rectangle(float x1, float y1, float x2, float y2,
      │ │ │ │ -   ALLEGRO_COLOR color)
      │ │ │ │ + ALLEGRO_COLOR color) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Draws a filled rectangle.

      │ │ │ │

      Parameters:

      │ │ │ │
        │ │ │ │
      • x1, y1, x2, y2 - Upper left and lower right points of the │ │ │ │ rectangle
      • │ │ │ │
      • color - Color of the rectangle
      • │ │ │ │
      │ │ │ │

      See also: al_draw_rectangle, al_draw_filled_rounded_rectangle

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_draw_rounded_rectangle

      │ │ │ │
      void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2,
      │ │ │ │ -   float rx, float ry, ALLEGRO_COLOR color, float thickness)
      │ │ │ │ -void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2,
      │ │ │ │ -   float rx, float ry, ALLEGRO_COLOR color, float thickness)
      │ │ │ │ + float rx, float ry, ALLEGRO_COLOR color, float thickness) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Draws an outlined rounded rectangle.

      │ │ │ │

      Parameters:

      │ │ │ │
        │ │ │ │
      • x1, y1, x2, y2 - Upper left and lower right points of the │ │ │ │ @@ -622,29 +560,18 @@ │ │ │ │
      • rx, ry - The radii of the round
      • │ │ │ │
      • thickness - Thickness of the lines, pass <= 0 to │ │ │ │ draw hairline lines
      • │ │ │ │
      │ │ │ │

      See also: al_draw_filled_rounded_rectangle, │ │ │ │ al_draw_rectangle

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_draw_filled_rounded_rectangle

      │ │ │ │
      void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2,
      │ │ │ │ -   float rx, float ry, ALLEGRO_COLOR color)
      │ │ │ │ -void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2,
      │ │ │ │ -   float rx, float ry, ALLEGRO_COLOR color)
      │ │ │ │ + float rx, float ry, ALLEGRO_COLOR color) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Draws an filled rounded rectangle.

      │ │ │ │

      Parameters:

      │ │ │ │
        │ │ │ │
      • x1, y1, x2, y2 - Upper left and lower right points of the │ │ │ │ @@ -652,29 +579,18 @@ │ │ │ │
      • color - Color of the rectangle
      • │ │ │ │
      • rx, ry - The radii of the round
      • │ │ │ │
      │ │ │ │

      See also: al_draw_rounded_rectangle, │ │ │ │ al_draw_filled_rectangle

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_calculate_arc

      │ │ │ │
      void al_calculate_arc(float* dest, int stride, float cx, float cy,
      │ │ │ │ -   int num_points)
      │ │ │ │ -void al_calculate_arc(float* dest, int stride, float cx, float cy,
      │ │ │ │ -   float rx, float ry, float start_theta, float delta_theta, float thickness,
      │ │ │ │ -   int num_points)
      │ │ │ │ + float rx, float ry, float start_theta, float delta_theta, float thickness, │ │ │ │ + int num_points) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      When thickness <= 0 this function computes positions │ │ │ │ of num_points regularly spaced points on an elliptical arc. │ │ │ │ When thickness > 0 this function computes two sets of │ │ │ │ points, obtained as follows: the first set is obtained by taking the │ │ │ │ @@ -731,24 +647,17 @@ │ │ │ │ number to switch direction) │ │ │ │

    • thickness - Thickness of the arc
    • │ │ │ │
    • num_points - The number of points to calculate
    • │ │ │ │
    │ │ │ │

    See also: al_draw_arc, al_calculate_spline, al_calculate_ribbon

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_pieslice

    │ │ │ │
    void al_draw_pieslice(float cx, float cy, float r, float start_theta,
    │ │ │ │ -   float delta_theta, ALLEGRO_COLOR color, float thickness)
    │ │ │ │ -void al_draw_pieslice(float cx, float cy, float r, float start_theta,
    │ │ │ │ -   float delta_theta, ALLEGRO_COLOR color, float thickness)
    │ │ │ │ + float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a pieslice (outlined circular sector).

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • cx, cy - Center of the pieslice
    • │ │ │ │ @@ -760,24 +669,17 @@ │ │ │ │ negative number to switch direction) │ │ │ │
    • thickness - Thickness of the circle, pass <= 0 to │ │ │ │ draw hairline pieslice
    • │ │ │ │
    │ │ │ │

    Since: 5.0.6, 5.1.0

    │ │ │ │

    See also: al_draw_filled_pieslice

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_prim.c
    • │ │ │ │ -
    │ │ │ │

    al_draw_filled_pieslice

    │ │ │ │
    void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta,
    │ │ │ │ -   float delta_theta, ALLEGRO_COLOR color)
    │ │ │ │ -void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta,
    │ │ │ │ -   float delta_theta, ALLEGRO_COLOR color)
    │ │ │ │ + float delta_theta, ALLEGRO_COLOR color) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a filled pieslice (filled circular sector).

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • cx, cy - Center of the pieslice
    • │ │ │ │ @@ -787,24 +689,17 @@ │ │ │ │ radians │ │ │ │
    • delta_theta - Angular span of the pieslice in radians (pass a │ │ │ │ negative number to switch direction)
    • │ │ │ │
    │ │ │ │

    Since: 5.0.6, 5.1.0

    │ │ │ │

    See also: al_draw_pieslice

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_prim.c
    • │ │ │ │ -
    │ │ │ │

    al_draw_ellipse

    │ │ │ │
    void al_draw_ellipse(float cx, float cy, float rx, float ry,
    │ │ │ │ -   ALLEGRO_COLOR color, float thickness)
    │ │ │ │ -void al_draw_ellipse(float cx, float cy, float rx, float ry,
    │ │ │ │ -   ALLEGRO_COLOR color, float thickness)
    │ │ │ │ + ALLEGRO_COLOR color, float thickness) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws an outlined ellipse.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • cx, cy - Center of the ellipse
    • │ │ │ │ @@ -812,51 +707,33 @@ │ │ │ │
    • color - Color of the ellipse
    • │ │ │ │
    • thickness - Thickness of the ellipse, pass <= 0 to │ │ │ │ draw a hairline ellipse
    • │ │ │ │
    │ │ │ │

    See also: al_draw_filled_ellipse, │ │ │ │ al_draw_circle

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_filled_ellipse

    │ │ │ │
    void al_draw_filled_ellipse(float cx, float cy, float rx, float ry,
    │ │ │ │ -   ALLEGRO_COLOR color)
    │ │ │ │ -void al_draw_filled_ellipse(float cx, float cy, float rx, float ry,
    │ │ │ │ -   ALLEGRO_COLOR color)
    │ │ │ │ + ALLEGRO_COLOR color) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a filled ellipse.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • cx, cy - Center of the ellipse
    • │ │ │ │
    • rx, ry - Radii of the ellipse
    • │ │ │ │
    • color - Color of the ellipse
    • │ │ │ │
    │ │ │ │

    See also: al_draw_ellipse, al_draw_filled_circle

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_circle

    │ │ │ │
    void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color,
    │ │ │ │ -   float thickness)
    │ │ │ │ -void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color,
    │ │ │ │ -   float thickness)
    │ │ │ │ + float thickness) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws an outlined circle.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • cx, cy - Center of the circle
    • │ │ │ │ @@ -864,51 +741,32 @@ │ │ │ │
    • color - Color of the circle
    • │ │ │ │
    • thickness - Thickness of the circle, pass <= 0 to │ │ │ │ draw a hairline circle
    • │ │ │ │
    │ │ │ │

    See also: al_draw_filled_circle, │ │ │ │ al_draw_ellipse

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_filled_circle

    │ │ │ │ -
    void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color)
    │ │ │ │ -void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color)
    │ │ │ │ +
    void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a filled circle.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • cx, cy - Center of the circle
    • │ │ │ │
    • r - Radius of the circle
    • │ │ │ │
    • color - Color of the circle
    • │ │ │ │
    │ │ │ │

    See also: al_draw_circle, al_draw_filled_ellipse

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_arc

    │ │ │ │
    void al_draw_arc(float cx, float cy, float r, float start_theta,
    │ │ │ │ -   float delta_theta, ALLEGRO_COLOR color, float thickness)
    │ │ │ │ -void al_draw_arc(float cx, float cy, float r, float start_theta,
    │ │ │ │ -   float delta_theta, ALLEGRO_COLOR color, float thickness)
    │ │ │ │ + float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws an arc.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • cx, cy - Center of the arc
    • │ │ │ │ @@ -920,24 +778,17 @@ │ │ │ │ number to switch direction) │ │ │ │
    • thickness - Thickness of the arc, pass <= 0 to draw │ │ │ │ hairline arc
    • │ │ │ │
    │ │ │ │

    See also: al_calculate_arc, al_draw_elliptical_arc

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_prim.c
    • │ │ │ │ -
    │ │ │ │

    al_draw_elliptical_arc

    │ │ │ │
    void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float start_theta,
    │ │ │ │ -   float delta_theta, ALLEGRO_COLOR color, float thickness)
    │ │ │ │ -void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float start_theta,
    │ │ │ │ -   float delta_theta, ALLEGRO_COLOR color, float thickness)
    │ │ │ │ + float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws an elliptical arc.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • cx, cy - Center of the arc
    • │ │ │ │ @@ -950,24 +801,17 @@ │ │ │ │
    • thickness - Thickness of the arc, pass <= 0 to draw │ │ │ │ hairline arc
    • │ │ │ │
    │ │ │ │

    Since: 5.0.6, 5.1.0

    │ │ │ │

    See also: al_calculate_arc, al_draw_arc

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_prim.c
    • │ │ │ │ -
    │ │ │ │

    al_calculate_spline

    │ │ │ │
    void al_calculate_spline(float* dest, int stride, const float points[8],
    │ │ │ │ -   float thickness, int num_segments)
    │ │ │ │ -void al_calculate_spline(float* dest, int stride, const float points[8],
    │ │ │ │ -   float thickness, int num_segments)
    │ │ │ │ + float thickness, int num_segments) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Calculates a Bézier spline given 4 control points. If │ │ │ │ thickness <= 0, then num_segments of points │ │ │ │ are required in the destination, otherwise twice as many are needed. The │ │ │ │ destination buffer should consist of regularly spaced (by distance of │ │ │ │ @@ -984,40 +828,32 @@ │ │ │ │

  • num_segments - The number of points to calculate
  • │ │ │ │ │ │ │ │

    See also: al_draw_spline, al_calculate_arc, al_calculate_ribbon

    │ │ │ │

    al_draw_spline

    │ │ │ │ -
    void al_draw_spline(const float points[8], ALLEGRO_COLOR color, float thickness)
    │ │ │ │ -void al_draw_spline(const float points[8], ALLEGRO_COLOR color, float thickness)
    │ │ │ │ +
    void al_draw_spline(const float points[8], ALLEGRO_COLOR color, float thickness)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a Bézier spline given 4 control points.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • points - An array of 4 pairs of coordinates of the 4 control │ │ │ │ points
    • │ │ │ │
    • color - Color of the spline
    • │ │ │ │
    • thickness - Thickness of the spline, pass <= 0 to │ │ │ │ draw a hairline spline
    • │ │ │ │
    │ │ │ │

    See also: al_calculate_spline

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_prim.c
    • │ │ │ │ -
    │ │ │ │

    al_calculate_ribbon

    │ │ │ │
    void al_calculate_ribbon(float* dest, int dest_stride, const float *points,
    │ │ │ │ -   int points_stride, float thickness, int num_segments)
    │ │ │ │ -void al_calculate_ribbon(float* dest, int dest_stride, const float *points,
    │ │ │ │ -   int points_stride, float thickness, int num_segments)
    │ │ │ │ + int points_stride, float thickness, int num_segments) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Calculates a ribbon given an array of points. The ribbon will go │ │ │ │ through all of the passed points. If thickness <= 0, │ │ │ │ then num_segments of points are required in the destination │ │ │ │ buffer, otherwise twice as many are needed. The destination and the │ │ │ │ @@ -1036,17 +872,15 @@ │ │ │ │ │ │ │ │

    See also: al_draw_ribbon, al_calculate_arc, al_calculate_spline

    │ │ │ │

    al_draw_ribbon

    │ │ │ │
    void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR color,
    │ │ │ │ -   float thickness, int num_segments)
    │ │ │ │ -void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR color,
    │ │ │ │ -   float thickness, int num_segments)
    │ │ │ │ + float thickness, int num_segments) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a ribbon given an array of points. The ribbon will go through │ │ │ │ all of the passed points. The points buffer should consist of regularly │ │ │ │ spaced doublets of floats, corresponding to x and y coordinates of the │ │ │ │ vertices.

    │ │ │ │ @@ -1085,17 +919,15 @@ │ │ │ │ pass to the al_draw_prim by (0.5, 0.5) if you need precise pixel │ │ │ │ control. E.g. to refer to pixel (5, 10) you’d set the u and v to 5.5 and │ │ │ │ 10.5 respectively.

    │ │ │ │

    See also: Pixel-precise output

    │ │ │ │

    al_draw_prim

    │ │ │ │
    int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,
    │ │ │ │ -   ALLEGRO_BITMAP* texture, int start, int end, int type)
    │ │ │ │ -int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,
    │ │ │ │ -   ALLEGRO_BITMAP* texture, int start, int end, int type)
    │ │ │ │ + ALLEGRO_BITMAP* texture, int start, int end, int type) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a subset of the passed vertex array.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • texture - Texture to use, pass NULL to use only color shaded │ │ │ │ @@ -1121,28 +953,17 @@ │ │ │ │ {.x = 256, .y = 256, .z = 0, .color = white, .u = 256, .v = 256}}; │ │ │ │ al_draw_prim(v, NULL, texture, 0, 3, ALLEGRO_PRIM_TRIANGLE_LIST); │ │ │ │

      See also: ALLEGRO_VERTEX, ALLEGRO_PRIM_TYPE, ALLEGRO_VERTEX_DECL, al_draw_indexed_prim

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_draw_indexed_prim

      │ │ │ │
      int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,
      │ │ │ │ -   ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type)
      │ │ │ │ -int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,
      │ │ │ │ -   ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type)
      │ │ │ │ + ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Draws a subset of the passed vertex array. This function uses an │ │ │ │ index array to specify which vertices to use.

      │ │ │ │

      Parameters:

      │ │ │ │
        │ │ │ │ @@ -1160,26 +981,17 @@ │ │ │ │
      │ │ │ │

      Returns: Number of primitives drawn

      │ │ │ │

      See also: ALLEGRO_VERTEX, ALLEGRO_PRIM_TYPE, ALLEGRO_VERTEX_DECL, al_draw_prim

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_draw_vertex_buffer

      │ │ │ │
      int al_draw_vertex_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,
      │ │ │ │ -   ALLEGRO_BITMAP* texture, int sta)
      │ │ │ │ -int al_draw_vertex_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,
      │ │ │ │ -   ALLEGRO_BITMAP* texture, int start, int end, int type)
      │ │ │ │ + ALLEGRO_BITMAP* texture, int start, int end, int type) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Draws a subset of the passed vertex buffer. The vertex buffer must │ │ │ │ not be locked. Additionally, to draw onto memory bitmaps or with memory │ │ │ │ bitmap textures the vertex buffer must support reading (i.e. it must be │ │ │ │ created with the ALLEGRO_PRIM_BUFFER_READWRITE).

      │ │ │ │ @@ -1196,28 +1008,18 @@ │ │ │ │ enumeration, specifying what kind of primitive to draw
    • │ │ │ │
    │ │ │ │

    Returns: Number of primitives drawn

    │ │ │ │

    Since: 5.1.3

    │ │ │ │

    See also: ALLEGRO_VERTEX_BUFFER, │ │ │ │ ALLEGRO_PRIM_TYPE

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_indexed_buffer

    │ │ │ │
    int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,
    │ │ │ │     ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer,
    │ │ │ │ -   int start, int end, int type)
    │ │ │ │ -int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,
    │ │ │ │ -   ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer,
    │ │ │ │ -   int start, int end, int type)
    │ │ │ │ + int start, int end, int type) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a subset of the passed vertex buffer. This function uses an │ │ │ │ index buffer to specify which vertices to use. Both buffers must not be │ │ │ │ locked. Additionally, to draw onto memory bitmaps or with memory bitmap │ │ │ │ textures both buffers must support reading (i.e. they must be created │ │ │ │ @@ -1239,32 +1041,21 @@ │ │ │ │ │ │ │ │

    Returns: Number of primitives drawn

    │ │ │ │

    Since: 5.1.8

    │ │ │ │

    See also: ALLEGRO_VERTEX_BUFFER, │ │ │ │ ALLEGRO_INDEX_BUFFER, │ │ │ │ ALLEGRO_PRIM_TYPE

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_prim.c
    • │ │ │ │ -
    │ │ │ │

    al_draw_soft_triangle

    │ │ │ │
    void al_draw_soft_triangle(
    │ │ │ │     ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, ALLEGRO_VERTEX* v3, uintptr_t state,
    │ │ │ │     void (*init)(uintptr_t, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),
    │ │ │ │     void (*first)(uintptr_t, int, int, int, int),
    │ │ │ │     void (*step)(uintptr_t, int),
    │ │ │ │ -   void (*draw)(uintptr_t, int, int, int))
    │ │ │ │ -void al_draw_soft_triangle(
    │ │ │ │ -   ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, ALLEGRO_VERTEX* v3, uintptr_t state,
    │ │ │ │ -   void (*init)(uintptr_t, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),
    │ │ │ │ -   void (*first)(uintptr_t, int, int, int, int),
    │ │ │ │ -   void (*step)(uintptr_t, int),
    │ │ │ │ -   void (*draw)(uintptr_t, int, int, int))
    │ │ │ │ + void (*draw)(uintptr_t, int, int, int)) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a triangle using the software rasterizer and user supplied │ │ │ │ pixel functions. For help in understanding what these functions do, see │ │ │ │ the implementation of the various shading routines in │ │ │ │ addons/primitives/tri_soft.c. The triangle is drawn in two segments, │ │ │ │ @@ -1295,19 +1086,15 @@ │ │ │ │ │ │ │ │

    See also: al_draw_triangle

    │ │ │ │

    al_draw_soft_line

    │ │ │ │
    void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state,
    │ │ │ │     void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),
    │ │ │ │     void (*step)(uintptr_t, int),
    │ │ │ │ -   void (*draw)(uintptr_t, int, int))
    │ │ │ │ -void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state,
    │ │ │ │ -   void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),
    │ │ │ │ -   void (*step)(uintptr_t, int),
    │ │ │ │ -   void (*draw)(uintptr_t, int, int))
    │ │ │ │ + void (*draw)(uintptr_t, int, int)) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a line using the software rasterizer and user supplied pixel │ │ │ │ functions. For help in understanding what these functions do, see the │ │ │ │ implementation of the various shading routines in │ │ │ │ addons/primitives/line_soft.c. The line is drawn top to bottom.

    │ │ │ │ @@ -1327,16 +1114,15 @@ │ │ │ │
  • draw - Called once per pixel. The function is expected to draw the │ │ │ │ pixel at the coordinates passed to it.
  • │ │ │ │ │ │ │ │

    See also: al_draw_line

    │ │ │ │

    Custom vertex declaration │ │ │ │ routines

    │ │ │ │

    al_create_vertex_decl

    │ │ │ │ -
    ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* elements, int stride)
    │ │ │ │ -ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* elements, int stride)
    │ │ │ │ +
    ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* elements, int stride)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Creates a vertex declaration, which describes a custom vertex │ │ │ │ format.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │ @@ -1347,48 +1133,33 @@ │ │ │ │
    │ │ │ │

    Returns: Newly created vertex declaration.

    │ │ │ │

    See also: ALLEGRO_VERTEX_ELEMENT, │ │ │ │ ALLEGRO_VERTEX_DECL, │ │ │ │ al_destroy_vertex_decl

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_destroy_vertex_decl

    │ │ │ │ -
    void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl)
    │ │ │ │ -void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl)
    │ │ │ │ +
    void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Destroys a vertex declaration.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • decl - Vertex declaration to destroy
    • │ │ │ │
    │ │ │ │

    See also: ALLEGRO_VERTEX_ELEMENT, │ │ │ │ ALLEGRO_VERTEX_DECL, │ │ │ │ al_create_vertex_decl

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Vertex buffer routines

    │ │ │ │

    al_create_vertex_buffer

    │ │ │ │
    ALLEGRO_VERTEX_BUFFER* al_create_vertex_buffer(ALLEGRO_VERTEX_DECL* decl,
    │ │ │ │ -   const void* initial_data, int num_vertices, int flags)
    │ │ │ │ -ALLEGRO_VERTEX_BUFFER* al_create_vertex_buffer(ALLEGRO_VERTEX_DECL* decl,
    │ │ │ │ -   const void* initial_data, int num_vertices, int flags)
    │ │ │ │ + const void* initial_data, int num_vertices, int flags) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Creates a vertex buffer. Can return NULL if the buffer could not be │ │ │ │ created (e.g. the system only supports write-only buffers).

    │ │ │ │
    │ │ │ │

    Note:

    │ │ │ │ @@ -1412,45 +1183,28 @@ │ │ │ │ as passing ALLEGRO_PRIM_BUFFER_STATIC. │ │ │ │ │ │ │ │

    Since: 5.1.3

    │ │ │ │

    See also: ALLEGRO_VERTEX_BUFFER, │ │ │ │ al_destroy_vertex_buffer

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_destroy_vertex_buffer

    │ │ │ │ -
    void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)
    │ │ │ │ -void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)
    │ │ │ │ +
    void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Destroys a vertex buffer. Does nothing if passed NULL.

    │ │ │ │

    Since: 5.1.3

    │ │ │ │

    See also: ALLEGRO_VERTEX_BUFFER, │ │ │ │ al_create_vertex_buffer

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_lock_vertex_buffer

    │ │ │ │
    void* al_lock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer, int offset,
    │ │ │ │ -   int length, int flags)
    │ │ │ │ -void* al_lock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer, int offset,
    │ │ │ │ -   int length, int flags)
    │ │ │ │ + int length, int flags) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Locks a vertex buffer so you can access its data. Will return NULL if │ │ │ │ the parameters are invalid, if reading is requested from a write only │ │ │ │ buffer, or if the buffer is already locked.

    │ │ │ │

    Parameters:

    │ │ │ │ @@ -1462,56 +1216,38 @@ │ │ │ │ ALLEGRO_LOCK_READWRITE │ │ │ │ │ │ │ │

    Since: 5.1.3

    │ │ │ │

    See also: ALLEGRO_VERTEX_BUFFER, │ │ │ │ al_unlock_vertex_buffer

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_unlock_vertex_buffer

    │ │ │ │ -
    void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)
    │ │ │ │ -void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)
    │ │ │ │ +
    void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Unlocks a previously locked vertex buffer.

    │ │ │ │

    Since: 5.1.3

    │ │ │ │

    See also: ALLEGRO_VERTEX_BUFFER, │ │ │ │ al_lock_vertex_buffer

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_vertex_buffer_size

    │ │ │ │ -
    int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer)
    │ │ │ │ -int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer)
    │ │ │ │ +
    int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the size of the vertex buffer

    │ │ │ │

    Since: 5.1.8

    │ │ │ │

    See also: ALLEGRO_VERTEX_BUFFER

    │ │ │ │

    Index buffer routines

    │ │ │ │

    al_create_index_buffer

    │ │ │ │
    ALLEGRO_INDEX_BUFFER* al_create_index_buffer(int index_size,
    │ │ │ │ -    const void* initial_data, int num_indices, int flags)
    │ │ │ │ -ALLEGRO_INDEX_BUFFER* al_create_index_buffer(int index_size,
    │ │ │ │ -    const void* initial_data, int num_indices, int flags)
    │ │ │ │ + const void* initial_data, int num_indices, int flags) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Creates a index buffer. Can return NULL if the buffer could not be │ │ │ │ created (e.g. the system only supports write-only buffers).

    │ │ │ │
    │ │ │ │

    Note:

    │ │ │ │ @@ -1533,40 +1269,27 @@ │ │ │ │ flags specifying how this buffer will be created. Passing 0 is the same │ │ │ │ as passing ALLEGRO_PRIM_BUFFER_STATIC. │ │ │ │ │ │ │ │

    Since: 5.1.8

    │ │ │ │

    See also: ALLEGRO_INDEX_BUFFER, al_destroy_index_buffer

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_prim.c
    • │ │ │ │ -
    │ │ │ │

    al_destroy_index_buffer

    │ │ │ │ -
    void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)
    │ │ │ │ -void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)
    │ │ │ │ +
    void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Destroys a index buffer. Does nothing if passed NULL.

    │ │ │ │

    Since: 5.1.8

    │ │ │ │

    See also: ALLEGRO_INDEX_BUFFER, al_create_index_buffer

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_prim.c
    • │ │ │ │ -
    │ │ │ │

    al_lock_index_buffer

    │ │ │ │
    void* al_lock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer, int offset,
    │ │ │ │ -    int length, int flags)
    │ │ │ │ -void* al_lock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer, int offset,
    │ │ │ │ -    int length, int flags)
    │ │ │ │ + int length, int flags) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Locks a index buffer so you can access its data. Will return NULL if │ │ │ │ the parameters are invalid, if reading is requested from a write only │ │ │ │ buffer and if the buffer is already locked.

    │ │ │ │

    Parameters:

    │ │ │ │ @@ -1577,53 +1300,38 @@ │ │ │ │
  • flags - ALLEGRO_LOCK_READONLY, ALLEGRO_LOCK_WRITEONLY or │ │ │ │ ALLEGRO_LOCK_READWRITE
  • │ │ │ │ │ │ │ │

    Since: 5.1.8

    │ │ │ │

    See also: ALLEGRO_INDEX_BUFFER, al_unlock_index_buffer

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_prim.c
    • │ │ │ │ -
    │ │ │ │

    al_unlock_index_buffer

    │ │ │ │ -
    void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)
    │ │ │ │ -void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)
    │ │ │ │ +
    void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Unlocks a previously locked index buffer.

    │ │ │ │

    Since: 5.1.8

    │ │ │ │

    See also: ALLEGRO_INDEX_BUFFER, al_lock_index_buffer

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_prim.c
    • │ │ │ │ -
    │ │ │ │

    al_get_index_buffer_size

    │ │ │ │ -
    int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer)
    │ │ │ │ -int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer)
    │ │ │ │ +
    int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the size of the index buffer

    │ │ │ │

    Since: 5.1.8

    │ │ │ │

    See also: ALLEGRO_INDEX_BUFFER

    │ │ │ │

    Polygon routines

    │ │ │ │

    al_draw_polyline

    │ │ │ │
    void al_draw_polyline(const float* vertices, int vertex_stride,
    │ │ │ │     int vertex_count, int join_style, int cap_style,
    │ │ │ │ -   ALLEGRO_COLOR color, float thickness, float miter_limit)
    │ │ │ │ -void al_draw_polyline(const float* vertices, int vertex_stride,
    │ │ │ │ -   int vertex_count, int join_style, int cap_style,
    │ │ │ │ -   ALLEGRO_COLOR color, float thickness, float miter_limit)
    │ │ │ │ + ALLEGRO_COLOR color, float thickness, float miter_limit) │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draw a series of line segments.

    │ │ │ │
      │ │ │ │
    • vertices - Interleaved array of (x, y) vertex coordinates
    • │ │ │ │
    • vertex_stride - the number of bytes between pairs of vertices (the │ │ │ │ @@ -1657,24 +1365,17 @@ │ │ │ │

      The stride may also be negative if the vertices are stored in reverse │ │ │ │ order.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_draw_polygon, ALLEGRO_LINE_JOIN, ALLEGRO_LINE_CAP

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_draw_polygon

      │ │ │ │
      void al_draw_polygon(const float *vertices, int vertex_count,
      │ │ │ │ -   int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit)
      │ │ │ │ -void al_draw_polygon(const float *vertices, int vertex_count,
      │ │ │ │ -   int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit)
      │ │ │ │ + int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Draw an unfilled polygon. This is the same as passing │ │ │ │ ALLEGRO_LINE_CAP_CLOSED to al_draw_polyline.

      │ │ │ │
        │ │ │ │ @@ -1689,51 +1390,37 @@ │ │ │ │
      • miter_limit - Parameter for miter join style
      • │ │ │ │
      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_draw_filled_polygon, │ │ │ │ al_draw_polyline, ALLEGRO_LINE_JOIN

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_draw_filled_polygon

      │ │ │ │ -
      void al_draw_filled_polygon(const float *vertices, int vertex_cou
      │ │ │ │ -   ALLEGRO_COLOR color)
      │ │ │ │ -void al_draw_filled_polygon(const float *vertices, int vertex_court, int end, int type)
      │ │ │ │ -   ALLEGRO_COLOR color)
      │ │ │ │ +
      void al_draw_filled_polygon(const float *vertices, int vertex_count,
      │ │ │ │ +   ALLEGRO_COLOR color)
      │ │ │ │

      Source │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/addons/primitives/polygon.c#L53">Source │ │ │ │ Code

      │ │ │ │

      Draw a filled, simple polygon. Simple means it does not have to be │ │ │ │ convex but must not be self-overlapping.

      │ │ │ │
        │ │ │ │
      • vertices - Interleaved array of (x, y) vertex coordinates
      • │ │ │ │
      • vertex_count - Number of vertices in the array
      • │ │ │ │
      • color - Color of the filled polygon
      • │ │ │ │
      │ │ │ │

      When the y-axis is facing downwards (the usual), the coordinates must │ │ │ │ be ordered anti-clockwise.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_draw_polygon, al_draw_filled_polygon_with_holes

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      al_draw_filled_polygon_with_holes

      │ │ │ │
      void al_draw_filled_polygon_with_holes(const float *vertices,
      │ │ │ │ -   const int *vertex_counts, ALLEGRO_COLOR color)
      │ │ │ │ -void al_draw_filled_polygon_with_holes(const float *vertices,
      │ │ │ │ -   const int *vertex_counts, ALLEGRO_COLOR color)
      │ │ │ │ + const int *vertex_counts, ALLEGRO_COLOR color) │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Draws a filled simple polygon with zero or more other simple polygons │ │ │ │ subtracted from it - the holes. The holes cannot touch or intersect with │ │ │ │ the outline of the filled polygon.

      │ │ │ │
        │ │ │ │ @@ -1772,26 +1459,18 @@ │ │ │ │

        Since: 5.1.0

        │ │ │ │

        See also: al_draw_filled_polygon, │ │ │ │ al_draw_filled_polygon_with_holes, │ │ │ │ al_triangulate_polygon

        │ │ │ │ -

        Examples:

        │ │ │ │ - │ │ │ │

        al_triangulate_polygon

        │ │ │ │
        bool al_triangulate_polygon(
        │ │ │ │     const float* vertices, size_t vertex_stride, const int* vertex_counts,
        │ │ │ │ -   void (*emit_triangle)(int, int, int, void*), void* userdata)
        │ │ │ │ -bool al_triangulate_polygon(
        │ │ │ │ -   const float* vertices, size_t vertex_stride, const int* vertex_counts,
        │ │ │ │ -   void (*emit_triangle)(int, int, int, void*), void* userdata)
        │ │ │ │ + void (*emit_triangle)(int, int, int, void*), void* userdata) │ │ │ │

        Source │ │ │ │ Code

        │ │ │ │

        Divides a simple polygon into triangles, with zero or more other │ │ │ │ simple polygons subtracted from it - the holes. The holes cannot touch │ │ │ │ or intersect with the outline of the main polygon. Simple means the │ │ │ │ polygon does not have to be convex but must not be self-overlapping.

        │ │ │ │ @@ -1811,16 +1490,15 @@ │ │ │ │
      • userdata - arbitrary data to be passed to emit_triangle.
      • │ │ │ │
      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_draw_filled_polygon_with_holes

      │ │ │ │

      Structures and types

      │ │ │ │

      ALLEGRO_VERTEX

      │ │ │ │ -
      typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX;
      │ │ │ │ -typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX;
      │ │ │ │ +
      typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX;
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Defines the generic vertex type, with a 3D position, color and │ │ │ │ texture coordinates for a single texture. Note that at this time, the │ │ │ │ software driver for this addon cannot render 3D primitives. If you want │ │ │ │ a 2D only primitive, set z to 0. Note that you must initialize all │ │ │ │ @@ -1832,48 +1510,30 @@ │ │ │ │

    • x, y, z - Position of the vertex (float)
    • │ │ │ │
    • u, v - Texture coordinates measured in pixels (float)
    • │ │ │ │
    • color - ALLEGRO_COLOR │ │ │ │ structure, storing the color of the vertex
    • │ │ │ │
    │ │ │ │

    See also: ALLEGRO_PRIM_ATTR

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_VERTEX_DECL

    │ │ │ │ -
    typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL;
    │ │ │ │ -typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL;
    │ │ │ │ +
    typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    A vertex declaration. This opaque structure is responsible for │ │ │ │ describing the format and layout of a user defined custom vertex. It is │ │ │ │ created and destroyed by specialized functions.

    │ │ │ │

    See also: al_create_vertex_decl, │ │ │ │ al_destroy_vertex_decl, │ │ │ │ ALLEGRO_VERTEX_ELEMENT

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_VERTEX_ELEMENT

    │ │ │ │ -
    typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT;
    │ │ │ │ -typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT;
    │ │ │ │ +
    typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    A small structure describing a certain element of a vertex. E.g. the │ │ │ │ position of the vertex, or its color. These structures are used by the │ │ │ │ al_create_vertex_decl │ │ │ │ @@ -1906,24 +1566,16 @@ │ │ │ │ structure. The C function offsetof is very useful here. │ │ │ │ │ │ │ │

    See also: al_create_vertex_decl, │ │ │ │ ALLEGRO_VERTEX_DECL, │ │ │ │ ALLEGRO_PRIM_ATTR, ALLEGRO_PRIM_STORAGE

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_PRIM_TYPE

    │ │ │ │ -
    typedef enum ALLEGRO_PRIM_TYPE
    │ │ │ │ -typedef enum ALLEGRO_PRIM_TYPE
    │ │ │ │ +
    typedef enum ALLEGRO_PRIM_TYPE
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Enumerates the types of primitives this addon can draw.

    │ │ │ │
      │ │ │ │
    • ALLEGRO_PRIM_POINT_LIST - A list of points, each vertex defines a │ │ │ │ point

    • │ │ │ │ @@ -1937,16 +1589,15 @@ │ │ │ │ triplets of vertices define disjointed triangles

      │ │ │ │
    • ALLEGRO_PRIM_TRIANGLE_STRIP - A strip of triangles, sequential │ │ │ │ vertices define a strip of triangles

    • │ │ │ │
    • ALLEGRO_PRIM_TRIANGLE_FAN - A fan of triangles, all triangles │ │ │ │ share the first vertex

    • │ │ │ │
    │ │ │ │

    ALLEGRO_PRIM_ATTR

    │ │ │ │ -
    typedef enum ALLEGRO_PRIM_ATTR
    │ │ │ │ -typedef enum ALLEGRO_PRIM_ATTR
    │ │ │ │ +
    typedef enum ALLEGRO_PRIM_ATTR
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Enumerates the types of vertex attributes that a custom vertex may │ │ │ │ have.

    │ │ │ │
      │ │ │ │
    • ALLEGRO_PRIM_POSITION - Position information, can be stored only │ │ │ │ @@ -1995,16 +1646,15 @@ │ │ │ │

      Since: 5.1.6

    • │ │ │ │
    │ │ │ │

    See also: ALLEGRO_VERTEX_DECL, ALLEGRO_PRIM_STORAGE, al_attach_shader_source

    │ │ │ │

    ALLEGRO_PRIM_STORAGE

    │ │ │ │ -
    typedef enum ALLEGRO_PRIM_STORAGE
    │ │ │ │ -typedef enum ALLEGRO_PRIM_STORAGE
    │ │ │ │ +
    typedef enum ALLEGRO_PRIM_STORAGE
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Enumerates the types of storage an attribute of a custom vertex may │ │ │ │ be stored in. Many of these can only be used for ALLEGRO_PRIM_USER_ATTR │ │ │ │ attributes and can only be accessed via shaders. Usually no matter what │ │ │ │ the storage is specified the attribute gets converted to single │ │ │ │ @@ -2057,38 +1707,35 @@ │ │ │ │ href="primitives.html#al_create_vertex_decl">al_create_vertex_decl │ │ │ │ will return NULL if you use it on those platforms.

    │ │ │ │

    Since: 5.1.6

    │ │ │ │ │ │ │ │

    See also: ALLEGRO_PRIM_ATTR

    │ │ │ │

    ALLEGRO_VERTEX_CACHE_SIZE

    │ │ │ │ -
    #define ALLEGRO_VERTEX_CACHE_SIZE 256
    │ │ │ │ -#define ALLEGRO_VERTEX_CACHE_SIZE 256
    │ │ │ │ +
    #define ALLEGRO_VERTEX_CACHE_SIZE 256
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Defines the size of the transformation vertex cache for the software │ │ │ │ renderer. If you pass less than this many vertices to the primitive │ │ │ │ rendering functions you will get a speed boost. This also defines the │ │ │ │ size of the cache vertex buffer, used for the high-level primitives. │ │ │ │ This corresponds to the maximum number of line segments that will be │ │ │ │ used to form them.

    │ │ │ │

    ALLEGRO_PRIM_QUALITY

    │ │ │ │ -
    #define ALLEGRO_PRIM_QUALITY 10
    │ │ │ │ -#define ALLEGRO_PRIM_QUALITY 10
    │ │ │ │ +
    #define ALLEGRO_PRIM_QUALITY 10
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Controls the quality of the approximation of curved primitives │ │ │ │ (e.g. circles). Curved primitives are drawn by approximating them with a │ │ │ │ sequence of line segments. By default, this roughly corresponds to error │ │ │ │ of less than half of a pixel.

    │ │ │ │

    ALLEGRO_LINE_JOIN

    │ │ │ │ -
    typedef enum ALLEGRO_LINE_JOIN
    │ │ │ │ -typedef enum ALLEGRO_LINE_JOIN
    │ │ │ │ +
    typedef enum ALLEGRO_LINE_JOIN
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │
      │ │ │ │
    • ALLEGRO_LINE_JOIN_NONE
    • │ │ │ │
    • ALLEGRO_LINE_JOIN_BEVEL
    • │ │ │ │
    • ALLEGRO_LINE_JOIN_ROUND
    • │ │ │ │ @@ -2101,22 +1748,16 @@ │ │ │ │ │ │ │ │

      See the picture for the difference.

      │ │ │ │

      The maximum miter length (relative to the line width) can be │ │ │ │ specified as parameter to the polygon functions.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │

      See also: al_draw_polygon

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      ALLEGRO_LINE_CAP

      │ │ │ │ -
      typedef enum ALLEGRO_LINE_CAP
      │ │ │ │ -typedef enum ALLEGRO_LINE_CAP
      │ │ │ │ +
      typedef enum ALLEGRO_LINE_CAP
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │
        │ │ │ │
      • ALLEGRO_LINE_CAP_NONE
      • │ │ │ │
      • ALLEGRO_LINE_CAP_SQUARE
      • │ │ │ │
      • ALLEGRO_LINE_CAP_ROUND
      • │ │ │ │ @@ -2132,61 +1773,41 @@ │ │ │ │

        ALLEGRO_LINE_CAP_CLOSED is different from the others - it causes the │ │ │ │ polygon to have no caps. (And the ALLEGRO_LINE_JOIN style │ │ │ │ will determine how the vertex looks.)

        │ │ │ │

        Since: 5.1.0

        │ │ │ │

        See also: al_draw_polygon

        │ │ │ │ -

        Examples:

        │ │ │ │ - │ │ │ │

        ALLEGRO_VERTEX_BUFFER

        │ │ │ │ -
        typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER;
        │ │ │ │ -typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER;
        │ │ │ │ +
        typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER;
        │ │ │ │

        Source │ │ │ │ Code

        │ │ │ │

        A GPU vertex buffer that you can use to store vertices on the GPU │ │ │ │ instead of uploading them afresh during every drawing operation.

        │ │ │ │

        Since: 5.1.3

        │ │ │ │

        See also: al_create_vertex_buffer, │ │ │ │ al_destroy_vertex_buffer

        │ │ │ │ -

        Examples:

        │ │ │ │ - │ │ │ │

        ALLEGRO_INDEX_BUFFER

        │ │ │ │ -
        typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER;
        │ │ │ │ -typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER;
        │ │ │ │ +
        typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER;
        │ │ │ │

        Source │ │ │ │ Code

        │ │ │ │

        A GPU index buffer that you can use to store indices of vertices in a │ │ │ │ vertex buffer on the GPU instead of uploading them afresh during every │ │ │ │ drawing operation.

        │ │ │ │

        Since: 5.1.8

        │ │ │ │

        See also: al_create_index_buffer, │ │ │ │ al_destroy_index_buffer

        │ │ │ │ -

        Examples:

        │ │ │ │ -
          │ │ │ │ -
        • ex_prim.c
        • │ │ │ │ -
        │ │ │ │

        ALLEGRO_PRIM_BUFFER_FLAGS

        │ │ │ │ -
        typedef enum ALLEGRO_PRIM_BUFFER_FLAGS
        │ │ │ │ -typedef enum ALLEGRO_PRIM_BUFFER_FLAGS
        │ │ │ │ +
        typedef enum ALLEGRO_PRIM_BUFFER_FLAGS
        │ │ │ │

        Source │ │ │ │ Code

        │ │ │ │

        Flags to specify how to create a vertex or an index buffer.

        │ │ │ │
          │ │ │ │
        • ALLEGRO_PRIM_BUFFER_STREAM - Hints to the driver that the buffer │ │ │ │ is written to often, but used only a few times per frame

        • │ │ │ │ @@ -2202,14 +1823,11 @@ │ │ │ │ al_create_index_buffer the call will fail.

          │ │ │ │
        │ │ │ │

        Since: 5.1.3

        │ │ │ │

        See also: al_create_vertex_buffer, │ │ │ │ al_create_index_buffer

        │ │ │ │ -

        │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

        │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -114,43 +114,31 @@ │ │ │ │ │ o ALLEGRO_PRIM_BUFFER_FLAGS │ │ │ │ │ These functions are declared in the following header file. Link with allegro_ │ │ │ │ │ primitives. │ │ │ │ │ #include │ │ │ │ │ ****** General ****** │ │ │ │ │ ***** al_get_allegro_primitives_version ***** │ │ │ │ │ uint32_t al_get_allegro_primitives_version(void) │ │ │ │ │ - │ │ │ │ │ -uint32_t al_get_allegro_primitives_version(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as al_get_ │ │ │ │ │ allegro_version. │ │ │ │ │ ***** al_init_primitives_addon ***** │ │ │ │ │ bool al_init_primitives_addon(void) │ │ │ │ │ - │ │ │ │ │ -bool al_init_primitives_addon(void) │ │ │ │ │ Source_Code │ │ │ │ │ Initializes the primitives addon. │ │ │ │ │ Returns: True on success, false on failure. │ │ │ │ │ See also: al_shutdown_primitives_addon │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_touch_input.c │ │ │ │ │ - * ex_blend_bench.c │ │ │ │ │ - * ex_mouse.c │ │ │ │ │ ***** al_is_primitives_addon_initialized ***** │ │ │ │ │ bool al_is_primitives_addon_initialized(void) │ │ │ │ │ - │ │ │ │ │ -bool al_is_primitives_addon_initialized(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true if the primitives addon is initialized, otherwise returns false. │ │ │ │ │ Since: 5.2.6 │ │ │ │ │ See also: al_init_primitives_addon, al_shutdown_primitives_addon │ │ │ │ │ ***** al_shutdown_primitives_addon ***** │ │ │ │ │ void al_shutdown_primitives_addon(void) │ │ │ │ │ - │ │ │ │ │ -void al_shutdown_primitives_addon(void) │ │ │ │ │ Source_Code │ │ │ │ │ Shut down the primitives addon. This is done automatically at program exit, but │ │ │ │ │ can be called any time the user wishes as well. │ │ │ │ │ See also: al_init_primitives_addon │ │ │ │ │ ****** High level drawing routines ****** │ │ │ │ │ High level drawing routines encompass the most common usage of this addon: to │ │ │ │ │ draw geometric primitives, both smooth (variations on the circle theme) and │ │ │ │ │ @@ -238,145 +226,89 @@ │ │ │ │ │ case: if you use those offsets, your shapes (if they are oriented the same way │ │ │ │ │ as they are on the diagram) should look the same whether multisampling is │ │ │ │ │ turned on or off. │ │ │ │ │ ***** al_draw_line ***** │ │ │ │ │ void al_draw_line(float x1, float y1, float x2, float y2, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color, float thickness) │ │ │ │ │ - │ │ │ │ │ -void al_draw_line(float x1, float y1, float x2, float y2, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color, float thickness) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a line segment between two points. │ │ │ │ │ Parameters: │ │ │ │ │ * x1, y1, x2, y2 - Start and end points of the line │ │ │ │ │ * color - Color of the line │ │ │ │ │ * thickness - Thickness of the line, pass <= 0 to draw hairline lines │ │ │ │ │ See also: al_draw_soft_line │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font_justify.cpp │ │ │ │ │ - * ex_resize.c │ │ │ │ │ - * ex_mouse_warp.c │ │ │ │ │ ***** al_draw_triangle ***** │ │ │ │ │ void al_draw_triangle(float x1, float y1, float x2, float y2, │ │ │ │ │ │ │ │ │ │ float x3, float y3, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ - │ │ │ │ │ -void al_draw_triangle(float x1, float y1, float x2, float y2, │ │ │ │ │ - │ │ │ │ │ - float x3, float y3, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ Source_Code │ │ │ │ │ Draws an outlined triangle. │ │ │ │ │ Parameters: │ │ │ │ │ * x1, y1, x2, y2, x3, y3 - Three points of the triangle │ │ │ │ │ * color - Color of the triangle │ │ │ │ │ * thickness - Thickness of the lines, pass <= 0 to draw hairline lines │ │ │ │ │ See also: al_draw_filled_triangle, al_draw_soft_triangle │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_draw_filled_triangle ***** │ │ │ │ │ void al_draw_filled_triangle(float x1, float y1, float x2, float y2, │ │ │ │ │ │ │ │ │ │ float x3, float y3, ALLEGRO_COLOR color) │ │ │ │ │ - │ │ │ │ │ -void al_draw_filled_triangle(float x1, float y1, float x2, float y2, │ │ │ │ │ - │ │ │ │ │ - float x3, float y3, ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a filled triangle. │ │ │ │ │ Parameters: │ │ │ │ │ * x1, y1, x2, y2, x3, y3 - Three points of the triangle │ │ │ │ │ * color - Color of the triangle │ │ │ │ │ See also: al_draw_triangle │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_draw_rectangle ***** │ │ │ │ │ void al_draw_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color, float thickness) │ │ │ │ │ - │ │ │ │ │ -void al_draw_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color, float thickness) │ │ │ │ │ Source_Code │ │ │ │ │ Draws an outlined rectangle. │ │ │ │ │ Parameters: │ │ │ │ │ * x1, y1, x2, y2 - Upper left and lower right points of the rectangle │ │ │ │ │ * color - Color of the rectangle │ │ │ │ │ * thickness - Thickness of the lines, pass <= 0 to draw hairline lines │ │ │ │ │ See also: al_draw_filled_rectangle, al_draw_rounded_rectangle │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_mouse.c │ │ │ │ │ - * ex_font_justify.cpp │ │ │ │ │ - * ex_subbitmap.c │ │ │ │ │ ***** al_draw_filled_rectangle ***** │ │ │ │ │ void al_draw_filled_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color) │ │ │ │ │ - │ │ │ │ │ -void al_draw_filled_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a filled rectangle. │ │ │ │ │ Parameters: │ │ │ │ │ * x1, y1, x2, y2 - Upper left and lower right points of the rectangle │ │ │ │ │ * color - Color of the rectangle │ │ │ │ │ See also: al_draw_rectangle, al_draw_filled_rounded_rectangle │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_mouse.c │ │ │ │ │ - * ex_timer.c │ │ │ │ │ - * ex_window_maximized.c │ │ │ │ │ ***** al_draw_rounded_rectangle ***** │ │ │ │ │ void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ │ │ │ │ │ float rx, float ry, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ - │ │ │ │ │ -void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ - │ │ │ │ │ - float rx, float ry, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ Source_Code │ │ │ │ │ Draws an outlined rounded rectangle. │ │ │ │ │ Parameters: │ │ │ │ │ * x1, y1, x2, y2 - Upper left and lower right points of the rectangle │ │ │ │ │ * color - Color of the rectangle │ │ │ │ │ * rx, ry - The radii of the round │ │ │ │ │ * thickness - Thickness of the lines, pass <= 0 to draw hairline lines │ │ │ │ │ See also: al_draw_filled_rounded_rectangle, al_draw_rectangle │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ - * ex_audio_chain.cpp │ │ │ │ │ ***** al_draw_filled_rounded_rectangle ***** │ │ │ │ │ void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ │ │ │ │ │ float rx, float ry, ALLEGRO_COLOR color) │ │ │ │ │ - │ │ │ │ │ -void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ - │ │ │ │ │ - float rx, float ry, ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Draws an filled rounded rectangle. │ │ │ │ │ Parameters: │ │ │ │ │ * x1, y1, x2, y2 - Upper left and lower right points of the rectangle │ │ │ │ │ * color - Color of the rectangle │ │ │ │ │ * rx, ry - The radii of the round │ │ │ │ │ See also: al_draw_rounded_rectangle, al_draw_filled_rectangle │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads.c │ │ │ │ │ - * ex_video.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_calculate_arc ***** │ │ │ │ │ void al_calculate_arc(float* dest, int stride, float cx, float cy, │ │ │ │ │ │ │ │ │ │ - int num_points) │ │ │ │ │ - │ │ │ │ │ -void al_calculate_arc(float* dest, int stride, float cx, float cy, │ │ │ │ │ - │ │ │ │ │ float rx, float ry, float start_theta, float delta_theta, float thickness, │ │ │ │ │ │ │ │ │ │ int num_points) │ │ │ │ │ Source_Code │ │ │ │ │ When thickness <= 0 this function computes positions of num_points regularly │ │ │ │ │ spaced points on an elliptical arc. When thickness > 0 this function computes │ │ │ │ │ two sets of points, obtained as follows: the first set is obtained by taking │ │ │ │ │ @@ -443,188 +375,130 @@ │ │ │ │ │ * start_theta - The initial angle from which the arc is calculated in │ │ │ │ │ radians │ │ │ │ │ * delta_theta - Angular span of the arc in radians (pass a negative number │ │ │ │ │ to switch direction) │ │ │ │ │ * thickness - Thickness of the arc │ │ │ │ │ * num_points - The number of points to calculate │ │ │ │ │ See also: al_draw_arc, al_calculate_spline, al_calculate_ribbon │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_vertex_buffer.c │ │ │ │ │ ***** al_draw_pieslice ***** │ │ │ │ │ void al_draw_pieslice(float cx, float cy, float r, float start_theta, │ │ │ │ │ │ │ │ │ │ float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ - │ │ │ │ │ -void al_draw_pieslice(float cx, float cy, float r, float start_theta, │ │ │ │ │ - │ │ │ │ │ - float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a pieslice (outlined circular sector). │ │ │ │ │ Parameters: │ │ │ │ │ * cx, cy - Center of the pieslice │ │ │ │ │ * r - Radius of the pieslice │ │ │ │ │ * color - Color of the pieslice │ │ │ │ │ * start_theta - The initial angle from which the pieslice is drawn in │ │ │ │ │ radians │ │ │ │ │ * delta_theta - Angular span of the pieslice in radians (pass a negative │ │ │ │ │ number to switch direction) │ │ │ │ │ * thickness - Thickness of the circle, pass <= 0 to draw hairline pieslice │ │ │ │ │ Since: 5.0.6, 5.1.0 │ │ │ │ │ See also: al_draw_filled_pieslice │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_draw_filled_pieslice ***** │ │ │ │ │ void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta, │ │ │ │ │ │ │ │ │ │ float delta_theta, ALLEGRO_COLOR color) │ │ │ │ │ - │ │ │ │ │ -void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta, │ │ │ │ │ - │ │ │ │ │ - float delta_theta, ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a filled pieslice (filled circular sector). │ │ │ │ │ Parameters: │ │ │ │ │ * cx, cy - Center of the pieslice │ │ │ │ │ * r - Radius of the pieslice │ │ │ │ │ * color - Color of the pieslice │ │ │ │ │ * start_theta - The initial angle from which the pieslice is drawn in │ │ │ │ │ radians │ │ │ │ │ * delta_theta - Angular span of the pieslice in radians (pass a negative │ │ │ │ │ number to switch direction) │ │ │ │ │ Since: 5.0.6, 5.1.0 │ │ │ │ │ See also: al_draw_pieslice │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_draw_ellipse ***** │ │ │ │ │ void al_draw_ellipse(float cx, float cy, float rx, float ry, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color, float thickness) │ │ │ │ │ - │ │ │ │ │ -void al_draw_ellipse(float cx, float cy, float rx, float ry, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color, float thickness) │ │ │ │ │ Source_Code │ │ │ │ │ Draws an outlined ellipse. │ │ │ │ │ Parameters: │ │ │ │ │ * cx, cy - Center of the ellipse │ │ │ │ │ * rx, ry - Radii of the ellipse │ │ │ │ │ * color - Color of the ellipse │ │ │ │ │ * thickness - Thickness of the ellipse, pass <= 0 to draw a hairline │ │ │ │ │ ellipse │ │ │ │ │ See also: al_draw_filled_ellipse, al_draw_circle │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_draw.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_draw_filled_ellipse ***** │ │ │ │ │ void al_draw_filled_ellipse(float cx, float cy, float rx, float ry, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color) │ │ │ │ │ - │ │ │ │ │ -void al_draw_filled_ellipse(float cx, float cy, float rx, float ry, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a filled ellipse. │ │ │ │ │ Parameters: │ │ │ │ │ * cx, cy - Center of the ellipse │ │ │ │ │ * rx, ry - Radii of the ellipse │ │ │ │ │ * color - Color of the ellipse │ │ │ │ │ See also: al_draw_ellipse, al_draw_filled_circle │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_draw.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_draw_circle ***** │ │ │ │ │ void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color, │ │ │ │ │ │ │ │ │ │ float thickness) │ │ │ │ │ - │ │ │ │ │ -void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color, │ │ │ │ │ - │ │ │ │ │ - float thickness) │ │ │ │ │ Source_Code │ │ │ │ │ Draws an outlined circle. │ │ │ │ │ Parameters: │ │ │ │ │ * cx, cy - Center of the circle │ │ │ │ │ * r - Radius of the circle │ │ │ │ │ * color - Color of the circle │ │ │ │ │ * thickness - Thickness of the circle, pass <= 0 to draw a hairline circle │ │ │ │ │ See also: al_draw_filled_circle, al_draw_ellipse │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_touch_input.c │ │ │ │ │ - * ex_transform.c │ │ │ │ │ ***** al_draw_filled_circle ***** │ │ │ │ │ void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color) │ │ │ │ │ - │ │ │ │ │ -void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a filled circle. │ │ │ │ │ Parameters: │ │ │ │ │ * cx, cy - Center of the circle │ │ │ │ │ * r - Radius of the circle │ │ │ │ │ * color - Color of the circle │ │ │ │ │ See also: al_draw_circle, al_draw_filled_ellipse │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_enet_client.c │ │ │ │ │ - * ex_joystick_hotplugging.c │ │ │ │ │ - * ex_blend2.cpp │ │ │ │ │ ***** al_draw_arc ***** │ │ │ │ │ void al_draw_arc(float cx, float cy, float r, float start_theta, │ │ │ │ │ │ │ │ │ │ float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ - │ │ │ │ │ -void al_draw_arc(float cx, float cy, float r, float start_theta, │ │ │ │ │ - │ │ │ │ │ - float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ Source_Code │ │ │ │ │ Draws an arc. │ │ │ │ │ Parameters: │ │ │ │ │ * cx, cy - Center of the arc │ │ │ │ │ * r - Radius of the arc │ │ │ │ │ * color - Color of the arc │ │ │ │ │ * start_theta - The initial angle from which the arc is calculated in │ │ │ │ │ radians │ │ │ │ │ * delta_theta - Angular span of the arc in radians (pass a negative number │ │ │ │ │ to switch direction) │ │ │ │ │ * thickness - Thickness of the arc, pass <= 0 to draw hairline arc │ │ │ │ │ See also: al_calculate_arc, al_draw_elliptical_arc │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_draw_elliptical_arc ***** │ │ │ │ │ void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float │ │ │ │ │ start_theta, │ │ │ │ │ │ │ │ │ │ float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ - │ │ │ │ │ -void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float │ │ │ │ │ -start_theta, │ │ │ │ │ - │ │ │ │ │ - float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ Source_Code │ │ │ │ │ Draws an elliptical arc. │ │ │ │ │ Parameters: │ │ │ │ │ * cx, cy - Center of the arc │ │ │ │ │ * rx, ry - Radii of the arc │ │ │ │ │ * color - Color of the arc │ │ │ │ │ * start_theta - The initial angle from which the arc is calculated in │ │ │ │ │ radians │ │ │ │ │ * delta_theta - Angular span of the arc in radians (pass a negative number │ │ │ │ │ to switch direction) │ │ │ │ │ * thickness - Thickness of the arc, pass <= 0 to draw hairline arc │ │ │ │ │ Since: 5.0.6, 5.1.0 │ │ │ │ │ See also: al_calculate_arc, al_draw_arc │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_calculate_spline ***** │ │ │ │ │ void al_calculate_spline(float* dest, int stride, const float points[8], │ │ │ │ │ │ │ │ │ │ float thickness, int num_segments) │ │ │ │ │ - │ │ │ │ │ -void al_calculate_spline(float* dest, int stride, const float points[8], │ │ │ │ │ - │ │ │ │ │ - float thickness, int num_segments) │ │ │ │ │ Source_Code │ │ │ │ │ Calculates a Bézier spline given 4 control points. If thickness <= 0, then num_ │ │ │ │ │ segments of points are required in the destination, otherwise twice as many are │ │ │ │ │ needed. The destination buffer should consist of regularly spaced (by distance │ │ │ │ │ of stride bytes) doublets of floats, corresponding to x and y coordinates of │ │ │ │ │ the vertices. │ │ │ │ │ Parameters: │ │ │ │ │ @@ -634,34 +508,25 @@ │ │ │ │ │ * points - An array of 4 pairs of coordinates of the 4 control points │ │ │ │ │ * thickness - Thickness of the spline ribbon │ │ │ │ │ * num_segments - The number of points to calculate │ │ │ │ │ See also: al_draw_spline, al_calculate_arc, al_calculate_ribbon │ │ │ │ │ ***** al_draw_spline ***** │ │ │ │ │ void al_draw_spline(const float points[8], ALLEGRO_COLOR color, float │ │ │ │ │ thickness) │ │ │ │ │ - │ │ │ │ │ -void al_draw_spline(const float points[8], ALLEGRO_COLOR color, float │ │ │ │ │ -thickness) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a Bézier spline given 4 control points. │ │ │ │ │ Parameters: │ │ │ │ │ * points - An array of 4 pairs of coordinates of the 4 control points │ │ │ │ │ * color - Color of the spline │ │ │ │ │ * thickness - Thickness of the spline, pass <= 0 to draw a hairline spline │ │ │ │ │ See also: al_calculate_spline │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_calculate_ribbon ***** │ │ │ │ │ void al_calculate_ribbon(float* dest, int dest_stride, const float *points, │ │ │ │ │ │ │ │ │ │ int points_stride, float thickness, int num_segments) │ │ │ │ │ - │ │ │ │ │ -void al_calculate_ribbon(float* dest, int dest_stride, const float *points, │ │ │ │ │ - │ │ │ │ │ - int points_stride, float thickness, int num_segments) │ │ │ │ │ Source_Code │ │ │ │ │ Calculates a ribbon given an array of points. The ribbon will go through all of │ │ │ │ │ the passed points. If thickness <= 0, then num_segments of points are required │ │ │ │ │ in the destination buffer, otherwise twice as many are needed. The destination │ │ │ │ │ and the points buffer should consist of regularly spaced doublets of floats, │ │ │ │ │ corresponding to x and y coordinates of the vertices. │ │ │ │ │ Parameters: │ │ │ │ │ @@ -675,19 +540,14 @@ │ │ │ │ │ * num_segments - The number of points to calculate │ │ │ │ │ See also: al_draw_ribbon, al_calculate_arc, al_calculate_spline │ │ │ │ │ ***** al_draw_ribbon ***** │ │ │ │ │ void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR │ │ │ │ │ color, │ │ │ │ │ │ │ │ │ │ float thickness, int num_segments) │ │ │ │ │ - │ │ │ │ │ -void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR │ │ │ │ │ -color, │ │ │ │ │ - │ │ │ │ │ - float thickness, int num_segments) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a ribbon given an array of points. The ribbon will go through all of the │ │ │ │ │ passed points. The points buffer should consist of regularly spaced doublets of │ │ │ │ │ floats, corresponding to x and y coordinates of the vertices. │ │ │ │ │ Parameters: │ │ │ │ │ * points - An array of coordinate pairs (x and y) for each point │ │ │ │ │ * points_stride - Distance (in bytes) between starts of successive pairs of │ │ │ │ │ @@ -718,18 +578,14 @@ │ │ │ │ │ you need precise pixel control. E.g. to refer to pixel (5, 10) you’d set the u │ │ │ │ │ and v to 5.5 and 10.5 respectively. │ │ │ │ │ See also: Pixel-precise_output │ │ │ │ │ ***** al_draw_prim ***** │ │ │ │ │ int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl, │ │ │ │ │ │ │ │ │ │ ALLEGRO_BITMAP* texture, int start, int end, int type) │ │ │ │ │ - │ │ │ │ │ -int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_BITMAP* texture, int start, int end, int type) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a subset of the passed vertex array. │ │ │ │ │ Parameters: │ │ │ │ │ * texture - Texture to use, pass NULL to use only color shaded primitves │ │ │ │ │ * vtxs - Pointer to an array of vertices │ │ │ │ │ * decl - Pointer to a vertex_declaration. If set to NULL, the vertices are │ │ │ │ │ assumed to be of the ALLEGRO_VERTEX type │ │ │ │ │ @@ -748,50 +604,35 @@ │ │ │ │ │ {.x = 0, .y = 256, .z = 0, .color = white, .u = 0, .v = 256}, │ │ │ │ │ │ │ │ │ │ {.x = 256, .y = 256, .z = 0, .color = white, .u = 256, .v = 256}}; │ │ │ │ │ │ │ │ │ │ al_draw_prim(v, NULL, texture, 0, 3, ALLEGRO_PRIM_TRIANGLE_LIST); │ │ │ │ │ See also: ALLEGRO_VERTEX, ALLEGRO_PRIM_TYPE, ALLEGRO_VERTEX_DECL, al_draw_ │ │ │ │ │ indexed_prim │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim_shader.c │ │ │ │ │ - * ex_vertex_buffer.c │ │ │ │ │ - * ex_prim_wrap.c │ │ │ │ │ ***** al_draw_indexed_prim ***** │ │ │ │ │ int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl, │ │ │ │ │ │ │ │ │ │ ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type) │ │ │ │ │ - │ │ │ │ │ -int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a subset of the passed vertex array. This function uses an index array to │ │ │ │ │ specify which vertices to use. │ │ │ │ │ Parameters: │ │ │ │ │ * texture - Texture to use, pass NULL to use only color shaded primitves │ │ │ │ │ * vtxs - Pointer to an array of vertices │ │ │ │ │ * decl - Pointer to a vertex declaration. If set to NULL, the vtxs are │ │ │ │ │ assumed to be of the ALLEGRO_VERTEX type │ │ │ │ │ * indices - An array of indices into the vertex array │ │ │ │ │ * num_vtx - Number of indices from the indices array you want to draw │ │ │ │ │ * type - A member of the ALLEGRO_PRIM_TYPE enumeration, specifying what │ │ │ │ │ kind of primitive to draw │ │ │ │ │ Returns: Number of primitives drawn │ │ │ │ │ See also: ALLEGRO_VERTEX, ALLEGRO_PRIM_TYPE, ALLEGRO_VERTEX_DECL, al_draw_prim │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_projection2.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_draw_vertex_buffer ***** │ │ │ │ │ int al_draw_vertex_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer, │ │ │ │ │ │ │ │ │ │ - ALLEGRO_BITMAP* texture, int sta) │ │ │ │ │ - │ │ │ │ │ -int al_draw_vertex_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer, │ │ │ │ │ - │ │ │ │ │ ALLEGRO_BITMAP* texture, int start, int end, int type) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a subset of the passed vertex buffer. The vertex buffer must not be │ │ │ │ │ locked. Additionally, to draw onto memory bitmaps or with memory bitmap │ │ │ │ │ textures the vertex buffer must support reading (i.e. it must be created with │ │ │ │ │ the ALLEGRO_PRIM_BUFFER_READWRITE). │ │ │ │ │ Parameters: │ │ │ │ │ @@ -800,29 +641,20 @@ │ │ │ │ │ * start - Start index of the subset of the vertex buffer to draw │ │ │ │ │ * end - One past the last index of the subset of the vertex buffer to draw │ │ │ │ │ * type - A member of the ALLEGRO_PRIM_TYPE enumeration, specifying what │ │ │ │ │ kind of primitive to draw │ │ │ │ │ Returns: Number of primitives drawn │ │ │ │ │ Since: 5.1.3 │ │ │ │ │ See also: ALLEGRO_VERTEX_BUFFER, ALLEGRO_PRIM_TYPE │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_vertex_buffer.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_draw_indexed_buffer ***** │ │ │ │ │ int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer, │ │ │ │ │ │ │ │ │ │ ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer, │ │ │ │ │ │ │ │ │ │ int start, int end, int type) │ │ │ │ │ - │ │ │ │ │ -int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer, │ │ │ │ │ - │ │ │ │ │ - int start, int end, int type) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a subset of the passed vertex buffer. This function uses an index buffer │ │ │ │ │ to specify which vertices to use. Both buffers must not be locked. │ │ │ │ │ Additionally, to draw onto memory bitmaps or with memory bitmap textures both │ │ │ │ │ buffers must support reading (i.e. they must be created with the ALLEGRO_PRIM_ │ │ │ │ │ BUFFER_READWRITE). │ │ │ │ │ Parameters: │ │ │ │ │ @@ -833,40 +665,26 @@ │ │ │ │ │ * end - One past the last index of the subset of the index buffer to draw │ │ │ │ │ * type - A member of the ALLEGRO_PRIM_TYPE enumeration, specifying what │ │ │ │ │ kind of primitive to draw. Note that ALLEGRO_PRIM_LINE_LOOP and ALLEGRO_ │ │ │ │ │ PRIM_POINT_LIST are not supported. │ │ │ │ │ Returns: Number of primitives drawn │ │ │ │ │ Since: 5.1.8 │ │ │ │ │ See also: ALLEGRO_VERTEX_BUFFER, ALLEGRO_INDEX_BUFFER, ALLEGRO_PRIM_TYPE │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_draw_soft_triangle ***** │ │ │ │ │ void al_draw_soft_triangle( │ │ │ │ │ │ │ │ │ │ ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, ALLEGRO_VERTEX* v3, uintptr_t state, │ │ │ │ │ │ │ │ │ │ void (*init)(uintptr_t, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*), │ │ │ │ │ │ │ │ │ │ void (*first)(uintptr_t, int, int, int, int), │ │ │ │ │ │ │ │ │ │ void (*step)(uintptr_t, int), │ │ │ │ │ │ │ │ │ │ void (*draw)(uintptr_t, int, int, int)) │ │ │ │ │ - │ │ │ │ │ -void al_draw_soft_triangle( │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, ALLEGRO_VERTEX* v3, uintptr_t state, │ │ │ │ │ - │ │ │ │ │ - void (*init)(uintptr_t, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*), │ │ │ │ │ - │ │ │ │ │ - void (*first)(uintptr_t, int, int, int, int), │ │ │ │ │ - │ │ │ │ │ - void (*step)(uintptr_t, int), │ │ │ │ │ - │ │ │ │ │ - void (*draw)(uintptr_t, int, int, int)) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a triangle using the software rasterizer and user supplied pixel │ │ │ │ │ functions. For help in understanding what these functions do, see the │ │ │ │ │ implementation of the various shading routines in addons/primitives/tri_soft.c. │ │ │ │ │ The triangle is drawn in two segments, from top to bottom. The segments are │ │ │ │ │ deliniated by the vertically middle vertex of the triangle. One of the two │ │ │ │ │ segments may be absent if two vertices are horizontally collinear. │ │ │ │ │ @@ -895,22 +713,14 @@ │ │ │ │ │ void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state, │ │ │ │ │ │ │ │ │ │ void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*), │ │ │ │ │ │ │ │ │ │ void (*step)(uintptr_t, int), │ │ │ │ │ │ │ │ │ │ void (*draw)(uintptr_t, int, int)) │ │ │ │ │ - │ │ │ │ │ -void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state, │ │ │ │ │ - │ │ │ │ │ - void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*), │ │ │ │ │ - │ │ │ │ │ - void (*step)(uintptr_t, int), │ │ │ │ │ - │ │ │ │ │ - void (*draw)(uintptr_t, int, int)) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a line using the software rasterizer and user supplied pixel functions. │ │ │ │ │ For help in understanding what these functions do, see the implementation of │ │ │ │ │ the various shading routines in addons/primitives/line_soft.c. The line is │ │ │ │ │ drawn top to bottom. │ │ │ │ │ Parameters: │ │ │ │ │ * v1, v2 - The two vertices of the line │ │ │ │ │ @@ -927,47 +737,33 @@ │ │ │ │ │ * draw - Called once per pixel. The function is expected to draw the pixel │ │ │ │ │ at the coordinates passed to it. │ │ │ │ │ See also: al_draw_line │ │ │ │ │ ****** Custom vertex declaration routines ****** │ │ │ │ │ ***** al_create_vertex_decl ***** │ │ │ │ │ ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* │ │ │ │ │ elements, int stride) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* │ │ │ │ │ -elements, int stride) │ │ │ │ │ Source_Code │ │ │ │ │ Creates a vertex declaration, which describes a custom vertex format. │ │ │ │ │ Parameters: │ │ │ │ │ * elements - An array of ALLEGRO_VERTEX_ELEMENT structures. │ │ │ │ │ * stride - Size of the custom vertex structure │ │ │ │ │ Returns: Newly created vertex declaration. │ │ │ │ │ See also: ALLEGRO_VERTEX_ELEMENT, ALLEGRO_VERTEX_DECL, al_destroy_vertex_decl │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim_shader.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_destroy_vertex_decl ***** │ │ │ │ │ void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl) │ │ │ │ │ - │ │ │ │ │ -void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl) │ │ │ │ │ Source_Code │ │ │ │ │ Destroys a vertex declaration. │ │ │ │ │ Parameters: │ │ │ │ │ * decl - Vertex declaration to destroy │ │ │ │ │ See also: ALLEGRO_VERTEX_ELEMENT, ALLEGRO_VERTEX_DECL, al_create_vertex_decl │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim_shader.c │ │ │ │ │ ****** Vertex buffer routines ****** │ │ │ │ │ ***** al_create_vertex_buffer ***** │ │ │ │ │ ALLEGRO_VERTEX_BUFFER* al_create_vertex_buffer(ALLEGRO_VERTEX_DECL* decl, │ │ │ │ │ │ │ │ │ │ const void* initial_data, int num_vertices, int flags) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_VERTEX_BUFFER* al_create_vertex_buffer(ALLEGRO_VERTEX_DECL* decl, │ │ │ │ │ - │ │ │ │ │ - const void* initial_data, int num_vertices, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Creates a vertex buffer. Can return NULL if the buffer could not be created │ │ │ │ │ (e.g. the system only supports write-only buffers). │ │ │ │ │ Note: │ │ │ │ │ This is an advanced feature, often unsupported on lower-end video │ │ │ │ │ cards. Be extra mindful of this function failing and make │ │ │ │ │ arrangements for fallback drawing functionality or a nice error │ │ │ │ │ @@ -979,79 +775,53 @@ │ │ │ │ │ buffer. Can be NULL, in which case the buffer is uninitialized. │ │ │ │ │ * num_vertices - Number of vertices the buffer will hold │ │ │ │ │ * flags - A combination of the ALLEGRO_PRIM_BUFFER_FLAGS flags specifying │ │ │ │ │ how this buffer will be created. Passing 0 is the same as passing │ │ │ │ │ ALLEGRO_PRIM_BUFFER_STATIC. │ │ │ │ │ Since: 5.1.3 │ │ │ │ │ See also: ALLEGRO_VERTEX_BUFFER, al_destroy_vertex_buffer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_vertex_buffer.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_destroy_vertex_buffer ***** │ │ │ │ │ void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer) │ │ │ │ │ - │ │ │ │ │ -void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer) │ │ │ │ │ Source_Code │ │ │ │ │ Destroys a vertex buffer. Does nothing if passed NULL. │ │ │ │ │ Since: 5.1.3 │ │ │ │ │ See also: ALLEGRO_VERTEX_BUFFER, al_create_vertex_buffer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_vertex_buffer.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_lock_vertex_buffer ***** │ │ │ │ │ void* al_lock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer, int offset, │ │ │ │ │ │ │ │ │ │ int length, int flags) │ │ │ │ │ - │ │ │ │ │ -void* al_lock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer, int offset, │ │ │ │ │ - │ │ │ │ │ - int length, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Locks a vertex buffer so you can access its data. Will return NULL if the │ │ │ │ │ parameters are invalid, if reading is requested from a write only buffer, or if │ │ │ │ │ the buffer is already locked. │ │ │ │ │ Parameters: │ │ │ │ │ * buffer - Vertex buffer to lock │ │ │ │ │ * offset - Vertex index of the start of the locked range │ │ │ │ │ * length - How many vertices to lock │ │ │ │ │ * flags - ALLEGRO_LOCK_READONLY, ALLEGRO_LOCK_WRITEONLY or ALLEGRO_LOCK_ │ │ │ │ │ READWRITE │ │ │ │ │ Since: 5.1.3 │ │ │ │ │ See also: ALLEGRO_VERTEX_BUFFER, al_unlock_vertex_buffer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_vertex_buffer.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_unlock_vertex_buffer ***** │ │ │ │ │ void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer) │ │ │ │ │ - │ │ │ │ │ -void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer) │ │ │ │ │ Source_Code │ │ │ │ │ Unlocks a previously locked vertex buffer. │ │ │ │ │ Since: 5.1.3 │ │ │ │ │ See also: ALLEGRO_VERTEX_BUFFER, al_lock_vertex_buffer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_vertex_buffer.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_get_vertex_buffer_size ***** │ │ │ │ │ int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer) │ │ │ │ │ - │ │ │ │ │ -int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the size of the vertex buffer │ │ │ │ │ Since: 5.1.8 │ │ │ │ │ See also: ALLEGRO_VERTEX_BUFFER │ │ │ │ │ ****** Index buffer routines ****** │ │ │ │ │ ***** al_create_index_buffer ***** │ │ │ │ │ ALLEGRO_INDEX_BUFFER* al_create_index_buffer(int index_size, │ │ │ │ │ │ │ │ │ │ const void* initial_data, int num_indices, int flags) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_INDEX_BUFFER* al_create_index_buffer(int index_size, │ │ │ │ │ - │ │ │ │ │ - const void* initial_data, int num_indices, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Creates a index buffer. Can return NULL if the buffer could not be created │ │ │ │ │ (e.g. the system only supports write-only buffers). │ │ │ │ │ Note: │ │ │ │ │ This is an advanced feature, often unsupported on lower-end video │ │ │ │ │ cards. Be extra mindful of this function failing and make │ │ │ │ │ arrangements for fallback drawing functionality or a nice error │ │ │ │ │ @@ -1063,79 +833,55 @@ │ │ │ │ │ Can be NULL, in which case the buffer is uninitialized. │ │ │ │ │ * num_indices - Number of indices the buffer will hold │ │ │ │ │ * flags - A combination of the ALLEGRO_PRIM_BUFFER_FLAGS flags specifying │ │ │ │ │ how this buffer will be created. Passing 0 is the same as passing │ │ │ │ │ ALLEGRO_PRIM_BUFFER_STATIC. │ │ │ │ │ Since: 5.1.8 │ │ │ │ │ See also: ALLEGRO_INDEX_BUFFER, al_destroy_index_buffer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_destroy_index_buffer ***** │ │ │ │ │ void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer) │ │ │ │ │ - │ │ │ │ │ -void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer) │ │ │ │ │ Source_Code │ │ │ │ │ Destroys a index buffer. Does nothing if passed NULL. │ │ │ │ │ Since: 5.1.8 │ │ │ │ │ See also: ALLEGRO_INDEX_BUFFER, al_create_index_buffer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_lock_index_buffer ***** │ │ │ │ │ void* al_lock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer, int offset, │ │ │ │ │ │ │ │ │ │ int length, int flags) │ │ │ │ │ - │ │ │ │ │ -void* al_lock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer, int offset, │ │ │ │ │ - │ │ │ │ │ - int length, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Locks a index buffer so you can access its data. Will return NULL if the │ │ │ │ │ parameters are invalid, if reading is requested from a write only buffer and if │ │ │ │ │ the buffer is already locked. │ │ │ │ │ Parameters: │ │ │ │ │ * buffer - Index buffer to lock │ │ │ │ │ * offset - Element index of the start of the locked range │ │ │ │ │ * length - How many indices to lock │ │ │ │ │ * flags - ALLEGRO_LOCK_READONLY, ALLEGRO_LOCK_WRITEONLY or ALLEGRO_LOCK_ │ │ │ │ │ READWRITE │ │ │ │ │ Since: 5.1.8 │ │ │ │ │ See also: ALLEGRO_INDEX_BUFFER, al_unlock_index_buffer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_unlock_index_buffer ***** │ │ │ │ │ void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer) │ │ │ │ │ - │ │ │ │ │ -void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer) │ │ │ │ │ Source_Code │ │ │ │ │ Unlocks a previously locked index buffer. │ │ │ │ │ Since: 5.1.8 │ │ │ │ │ See also: ALLEGRO_INDEX_BUFFER, al_lock_index_buffer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** al_get_index_buffer_size ***** │ │ │ │ │ int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer) │ │ │ │ │ - │ │ │ │ │ -int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the size of the index buffer │ │ │ │ │ Since: 5.1.8 │ │ │ │ │ See also: ALLEGRO_INDEX_BUFFER │ │ │ │ │ ****** Polygon routines ****** │ │ │ │ │ ***** al_draw_polyline ***** │ │ │ │ │ void al_draw_polyline(const float* vertices, int vertex_stride, │ │ │ │ │ │ │ │ │ │ int vertex_count, int join_style, int cap_style, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color, float thickness, float miter_limit) │ │ │ │ │ - │ │ │ │ │ -void al_draw_polyline(const float* vertices, int vertex_stride, │ │ │ │ │ - │ │ │ │ │ - int vertex_count, int join_style, int cap_style, │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color, float thickness, float miter_limit) │ │ │ │ │ Source_Code │ │ │ │ │ Draw a series of line segments. │ │ │ │ │ * vertices - Interleaved array of (x, y) vertex coordinates │ │ │ │ │ * vertex_stride - the number of bytes between pairs of vertices (the │ │ │ │ │ stride) │ │ │ │ │ * vertex_count - Number of vertices in the array │ │ │ │ │ * join_style - Member of ALLEGRO_LINE_JOIN specifying how to render the │ │ │ │ │ @@ -1166,67 +912,48 @@ │ │ │ │ │ │ │ │ │ │ ALLEGRO_LINE_JOIN_NONE, ALLEGRO_LINE_CAP_NONE, c, 1.0, 1.0); │ │ │ │ │ │ │ │ │ │ } │ │ │ │ │ The stride may also be negative if the vertices are stored in reverse order. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_draw_polygon, ALLEGRO_LINE_JOIN, ALLEGRO_LINE_CAP │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_polygon.c │ │ │ │ │ ***** al_draw_polygon ***** │ │ │ │ │ void al_draw_polygon(const float *vertices, int vertex_count, │ │ │ │ │ │ │ │ │ │ int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit) │ │ │ │ │ - │ │ │ │ │ -void al_draw_polygon(const float *vertices, int vertex_count, │ │ │ │ │ - │ │ │ │ │ - int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit) │ │ │ │ │ Source_Code │ │ │ │ │ Draw an unfilled polygon. This is the same as passing ALLEGRO_LINE_CAP_CLOSED │ │ │ │ │ to al_draw_polyline. │ │ │ │ │ * vertex - Interleaved array of (x, y) vertex coordinates │ │ │ │ │ * vertex_count - Number of vertices in the array │ │ │ │ │ * join_style - Member of ALLEGRO_LINE_JOIN specifying how to render the │ │ │ │ │ joins between line segments │ │ │ │ │ * color - Color of the line │ │ │ │ │ * thickness - Thickness of the line, pass <= 0 to draw hairline lines │ │ │ │ │ * miter_limit - Parameter for miter join style │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_draw_filled_polygon, al_draw_polyline, ALLEGRO_LINE_JOIN │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_polygon.c │ │ │ │ │ ***** al_draw_filled_polygon ***** │ │ │ │ │ -void al_draw_filled_polygon(const float *vertices, int vertex_cou │ │ │ │ │ - │ │ │ │ │ - ALLEGRO_COLOR color) │ │ │ │ │ - │ │ │ │ │ -void al_draw_filled_polygon(const float *vertices, int vertex_court, int end, │ │ │ │ │ -int type) │ │ │ │ │ +void al_draw_filled_polygon(const float *vertices, int vertex_count, │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Draw a filled, simple polygon. Simple means it does not have to be convex but │ │ │ │ │ must not be self-overlapping. │ │ │ │ │ * vertices - Interleaved array of (x, y) vertex coordinates │ │ │ │ │ * vertex_count - Number of vertices in the array │ │ │ │ │ * color - Color of the filled polygon │ │ │ │ │ When the y-axis is facing downwards (the usual), the coordinates must be │ │ │ │ │ ordered anti-clockwise. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_draw_polygon, al_draw_filled_polygon_with_holes │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_polygon.c │ │ │ │ │ ***** al_draw_filled_polygon_with_holes ***** │ │ │ │ │ void al_draw_filled_polygon_with_holes(const float *vertices, │ │ │ │ │ │ │ │ │ │ const int *vertex_counts, ALLEGRO_COLOR color) │ │ │ │ │ - │ │ │ │ │ -void al_draw_filled_polygon_with_holes(const float *vertices, │ │ │ │ │ - │ │ │ │ │ - const int *vertex_counts, ALLEGRO_COLOR color) │ │ │ │ │ Source_Code │ │ │ │ │ Draws a filled simple polygon with zero or more other simple polygons │ │ │ │ │ subtracted from it - the holes. The holes cannot touch or intersect with the │ │ │ │ │ outline of the filled polygon. │ │ │ │ │ * vertices - Interleaved array of (x, y) vertex coordinates for each of the │ │ │ │ │ polygons, including holes. │ │ │ │ │ * vertex_counts - Number of vertices for each polygon. The number of │ │ │ │ │ @@ -1269,28 +996,20 @@ │ │ │ │ │ There are 7 vertices: four for an outer square from (0, 0) to (100, 100) in │ │ │ │ │ anti-clockwise order, and three more for an inner triangle in clockwise order. │ │ │ │ │ The outer main polygon uses vertices 0 to 3 (inclusive) and the hole uses │ │ │ │ │ vertices 4 to 6 (inclusive). │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_draw_filled_polygon, al_draw_filled_polygon_with_holes, al_ │ │ │ │ │ triangulate_polygon │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_polygon.c │ │ │ │ │ ***** al_triangulate_polygon ***** │ │ │ │ │ bool al_triangulate_polygon( │ │ │ │ │ │ │ │ │ │ const float* vertices, size_t vertex_stride, const int* vertex_counts, │ │ │ │ │ │ │ │ │ │ void (*emit_triangle)(int, int, int, void*), void* userdata) │ │ │ │ │ - │ │ │ │ │ -bool al_triangulate_polygon( │ │ │ │ │ - │ │ │ │ │ - const float* vertices, size_t vertex_stride, const int* vertex_counts, │ │ │ │ │ - │ │ │ │ │ - void (*emit_triangle)(int, int, int, void*), void* userdata) │ │ │ │ │ Source_Code │ │ │ │ │ Divides a simple polygon into triangles, with zero or more other simple │ │ │ │ │ polygons subtracted from it - the holes. The holes cannot touch or intersect │ │ │ │ │ with the outline of the main polygon. Simple means the polygon does not have to │ │ │ │ │ be convex but must not be self-overlapping. │ │ │ │ │ Parameters: │ │ │ │ │ * vertices - Interleaved array of (x, y) vertex coordinates for each of the │ │ │ │ │ @@ -1306,48 +1025,35 @@ │ │ │ │ │ vertices and userdata. │ │ │ │ │ * userdata - arbitrary data to be passed to emit_triangle. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_draw_filled_polygon_with_holes │ │ │ │ │ ****** Structures and types ****** │ │ │ │ │ ***** ALLEGRO_VERTEX ***** │ │ │ │ │ typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX; │ │ │ │ │ Source_Code │ │ │ │ │ Defines the generic vertex type, with a 3D position, color and texture │ │ │ │ │ coordinates for a single texture. Note that at this time, the software driver │ │ │ │ │ for this addon cannot render 3D primitives. If you want a 2D only primitive, │ │ │ │ │ set z to 0. Note that you must initialize all members of this struct when │ │ │ │ │ you’re using it. One exception to this rule are the u and v variables which can │ │ │ │ │ be left uninitialized when you are not using textures. │ │ │ │ │ Fields: │ │ │ │ │ * x, y, z - Position of the vertex (float) │ │ │ │ │ * u, v - Texture coordinates measured in pixels (float) │ │ │ │ │ * color - ALLEGRO_COLOR structure, storing the color of the vertex │ │ │ │ │ See also: ALLEGRO_PRIM_ATTR │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_shader_multitex.c │ │ │ │ │ ***** ALLEGRO_VERTEX_DECL ***** │ │ │ │ │ typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL; │ │ │ │ │ Source_Code │ │ │ │ │ A vertex declaration. This opaque structure is responsible for describing the │ │ │ │ │ format and layout of a user defined custom vertex. It is created and destroyed │ │ │ │ │ by specialized functions. │ │ │ │ │ See also: al_create_vertex_decl, al_destroy_vertex_decl, ALLEGRO_VERTEX_ELEMENT │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim_shader.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** ALLEGRO_VERTEX_ELEMENT ***** │ │ │ │ │ typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT; │ │ │ │ │ Source_Code │ │ │ │ │ A small structure describing a certain element of a vertex. E.g. the position │ │ │ │ │ of the vertex, or its color. These structures are used by the al_create_vertex_ │ │ │ │ │ decl function to create the vertex declaration. For that they generally occur │ │ │ │ │ in an array. The last element of such an array should have the attribute field │ │ │ │ │ equal to 0, to signify that it is the end of the array. Here is an example code │ │ │ │ │ that would create a declaration describing the ALLEGRO_VERTEX structure │ │ │ │ │ @@ -1379,21 +1085,16 @@ │ │ │ │ │ what this attribute signifies │ │ │ │ │ * storage - A member of the ALLEGRO_PRIM_STORAGE enumeration, specifying │ │ │ │ │ how this attribute is stored │ │ │ │ │ * offset - Offset in bytes from the beginning of the custom vertex │ │ │ │ │ structure. The C function offsetof is very useful here. │ │ │ │ │ See also: al_create_vertex_decl, ALLEGRO_VERTEX_DECL, ALLEGRO_PRIM_ATTR, │ │ │ │ │ ALLEGRO_PRIM_STORAGE │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim_shader.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** ALLEGRO_PRIM_TYPE ***** │ │ │ │ │ typedef enum ALLEGRO_PRIM_TYPE │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_PRIM_TYPE │ │ │ │ │ Source_Code │ │ │ │ │ Enumerates the types of primitives this addon can draw. │ │ │ │ │ * ALLEGRO_PRIM_POINT_LIST - A list of points, each vertex defines a point │ │ │ │ │ * ALLEGRO_PRIM_LINE_LIST - A list of lines, sequential pairs of vertices │ │ │ │ │ define disjointed lines │ │ │ │ │ * ALLEGRO_PRIM_LINE_STRIP - A strip of lines, sequential vertices define a │ │ │ │ │ strip of lines │ │ │ │ │ @@ -1403,16 +1104,14 @@ │ │ │ │ │ vertices define disjointed triangles │ │ │ │ │ * ALLEGRO_PRIM_TRIANGLE_STRIP - A strip of triangles, sequential vertices │ │ │ │ │ define a strip of triangles │ │ │ │ │ * ALLEGRO_PRIM_TRIANGLE_FAN - A fan of triangles, all triangles share the │ │ │ │ │ first vertex │ │ │ │ │ ***** ALLEGRO_PRIM_ATTR ***** │ │ │ │ │ typedef enum ALLEGRO_PRIM_ATTR │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_PRIM_ATTR │ │ │ │ │ Source_Code │ │ │ │ │ Enumerates the types of vertex attributes that a custom vertex may have. │ │ │ │ │ * ALLEGRO_PRIM_POSITION - Position information, can be stored only in │ │ │ │ │ ALLEGRO_PRIM_SHORT_2, ALLEGRO_PRIM_FLOAT_2 and ALLEGRO_PRIM_FLOAT_3. │ │ │ │ │ * ALLEGRO_PRIM_COLOR_ATTR - Color information, stored in an ALLEGRO_COLOR. │ │ │ │ │ The storage field of ALLEGRO_VERTEX_ELEMENT is ignored │ │ │ │ │ * ALLEGRO_PRIM_TEX_COORD - Texture coordinate information, can be stored │ │ │ │ │ @@ -1460,16 +1159,14 @@ │ │ │ │ │ parameter with the following semantics: TEXCOORD{# + 2} where # is the │ │ │ │ │ index of the attribute. E.g. the first attribute can be accessed via │ │ │ │ │ TEXCOORD2, second via TEXCOORD3 and so on. │ │ │ │ │ Since: 5.1.6 │ │ │ │ │ See also: ALLEGRO_VERTEX_DECL, ALLEGRO_PRIM_STORAGE, al_attach_shader_source │ │ │ │ │ ***** ALLEGRO_PRIM_STORAGE ***** │ │ │ │ │ typedef enum ALLEGRO_PRIM_STORAGE │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_PRIM_STORAGE │ │ │ │ │ Source_Code │ │ │ │ │ Enumerates the types of storage an attribute of a custom vertex may be stored │ │ │ │ │ in. Many of these can only be used for ALLEGRO_PRIM_USER_ATTR attributes and │ │ │ │ │ can only be accessed via shaders. Usually no matter what the storage is │ │ │ │ │ specified the attribute gets converted to single precision floating point when │ │ │ │ │ the shader is run. Despite that, it may be advantageous to use more dense │ │ │ │ │ storage formats (e.g. ALLEGRO_PRIM_NORMALIZED_UBYTE_4 instead of ALLEGRO_PRIM_ │ │ │ │ │ @@ -1513,95 +1210,72 @@ │ │ │ │ │ * ALLEGRO_PRIM_HALF_FLOAT_4 - A quad of half-precision floats. Note that │ │ │ │ │ this storage format is not supported on all platforms. al_create_vertex_ │ │ │ │ │ decl will return NULL if you use it on those platforms. │ │ │ │ │ Since: 5.1.6 │ │ │ │ │ See also: ALLEGRO_PRIM_ATTR │ │ │ │ │ ***** ALLEGRO_VERTEX_CACHE_SIZE ***** │ │ │ │ │ #define ALLEGRO_VERTEX_CACHE_SIZE 256 │ │ │ │ │ - │ │ │ │ │ -#define ALLEGRO_VERTEX_CACHE_SIZE 256 │ │ │ │ │ Source_Code │ │ │ │ │ Defines the size of the transformation vertex cache for the software renderer. │ │ │ │ │ If you pass less than this many vertices to the primitive rendering functions │ │ │ │ │ you will get a speed boost. This also defines the size of the cache vertex │ │ │ │ │ buffer, used for the high-level primitives. This corresponds to the maximum │ │ │ │ │ number of line segments that will be used to form them. │ │ │ │ │ ***** ALLEGRO_PRIM_QUALITY ***** │ │ │ │ │ #define ALLEGRO_PRIM_QUALITY 10 │ │ │ │ │ - │ │ │ │ │ -#define ALLEGRO_PRIM_QUALITY 10 │ │ │ │ │ Source_Code │ │ │ │ │ Controls the quality of the approximation of curved primitives (e.g. circles). │ │ │ │ │ Curved primitives are drawn by approximating them with a sequence of line │ │ │ │ │ segments. By default, this roughly corresponds to error of less than half of a │ │ │ │ │ pixel. │ │ │ │ │ ***** ALLEGRO_LINE_JOIN ***** │ │ │ │ │ typedef enum ALLEGRO_LINE_JOIN │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_LINE_JOIN │ │ │ │ │ Source_Code │ │ │ │ │ * ALLEGRO_LINE_JOIN_NONE │ │ │ │ │ * ALLEGRO_LINE_JOIN_BEVEL │ │ │ │ │ * ALLEGRO_LINE_JOIN_ROUND │ │ │ │ │ * ALLEGRO_LINE_JOIN_MITER │ │ │ │ │ [ALLEGRO_LINE_JOIN styles]ALLEGRO_LINE_JOIN styles │ │ │ │ │ See the picture for the difference. │ │ │ │ │ The maximum miter length (relative to the line width) can be specified as │ │ │ │ │ parameter to the polygon functions. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_draw_polygon │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_polygon.c │ │ │ │ │ ***** ALLEGRO_LINE_CAP ***** │ │ │ │ │ typedef enum ALLEGRO_LINE_CAP │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_LINE_CAP │ │ │ │ │ Source_Code │ │ │ │ │ * ALLEGRO_LINE_CAP_NONE │ │ │ │ │ * ALLEGRO_LINE_CAP_SQUARE │ │ │ │ │ * ALLEGRO_LINE_CAP_ROUND │ │ │ │ │ * ALLEGRO_LINE_CAP_TRIANGLE │ │ │ │ │ * ALLEGRO_LINE_CAP_CLOSED │ │ │ │ │ [ALLEGRO_LINE_CAP styles]ALLEGRO_LINE_CAP styles │ │ │ │ │ See the picture for the difference. │ │ │ │ │ ALLEGRO_LINE_CAP_CLOSED is different from the others - it causes the polygon to │ │ │ │ │ have no caps. (And the ALLEGRO_LINE_JOIN style will determine how the vertex │ │ │ │ │ looks.) │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_draw_polygon │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_polygon.c │ │ │ │ │ ***** ALLEGRO_VERTEX_BUFFER ***** │ │ │ │ │ typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER; │ │ │ │ │ Source_Code │ │ │ │ │ A GPU vertex buffer that you can use to store vertices on the GPU instead of │ │ │ │ │ uploading them afresh during every drawing operation. │ │ │ │ │ Since: 5.1.3 │ │ │ │ │ See also: al_create_vertex_buffer, al_destroy_vertex_buffer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_vertex_buffer.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** ALLEGRO_INDEX_BUFFER ***** │ │ │ │ │ typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER; │ │ │ │ │ Source_Code │ │ │ │ │ A GPU index buffer that you can use to store indices of vertices in a vertex │ │ │ │ │ buffer on the GPU instead of uploading them afresh during every drawing │ │ │ │ │ operation. │ │ │ │ │ Since: 5.1.8 │ │ │ │ │ See also: al_create_index_buffer, al_destroy_index_buffer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ***** ALLEGRO_PRIM_BUFFER_FLAGS ***** │ │ │ │ │ typedef enum ALLEGRO_PRIM_BUFFER_FLAGS │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_PRIM_BUFFER_FLAGS │ │ │ │ │ Source_Code │ │ │ │ │ Flags to specify how to create a vertex or an index buffer. │ │ │ │ │ * ALLEGRO_PRIM_BUFFER_STREAM - Hints to the driver that the buffer is │ │ │ │ │ written to often, but used only a few times per frame │ │ │ │ │ * ALLEGRO_PRIM_BUFFER_STATIC - Hints to the driver that the buffer is │ │ │ │ │ written to once and is used often │ │ │ │ │ * ALLEGRO_PRIM_BUFFER_DYNAMIC - Hints to the driver that the buffer is │ │ │ │ │ @@ -1609,8 +1283,7 @@ │ │ │ │ │ * ALLEGRO_PRIM_BUFFER_READWRITE - Specifies that you want to be able read │ │ │ │ │ from this buffer. By default this is disabled for performance. Some │ │ │ │ │ platforms (like OpenGL ES) do not support reading from vertex buffers, so │ │ │ │ │ if you pass this flag to al_create_vertex_buffer or al_create_index_ │ │ │ │ │ buffer the call will fail. │ │ │ │ │ Since: 5.1.3 │ │ │ │ │ See also: al_create_vertex_buffer, al_create_index_buffer │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/shader.html │ │ │ │ @@ -214,42 +214,31 @@ │ │ │ │
      • al_get_default_shader_source
      • │ │ │ │
      │ │ │ │ │ │ │ │

      These functions are declared in the main Allegro header file:

      │ │ │ │
       #include <allegro5/allegro.h>
      │ │ │ │

      ALLEGRO_SHADER

      │ │ │ │ -
      typedef struct ALLEGRO_SHADER ALLEGRO_SHADER;
      │ │ │ │ -typedef struct ALLEGRO_SHADER ALLEGRO_SHADER;
      │ │ │ │ +
      typedef struct ALLEGRO_SHADER ALLEGRO_SHADER;
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      An ALLEGRO_SHADER is a │ │ │ │ program that runs on the GPU. It combines both a vertex and a pixel │ │ │ │ shader. (In OpenGL terms, an ALLEGRO_SHADER is actually a │ │ │ │ program which has one or more shaders attached. This │ │ │ │ can be confusing.)

      │ │ │ │

      The source code for the underlying vertex or pixel shader can be │ │ │ │ provided either as GLSL or HLSL, depending on the value of ALLEGRO_SHADER_PLATFORM │ │ │ │ used when creating it.

      │ │ │ │

      Since: 5.1.0

      │ │ │ │ -

      Examples:

      │ │ │ │ - │ │ │ │

      ALLEGRO_SHADER_TYPE

      │ │ │ │ -
      typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE;
      │ │ │ │ -typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE;
      │ │ │ │ +
      typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE;
      │ │ │ │

      Source │ │ │ │ Code

      │ │ │ │

      Used with al_attach_shader_source │ │ │ │ and al_attach_shader_source_file │ │ │ │ @@ -275,16 +264,15 @@ │ │ │ │ one final pixel in the target bitmap is not necessarily composed of only │ │ │ │ a single output but of multiple fragments (for example when │ │ │ │ multi-sampling is being used).

      │ │ │ │ │ │ │ │
    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    ALLEGRO_SHADER_PLATFORM

    │ │ │ │ -
    typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM;
    │ │ │ │ -typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM;
    │ │ │ │ +
    typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    The underlying platform which the ALLEGRO_SHADER is built on top of, │ │ │ │ which dictates the language used to program the shader.

    │ │ │ │
      │ │ │ │ @@ -296,21 +284,14 @@ │ │ │ │ more minimal implementation that may not support alpha testing. │ │ │ │
    • ALLEGRO_SHADER_GLSL_MINIMAL - Minimal GLSL shader.
    • │ │ │ │
    • ALLEGRO_SHADER_HLSL_MINIMAL - Minimal HLSL shader.
    • │ │ │ │
    • ALLEGRO_SHADER_HLSL_SM_3_0 - HLSL shader using shader model │ │ │ │ 3_0.
    • │ │ │ │
    │ │ │ │

    Since: 5.1.0

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_create_shader

    │ │ │ │
    ALLEGRO_SHADER *al_create_shader(ALLEGRO_SHADER_PLATFORM platform)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Create a shader object.

    │ │ │ │

    The platform argument is one of the al_attach_shader_source, │ │ │ │ al_attach_shader_source_file, │ │ │ │ al_build_shader, al_use_shader, al_destroy_shader, al_get_shader_platform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_attach_shader_source

    │ │ │ │
    bool al_attach_shader_source(ALLEGRO_SHADER *shader, ALLEGRO_SHADER_TYPE type,
    │ │ │ │      const char *source)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Attaches the shader’s source code to the shader object and compiles │ │ │ │ @@ -485,23 +457,14 @@ │ │ │ │

    Since: 5.1.0

    │ │ │ │

    See also: al_attach_shader_source_file, │ │ │ │ al_build_shader, al_get_default_shader_source, │ │ │ │ al_get_shader_log, ALLEGRO_PRIM_ATTR

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_attach_shader_source_file

    │ │ │ │
    bool al_attach_shader_source_file(ALLEGRO_SHADER *shader,
    │ │ │ │     ALLEGRO_SHADER_TYPE type, const char *filename)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_get_shader_log.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    See also: al_attach_shader_source, │ │ │ │ al_build_shader, al_get_shader_log

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_build_shader

    │ │ │ │
    bool al_build_shader(ALLEGRO_SHADER *shader)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This is required before the shader can be used with al_use_shader. It should be called │ │ │ │ @@ -542,23 +496,14 @@ │ │ │ │

    Note: If you are using the ALLEGRO_PROGRAMMABLE_PIPELINE │ │ │ │ flag, then you must specify both a pixel and a vertex shader sources for │ │ │ │ anything to be rendered.

    │ │ │ │ │ │ │ │

    Since: 5.1.6

    │ │ │ │

    See also: al_use_shader, al_get_shader_log

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_shader_log

    │ │ │ │
    const char *al_get_shader_log(ALLEGRO_SHADER *shader)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return a read-only string containing the information log for a shader │ │ │ │ program. The log is updated by certain functions, such as This function never returns NULL.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    See also: al_attach_shader_source, │ │ │ │ al_attach_shader_source_file, │ │ │ │ al_build_shader

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_shader_platform

    │ │ │ │
    ALLEGRO_SHADER_PLATFORM al_get_shader_platform(ALLEGRO_SHADER *shader)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the platform the shader was created with (either │ │ │ │ ALLEGRO_SHADER_HLSL or ALLEGRO_SHADER_GLSL).

    │ │ │ │

    Since: 5.1.6

    │ │ │ │

    See also: al_create_shader

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_use_shader

    │ │ │ │
    bool al_use_shader(ALLEGRO_SHADER *shader)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Uses the shader for subsequent drawing operations on the current │ │ │ │ target bitmap. Pass NULL to stop using any shader on the current target │ │ │ │ @@ -619,23 +546,14 @@ │ │ │ │ href="shader.html#al_set_shader_float">al_set_shader_float, al_set_shader_bool, al_set_shader_int_vector, │ │ │ │ al_set_shader_float_vector, │ │ │ │ al_get_current_shader

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_current_shader

    │ │ │ │
    ALLEGRO_SHADER *al_get_current_shader()
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the shader of the target bitmap, or NULL if one isn’t being │ │ │ │ used.

    │ │ │ │ @@ -653,23 +571,14 @@ │ │ │ │

    As a convenience, if the target bitmap of the calling thread is using │ │ │ │ the shader then the shader is implicitly unused before being │ │ │ │ destroyed.

    │ │ │ │

    This function does nothing if the shader argument is NULL.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    See also: al_create_shader

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_shader_sampler

    │ │ │ │
    bool al_set_shader_sampler(const char *name,
    │ │ │ │     ALLEGRO_BITMAP *bitmap, int unit)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets a texture sampler uniform and texture unit of the current target │ │ │ │ @@ -683,23 +592,14 @@ │ │ │ │ drawing functions. In this case, you may set a sampler to use the 0th │ │ │ │ unit and thus not use al_tex (the al_use_tex │ │ │ │ variable will be set to false).

    │ │ │ │

    Returns true on success. Otherwise returns false, e.g. if the uniform │ │ │ │ by that name does not exist in the shader.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    See also: al_use_shader

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_shader_matrix

    │ │ │ │
    bool al_set_shader_matrix(const char *name,
    │ │ │ │     const ALLEGRO_TRANSFORM *matrix)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets a matrix uniform of the current target bitmap’s shader.

    │ │ │ │ @@ -723,23 +623,14 @@ │ │ │ │ href="https://github.com/liballeg/allegro5/blob/master/src/shader.c#L332">Source │ │ │ │ Code

    │ │ │ │

    Sets a float uniform of the target bitmap’s shader.

    │ │ │ │

    Returns true on success. Otherwise returns false, e.g. if the uniform │ │ │ │ by that name does not exist in the shader.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    See also: al_use_shader

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_shader_bool

    │ │ │ │
    bool al_set_shader_bool(const char *name, bool b)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets a boolean uniform of the target bitmap’s shader.

    │ │ │ │

    Returns true on success. Otherwise returns false, e.g. if the uniform │ │ │ │ @@ -785,23 +676,14 @@ │ │ │ │

    Same as al_set_shader_int_vector │ │ │ │ except all values are float instead of int.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    See also: al_set_shader_int_vector, │ │ │ │ al_use_shader

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_default_shader_source

    │ │ │ │
    char const *al_get_default_shader_source(ALLEGRO_SHADER_PLATFORM platform,
    │ │ │ │     ALLEGRO_SHADER_TYPE type)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns a string containing the source code to Allegro’s default │ │ │ │ @@ -810,23 +692,11 @@ │ │ │ │ otherwise HLSL. ALLEGRO_SHADER_AUTO requires that there is a current │ │ │ │ display set on the calling thread. This function can return NULL if │ │ │ │ Allegro was built without support for shaders of the selected │ │ │ │ platform.

    │ │ │ │

    Since: 5.1.6

    │ │ │ │

    See also: al_attach_shader_source

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │ -

    │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

    │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -63,32 +63,24 @@ │ │ │ │ │ * al_set_shader_int_vector │ │ │ │ │ * al_set_shader_float_vector │ │ │ │ │ * al_get_default_shader_source │ │ │ │ │ These functions are declared in the main Allegro header file: │ │ │ │ │ #include │ │ │ │ │ ****** ALLEGRO_SHADER ****** │ │ │ │ │ typedef struct ALLEGRO_SHADER ALLEGRO_SHADER; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_SHADER ALLEGRO_SHADER; │ │ │ │ │ Source_Code │ │ │ │ │ An ALLEGRO_SHADER is a program that runs on the GPU. It combines both a vertex │ │ │ │ │ and a pixel shader. (In OpenGL terms, an ALLEGRO_SHADER is actually a program │ │ │ │ │ which has one or more shaders attached. This can be confusing.) │ │ │ │ │ The source code for the underlying vertex or pixel shader can be provided │ │ │ │ │ either as GLSL or HLSL, depending on the value of ALLEGRO_SHADER_PLATFORM used │ │ │ │ │ when creating it. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_shader_multitex.c │ │ │ │ │ ****** ALLEGRO_SHADER_TYPE ****** │ │ │ │ │ typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE; │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE; │ │ │ │ │ Source_Code │ │ │ │ │ Used with al_attach_shader_source and al_attach_shader_source_file to specify │ │ │ │ │ how to interpret the attached source. │ │ │ │ │ ALLEGRO_VERTEX_SHADER │ │ │ │ │ A vertex shader is executed for each vertex it is used with. The program │ │ │ │ │ will output exactly one vertex at a time. │ │ │ │ │ When Allegro’s graphics are being used then in addition to all vertices │ │ │ │ │ @@ -104,32 +96,27 @@ │ │ │ │ │ A more accurate term for pixel shader would be fragment shader since one │ │ │ │ │ final pixel in the target bitmap is not necessarily composed of only a │ │ │ │ │ single output but of multiple fragments (for example when multi-sampling │ │ │ │ │ is being used). │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ ****** ALLEGRO_SHADER_PLATFORM ****** │ │ │ │ │ typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM; │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM; │ │ │ │ │ Source_Code │ │ │ │ │ The underlying platform which the ALLEGRO_SHADER is built on top of, which │ │ │ │ │ dictates the language used to program the shader. │ │ │ │ │ * ALLEGRO_SHADER_AUTO - Pick a platform automatically given the current │ │ │ │ │ display flags. │ │ │ │ │ * ALLEGRO_SHADER_GLSL - OpenGL Shading Language │ │ │ │ │ * ALLEGRO_SHADER_HLSL - High Level Shader Language (for Direct3D) │ │ │ │ │ * ALLEGRO_SHADER_AUTO_MINIMAL - Like ALLEGRO_SHADER_AUTO, but pick a more │ │ │ │ │ minimal implementation that may not support alpha testing. │ │ │ │ │ * ALLEGRO_SHADER_GLSL_MINIMAL - Minimal GLSL shader. │ │ │ │ │ * ALLEGRO_SHADER_HLSL_MINIMAL - Minimal HLSL shader. │ │ │ │ │ * ALLEGRO_SHADER_HLSL_SM_3_0 - HLSL shader using shader model 3_0. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ ****** al_create_shader ****** │ │ │ │ │ ALLEGRO_SHADER *al_create_shader(ALLEGRO_SHADER_PLATFORM platform) │ │ │ │ │ Source_Code │ │ │ │ │ Create a shader object. │ │ │ │ │ The platform argument is one of the ALLEGRO_SHADER_PLATFORM values, and │ │ │ │ │ specifies the type of shader object to create, and which language is used to │ │ │ │ │ program the shader. │ │ │ │ │ @@ -140,18 +127,14 @@ │ │ │ │ │ for the display currently targeted by the calling thread; there must be such a │ │ │ │ │ display. It will create a GLSL shader for an OpenGL display, and a HLSL shader │ │ │ │ │ for a Direct3D display. │ │ │ │ │ Returns the shader object on success. Otherwise, returns NULL. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_attach_shader_source, al_attach_shader_source_file, al_build_ │ │ │ │ │ shader, al_use_shader, al_destroy_shader, al_get_shader_platform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_shader_multitex.c │ │ │ │ │ ****** al_attach_shader_source ****** │ │ │ │ │ bool al_attach_shader_source(ALLEGRO_SHADER *shader, ALLEGRO_SHADER_TYPE type, │ │ │ │ │ │ │ │ │ │ const char *source) │ │ │ │ │ Source_Code │ │ │ │ │ Attaches the shader’s source code to the shader object and compiles it. Passing │ │ │ │ │ NULL deletes the underlying (OpenGL or DirectX) shader. See also al_attach_ │ │ │ │ │ @@ -231,90 +214,66 @@ │ │ │ │ │ Examine the output of al_get_default_shader_source for an example of how to use │ │ │ │ │ the above uniforms and attributes. │ │ │ │ │ Returns true on success and false on error, in which case the error log is │ │ │ │ │ updated. The error log can be retrieved with al_get_shader_log. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_attach_shader_source_file, al_build_shader, al_get_default_shader_ │ │ │ │ │ source, al_get_shader_log, ALLEGRO_PRIM_ATTR │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_shader_multitex.c │ │ │ │ │ ****** al_attach_shader_source_file ****** │ │ │ │ │ bool al_attach_shader_source_file(ALLEGRO_SHADER *shader, │ │ │ │ │ │ │ │ │ │ ALLEGRO_SHADER_TYPE type, const char *filename) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_attach_shader_source but reads the source code for the shader from the │ │ │ │ │ named file. │ │ │ │ │ Returns true on success and false on error, in which case the error log is │ │ │ │ │ updated. The error log can be retrieved with al_get_shader_log. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_attach_shader_source, al_build_shader, al_get_shader_log │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_shader_multitex.c │ │ │ │ │ ****** al_build_shader ****** │ │ │ │ │ bool al_build_shader(ALLEGRO_SHADER *shader) │ │ │ │ │ Source_Code │ │ │ │ │ This is required before the shader can be used with al_use_shader. It should be │ │ │ │ │ called after successfully attaching the pixel and/or vertex shaders with al_ │ │ │ │ │ attach_shader_source or al_attach_shader_source_file. │ │ │ │ │ Returns true on success and false on error, in which case the error log is │ │ │ │ │ updated. The error log can be retrieved with al_get_shader_log. │ │ │ │ │ Note: If you are using the ALLEGRO_PROGRAMMABLE_PIPELINE flag, then │ │ │ │ │ you must specify both a pixel and a vertex shader sources for │ │ │ │ │ anything to be rendered. │ │ │ │ │ Since: 5.1.6 │ │ │ │ │ See also: al_use_shader, al_get_shader_log │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_shader_multitex.c │ │ │ │ │ ****** al_get_shader_log ****** │ │ │ │ │ const char *al_get_shader_log(ALLEGRO_SHADER *shader) │ │ │ │ │ Source_Code │ │ │ │ │ Return a read-only string containing the information log for a shader program. │ │ │ │ │ The log is updated by certain functions, such as al_attach_shader_source or al_ │ │ │ │ │ build_shader when there is an error. │ │ │ │ │ This function never returns NULL. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_attach_shader_source, al_attach_shader_source_file, al_build_ │ │ │ │ │ shader │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_shader_multitex.c │ │ │ │ │ ****** al_get_shader_platform ****** │ │ │ │ │ ALLEGRO_SHADER_PLATFORM al_get_shader_platform(ALLEGRO_SHADER *shader) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the platform the shader was created with (either ALLEGRO_SHADER_HLSL or │ │ │ │ │ ALLEGRO_SHADER_GLSL). │ │ │ │ │ Since: 5.1.6 │ │ │ │ │ See also: al_create_shader │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_shader_multitex.c │ │ │ │ │ ****** al_use_shader ****** │ │ │ │ │ bool al_use_shader(ALLEGRO_SHADER *shader) │ │ │ │ │ Source_Code │ │ │ │ │ Uses the shader for subsequent drawing operations on the current target bitmap. │ │ │ │ │ Pass NULL to stop using any shader on the current target bitmap. │ │ │ │ │ Returns true on success. Otherwise returns false, e.g. because the shader is │ │ │ │ │ incompatible with the target bitmap. │ │ │ │ │ Since: 5.1.6 │ │ │ │ │ See also: al_destroy_shader, al_set_shader_sampler, al_set_shader_matrix, al_ │ │ │ │ │ set_shader_int, al_set_shader_float, al_set_shader_bool, al_set_shader_int_ │ │ │ │ │ vector, al_set_shader_float_vector, al_get_current_shader │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_shader_multitex.c │ │ │ │ │ ****** al_get_current_shader ****** │ │ │ │ │ ALLEGRO_SHADER *al_get_current_shader() │ │ │ │ │ Source_Code │ │ │ │ │ Return the shader of the target bitmap, or NULL if one isn’t being used. │ │ │ │ │ Since: 5.2.9 │ │ │ │ │ See also: al_use_shader │ │ │ │ │ ****** al_destroy_shader ****** │ │ │ │ │ @@ -324,18 +283,14 @@ │ │ │ │ │ stop using the shader. In multi-threaded programs, be careful that no such │ │ │ │ │ bitmaps are being accessed by other threads at the time. │ │ │ │ │ As a convenience, if the target bitmap of the calling thread is using the │ │ │ │ │ shader then the shader is implicitly unused before being destroyed. │ │ │ │ │ This function does nothing if the shader argument is NULL. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_create_shader │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_shader_multitex.c │ │ │ │ │ ****** al_set_shader_sampler ****** │ │ │ │ │ bool al_set_shader_sampler(const char *name, │ │ │ │ │ │ │ │ │ │ ALLEGRO_BITMAP *bitmap, int unit) │ │ │ │ │ Source_Code │ │ │ │ │ Sets a texture sampler uniform and texture unit of the current target bitmap’s │ │ │ │ │ shader. The given bitmap must be a video bitmap. │ │ │ │ │ @@ -346,18 +301,14 @@ │ │ │ │ │ free up the 0th unit by passing NULL as the texture argument to the relevant │ │ │ │ │ drawing functions. In this case, you may set a sampler to use the 0th unit and │ │ │ │ │ thus not use al_tex (the al_use_tex variable will be set to false). │ │ │ │ │ Returns true on success. Otherwise returns false, e.g. if the uniform by that │ │ │ │ │ name does not exist in the shader. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_use_shader │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader_multitex.c │ │ │ │ │ - * ex_palette.c │ │ │ │ │ - * ex_prim_wrap.c │ │ │ │ │ ****** al_set_shader_matrix ****** │ │ │ │ │ bool al_set_shader_matrix(const char *name, │ │ │ │ │ │ │ │ │ │ const ALLEGRO_TRANSFORM *matrix) │ │ │ │ │ Source_Code │ │ │ │ │ Sets a matrix uniform of the current target bitmap’s shader. │ │ │ │ │ Returns true on success. Otherwise returns false, e.g. if the uniform by that │ │ │ │ │ @@ -376,18 +327,14 @@ │ │ │ │ │ bool al_set_shader_float(const char *name, float f) │ │ │ │ │ Source_Code │ │ │ │ │ Sets a float uniform of the target bitmap’s shader. │ │ │ │ │ Returns true on success. Otherwise returns false, e.g. if the uniform by that │ │ │ │ │ name does not exist in the shader. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_use_shader │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_prim_shader.c │ │ │ │ │ ****** al_set_shader_bool ****** │ │ │ │ │ bool al_set_shader_bool(const char *name, bool b) │ │ │ │ │ Source_Code │ │ │ │ │ Sets a boolean uniform of the target bitmap’s shader. │ │ │ │ │ Returns true on success. Otherwise returns false, e.g. if the uniform by that │ │ │ │ │ name does not exist in the shader. │ │ │ │ │ Since: 5.1.6 │ │ │ │ │ @@ -428,29 +375,20 @@ │ │ │ │ │ bool al_set_shader_float_vector(const char *name, │ │ │ │ │ │ │ │ │ │ int num_components, const float *f, int num_elems) │ │ │ │ │ Source_Code │ │ │ │ │ Same as al_set_shader_int_vector except all values are float instead of int. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_set_shader_int_vector, al_use_shader │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_prim_shader.c │ │ │ │ │ ****** al_get_default_shader_source ****** │ │ │ │ │ char const *al_get_default_shader_source(ALLEGRO_SHADER_PLATFORM platform, │ │ │ │ │ │ │ │ │ │ ALLEGRO_SHADER_TYPE type) │ │ │ │ │ Source_Code │ │ │ │ │ Returns a string containing the source code to Allegro’s default vertex or │ │ │ │ │ pixel shader appropriate for the passed platform. The ALLEGRO_SHADER_AUTO value │ │ │ │ │ means GLSL is used if OpenGL is being used otherwise HLSL. ALLEGRO_SHADER_AUTO │ │ │ │ │ requires that there is a current display set on the calling thread. This │ │ │ │ │ function can return NULL if Allegro was built without support for shaders of │ │ │ │ │ the selected platform. │ │ │ │ │ Since: 5.1.6 │ │ │ │ │ See also: al_attach_shader_source │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader_multitex.c │ │ │ │ │ - * ex_palette.c │ │ │ │ │ - * ex_prim_wrap.c │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/state.html │ │ │ │ @@ -184,16 +184,15 @@ │ │ │ │
  • al_get_errno
  • │ │ │ │
  • al_set_errno
  • │ │ │ │ │ │ │ │ │ │ │ │

    These functions are declared in the main Allegro header file:

    │ │ │ │
     #include <allegro5/allegro.h>
    │ │ │ │

    ALLEGRO_STATE

    │ │ │ │ -
    typedef struct ALLEGRO_STATE ALLEGRO_STATE;
    │ │ │ │ -typedef struct ALLEGRO_STATE ALLEGRO_STATE;
    │ │ │ │ +
    typedef struct ALLEGRO_STATE ALLEGRO_STATE;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Opaque type which is passed to al_store_state/al_restore_state.

    │ │ │ │

    The various state kept internally by Allegro can be displayed like │ │ │ │ @@ -219,26 +218,16 @@ │ │ │ │ All other global state is per-thread, so if your application has │ │ │ │ multiple separate threads they never will interfere with each other. │ │ │ │ (Except if there are objects accessed by multiple threads of course. │ │ │ │ Usually you want to minimize that though and for the remaining cases use │ │ │ │ synchronization primitives described in the threads section or events │ │ │ │ described in the events section to control inter-thread │ │ │ │ communication.)

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_STATE_FLAGS

    │ │ │ │ -
    typedef enum ALLEGRO_STATE_FLAGS
    │ │ │ │ -typedef enum ALLEGRO_STATE_FLAGS
    │ │ │ │ +
    typedef enum ALLEGRO_STATE_FLAGS
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Flags which can be passed to al_store_state/al_restore_state as bit │ │ │ │ combinations. See al_store_state │ │ │ │ @@ -248,23 +237,14 @@ │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Restores part of the state of the current thread from the given ALLEGRO_STATE object.

    │ │ │ │

    See also: al_store_state, ALLEGRO_STATE_FLAGS

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_store_state

    │ │ │ │
    void al_store_state(ALLEGRO_STATE *state, int flags)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Stores part of the state of the current thread in the given ALLEGRO_STATE object. The flags │ │ │ │ @@ -283,51 +263,30 @@ │ │ │ │

  • ALLEGRO_STATE_NEW_FILE_INTERFACE - new_file_interface
  • │ │ │ │
  • ALLEGRO_STATE_BITMAP - same as ALLEGRO_STATE_NEW_BITMAP_PARAMETERS │ │ │ │ and ALLEGRO_STATE_TARGET_BITMAP
  • │ │ │ │
  • ALLEGRO_STATE_ALL - all of the above
  • │ │ │ │ │ │ │ │

    See also: al_restore_state, │ │ │ │ ALLEGRO_STATE

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_errno

    │ │ │ │
    int al_get_errno(void)
    │ │ │ │  GETTER(allegro_errno, 0)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Some Allegro functions will set an error number as well as returning │ │ │ │ an error code. Call this function to retrieve the last error number set │ │ │ │ for the calling thread.

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_set_errno

    │ │ │ │
    void al_set_errno(int errnum)
    │ │ │ │  SETTER(allegro_errno, errnum)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the error number for the calling thread.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    │ │ │ │ Allegro version 5.2.10 │ │ │ │ - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │

    │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -49,16 +49,14 @@ │ │ │ │ │ * al_store_state │ │ │ │ │ * al_get_errno │ │ │ │ │ * al_set_errno │ │ │ │ │ These functions are declared in the main Allegro header file: │ │ │ │ │ #include │ │ │ │ │ ****** ALLEGRO_STATE ****** │ │ │ │ │ typedef struct ALLEGRO_STATE ALLEGRO_STATE; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_STATE ALLEGRO_STATE; │ │ │ │ │ Source_Code │ │ │ │ │ Opaque type which is passed to al_store_state/al_restore_state. │ │ │ │ │ The various state kept internally by Allegro can be displayed like this: │ │ │ │ │ global │ │ │ │ │ active system driver │ │ │ │ │ current config │ │ │ │ │ per thread │ │ │ │ │ @@ -78,35 +76,25 @@ │ │ │ │ │ In general, the only real global state is the active system driver. All other │ │ │ │ │ global state is per-thread, so if your application has multiple separate │ │ │ │ │ threads they never will interfere with each other. (Except if there are objects │ │ │ │ │ accessed by multiple threads of course. Usually you want to minimize that │ │ │ │ │ though and for the remaining cases use synchronization primitives described in │ │ │ │ │ the threads section or events described in the events section to control inter- │ │ │ │ │ thread communication.) │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend_bench.c │ │ │ │ │ - * ex_blend2.cpp │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ ****** ALLEGRO_STATE_FLAGS ****** │ │ │ │ │ typedef enum ALLEGRO_STATE_FLAGS │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_STATE_FLAGS │ │ │ │ │ Source_Code │ │ │ │ │ Flags which can be passed to al_store_state/al_restore_state as bit │ │ │ │ │ combinations. See al_store_state for the list of flags. │ │ │ │ │ ****** al_restore_state ****** │ │ │ │ │ void al_restore_state(ALLEGRO_STATE const *state) │ │ │ │ │ Source_Code │ │ │ │ │ Restores part of the state of the current thread from the given ALLEGRO_STATE │ │ │ │ │ object. │ │ │ │ │ See also: al_store_state, ALLEGRO_STATE_FLAGS │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend_bench.c │ │ │ │ │ - * ex_blend2.cpp │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ ****** al_store_state ****** │ │ │ │ │ void al_store_state(ALLEGRO_STATE *state, int flags) │ │ │ │ │ Source_Code │ │ │ │ │ Stores part of the state of the current thread in the given ALLEGRO_STATE │ │ │ │ │ object. The flags parameter can take any bit-combination of these flags: │ │ │ │ │ * ALLEGRO_STATE_NEW_DISPLAY_PARAMETERS - new_display_format, new_display_ │ │ │ │ │ refresh_rate, new_display_flags │ │ │ │ │ @@ -117,31 +105,22 @@ │ │ │ │ │ * ALLEGRO_STATE_TRANSFORM - current_transformation │ │ │ │ │ * ALLEGRO_STATE_PROJECTION_TRANSFORM - current_projection_transformation │ │ │ │ │ * ALLEGRO_STATE_NEW_FILE_INTERFACE - new_file_interface │ │ │ │ │ * ALLEGRO_STATE_BITMAP - same as ALLEGRO_STATE_NEW_BITMAP_PARAMETERS and │ │ │ │ │ ALLEGRO_STATE_TARGET_BITMAP │ │ │ │ │ * ALLEGRO_STATE_ALL - all of the above │ │ │ │ │ See also: al_restore_state, ALLEGRO_STATE │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend_bench.c │ │ │ │ │ - * ex_blend2.cpp │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ ****** al_get_errno ****** │ │ │ │ │ int al_get_errno(void) │ │ │ │ │ │ │ │ │ │ GETTER(allegro_errno, 0) │ │ │ │ │ Source_Code │ │ │ │ │ Some Allegro functions will set an error number as well as returning an error │ │ │ │ │ code. Call this function to retrieve the last error number set for the calling │ │ │ │ │ thread. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** al_set_errno ****** │ │ │ │ │ void al_set_errno(int errnum) │ │ │ │ │ │ │ │ │ │ SETTER(allegro_errno, errnum) │ │ │ │ │ Source_Code │ │ │ │ │ Set the error number for the calling thread. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_curl.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/system.html │ │ │ │ @@ -232,16 +232,15 @@ │ │ │ │ be the version of Allegro you compiled with, and B = xb.yb.zb.* be the │ │ │ │ version of Allegro found in the system shared library.

    │ │ │ │

    If you defined ALLEGRO_UNSTABLE before including Allegro │ │ │ │ headers, then version A is compatible with B only if xa.ya.za = │ │ │ │ xb.yb.zb. Otherwise, A is compatible with B only if xa.ya = xb.yb.

    │ │ │ │

    See also: al_init

    │ │ │ │

    al_init

    │ │ │ │ -
    #define al_init()    (al_install_system(ALLEGRO_VERSION_INT, atexit))
    │ │ │ │ -#define al_init()    (al_install_system(ALLEGRO_VERSION_INT, atexit))
    │ │ │ │ +
    #define al_init()    (al_install_system(ALLEGRO_VERSION_INT, atexit))
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_install_system, │ │ │ │ but automatically passes in the version and uses the atexit function │ │ │ │ visible in the current binary.

    │ │ │ │
    │ │ │ │ @@ -249,54 +248,31 @@ │ │ │ │ game binary. In particular, do not call it inside a shared library │ │ │ │ unless you know what you’re doing. In those cases, it is better to call │ │ │ │ al_install_system either with a NULL atexit_ptr, or with a │ │ │ │ pointer to atexit provided by the user of this shared library.

    │ │ │ │
    │ │ │ │

    See also: al_install_system

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_uninstall_system

    │ │ │ │
    void al_uninstall_system(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Closes down the Allegro system.

    │ │ │ │
    │ │ │ │

    Note: al_uninstall_system() can be called without a corresponding al_install_system call, │ │ │ │ e.g. from atexit().

    │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_is_system_installed

    │ │ │ │
    bool al_is_system_installed(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if Allegro is initialized, otherwise returns false.

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • common.c
    • │ │ │ │ -
    │ │ │ │

    al_get_allegro_version

    │ │ │ │
    uint32_t al_get_allegro_version(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the (compiled) version of the Allegro library, packed into a │ │ │ │ single integer as groups of 8 bits in the form │ │ │ │ @@ -382,23 +358,14 @@ │ │ │ │ │ │ │ │

    Returns NULL on failure. The returned path should be freed with al_destroy_path.

    │ │ │ │

    See also: al_set_app_name, │ │ │ │ al_set_org_name, al_destroy_path, al_set_exe_name

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_exe_name

    │ │ │ │
    void al_set_exe_name(char const *path)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This override the executable name used by al_get_standard_path for │ │ │ │ @@ -406,57 +373,42 @@ │ │ │ │

    One possibility where changing this can be useful is if you use the │ │ │ │ Python wrapper. Allegro would then by default think that the system’s │ │ │ │ Python executable is the current executable - but you can set it to the │ │ │ │ .py file being executed instead.

    │ │ │ │

    Since: 5.0.6, 5.1.0

    │ │ │ │

    See also: al_get_standard_path

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_app_name

    │ │ │ │
    void al_set_app_name(const char *app_name)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets the global application name.

    │ │ │ │

    The application name is used by al_get_standard_path to │ │ │ │ build the full path to an application’s files.

    │ │ │ │

    This function may be called before al_init or al_install_system.

    │ │ │ │

    See also: al_get_app_name, │ │ │ │ al_set_org_name

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_org_name

    │ │ │ │
    void al_set_org_name(const char *org_name)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets the global organization name.

    │ │ │ │

    The organization name is used by al_get_standard_path to │ │ │ │ build the full path to an application’s files.

    │ │ │ │

    This function may be called before al_init or al_install_system.

    │ │ │ │

    See also: al_get_org_name, │ │ │ │ al_set_app_name

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_app_name

    │ │ │ │
    const char *al_get_app_name(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the global application name string.

    │ │ │ │

    See also: # To restore behavior of older code versions, specify this value to the │ │ │ │ # Allegro version that had the desired old behavior. │ │ │ │ # joystick_version = 5.2.9 │ │ │ │ # keyboard_version = 5.2.9 │ │ │ │ │ │ │ │ # Prefer using DUMB rather than OpenMPT to decode module files. │ │ │ │ acodec_prefer_dumb = false │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_system_id

    │ │ │ │
    ALLEGRO_SYSTEM_ID al_get_system_id(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the platform that Allegro is running on.

    │ │ │ │

    Since: 5.2.5

    │ │ │ │ @@ -849,16 +794,15 @@ │ │ │ │

    Since: 5.1.12

    │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_cpu.c
    • │ │ │ │
    │ │ │ │

    ALLEGRO_SYSTEM_ID

    │ │ │ │ -
    enum ALLEGRO_SYSTEM_ID {
    │ │ │ │ -enum ALLEGRO_SYSTEM_ID {
    │ │ │ │ +
    enum ALLEGRO_SYSTEM_ID {
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    The system Allegro is running on.

    │ │ │ │
      │ │ │ │
    • ALLEGRO_SYSTEM_ID_UNKNOWN - Unknown system.
    • │ │ │ │
    • ALLEGRO_SYSTEM_ID_XGLX - Xglx
    • │ │ │ │ @@ -869,14 +813,11 @@ │ │ │ │
    • ALLEGRO_SYSTEM_ID_GP2XWIZ - GP2XWIZ
    • │ │ │ │
    • ALLEGRO_SYSTEM_ID_RASPBERRYPI - Raspberry Pi
    • │ │ │ │
    • ALLEGRO_SYSTEM_ID_SDL - SDL
    • │ │ │ │
    │ │ │ │

    Since: 5.2.5

    │ │ │ │

    See also: al_get_system_id

    │ │ │ │ -

    │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

    │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -81,45 +81,33 @@ │ │ │ │ │ Allegro found in the system shared library. │ │ │ │ │ If you defined ALLEGRO_UNSTABLE before including Allegro headers, then version │ │ │ │ │ A is compatible with B only if xa.ya.za = xb.yb.zb. Otherwise, A is compatible │ │ │ │ │ with B only if xa.ya = xb.yb. │ │ │ │ │ See also: al_init │ │ │ │ │ ****** al_init ****** │ │ │ │ │ #define al_init() (al_install_system(ALLEGRO_VERSION_INT, atexit)) │ │ │ │ │ - │ │ │ │ │ -#define al_init() (al_install_system(ALLEGRO_VERSION_INT, atexit)) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_install_system, but automatically passes in the version and uses the │ │ │ │ │ atexit function visible in the current binary. │ │ │ │ │ Note: It is typically wrong to call al_init anywhere except the final │ │ │ │ │ game binary. In particular, do not call it inside a shared library │ │ │ │ │ unless you know what you’re doing. In those cases, it is better to │ │ │ │ │ call al_install_system either with a NULL atexit_ptr, or with a │ │ │ │ │ pointer to atexit provided by the user of this shared library. │ │ │ │ │ See also: al_install_system │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_audio_devices.c │ │ │ │ │ - * ex_get_path.c │ │ │ │ │ - * ex_monitorinfo.c │ │ │ │ │ ****** al_uninstall_system ****** │ │ │ │ │ void al_uninstall_system(void) │ │ │ │ │ Source_Code │ │ │ │ │ Closes down the Allegro system. │ │ │ │ │ Note: al_uninstall_system() can be called without a corresponding al_ │ │ │ │ │ install_system call, e.g. from atexit(). │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_opengl_pixel_shader.c │ │ │ │ │ - * ex_icon2.c │ │ │ │ │ - * ex_icon.c │ │ │ │ │ ****** al_is_system_installed ****** │ │ │ │ │ bool al_is_system_installed(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true if Allegro is initialized, otherwise returns false. │ │ │ │ │ -Examples: │ │ │ │ │ - * common.c │ │ │ │ │ ****** al_get_allegro_version ****** │ │ │ │ │ uint32_t al_get_allegro_version(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the (compiled) version of the Allegro library, packed into a single │ │ │ │ │ integer as groups of 8 bits in the form (major << 24) | (minor << 16) | │ │ │ │ │ (revision << 8) | release. │ │ │ │ │ You can use code like this to extract them: │ │ │ │ │ @@ -184,51 +172,41 @@ │ │ │ │ │ path will usually not be present on the file system, so make sure to │ │ │ │ │ create it before writing to it. │ │ │ │ │ ALLEGRO_EXENAME_PATH │ │ │ │ │ The full path to the executable. │ │ │ │ │ Returns NULL on failure. The returned path should be freed with al_destroy_ │ │ │ │ │ path. │ │ │ │ │ See also: al_set_app_name, al_set_org_name, al_destroy_path, al_set_exe_name │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_get_path.c │ │ │ │ │ - * ex_physfs.c │ │ │ │ │ - * ex_android.c │ │ │ │ │ ****** al_set_exe_name ****** │ │ │ │ │ void al_set_exe_name(char const *path) │ │ │ │ │ Source_Code │ │ │ │ │ This override the executable name used by al_get_standard_path for ALLEGRO_ │ │ │ │ │ EXENAME_PATH and ALLEGRO_RESOURCES_PATH. │ │ │ │ │ One possibility where changing this can be useful is if you use the Python │ │ │ │ │ wrapper. Allegro would then by default think that the system’s Python │ │ │ │ │ executable is the current executable - but you can set it to the .py file being │ │ │ │ │ executed instead. │ │ │ │ │ Since: 5.0.6, 5.1.0 │ │ │ │ │ See also: al_get_standard_path │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_get_path.c │ │ │ │ │ ****** al_set_app_name ****** │ │ │ │ │ void al_set_app_name(const char *app_name) │ │ │ │ │ Source_Code │ │ │ │ │ Sets the global application name. │ │ │ │ │ The application name is used by al_get_standard_path to build the full path to │ │ │ │ │ an application’s files. │ │ │ │ │ This function may be called before al_init or al_install_system. │ │ │ │ │ See also: al_get_app_name, al_set_org_name │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_get_path.c │ │ │ │ │ ****** al_set_org_name ****** │ │ │ │ │ void al_set_org_name(const char *org_name) │ │ │ │ │ Source_Code │ │ │ │ │ Sets the global organization name. │ │ │ │ │ The organization name is used by al_get_standard_path to build the full path to │ │ │ │ │ an application’s files. │ │ │ │ │ This function may be called before al_init or al_install_system. │ │ │ │ │ See also: al_get_org_name, al_set_app_name │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_get_path.c │ │ │ │ │ ****** al_get_app_name ****** │ │ │ │ │ const char *al_get_app_name(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the global application name string. │ │ │ │ │ See also: al_set_app_name │ │ │ │ │ ****** al_get_org_name ****** │ │ │ │ │ const char *al_get_org_name(void) │ │ │ │ │ @@ -712,17 +690,14 @@ │ │ │ │ │ │ │ │ │ │ # keyboard_version = 5.2.9 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ # Prefer using DUMB rather than OpenMPT to decode module files. │ │ │ │ │ │ │ │ │ │ acodec_prefer_dumb = false │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_resize2.c │ │ │ │ │ - * ex_camera.c │ │ │ │ │ ****** al_get_system_id ****** │ │ │ │ │ ALLEGRO_SYSTEM_ID al_get_system_id(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the platform that Allegro is running on. │ │ │ │ │ Since: 5.2.5 │ │ │ │ │ See also: ALLEGRO_SYSTEM_ID │ │ │ │ │ ****** al_register_assert_handler ****** │ │ │ │ │ @@ -781,23 +756,20 @@ │ │ │ │ │ returns a certain “desirable” number. │ │ │ │ │ This function may be called prior to al_install_system or al_init. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ Examples: │ │ │ │ │ * ex_cpu.c │ │ │ │ │ ****** ALLEGRO_SYSTEM_ID ****** │ │ │ │ │ enum ALLEGRO_SYSTEM_ID { │ │ │ │ │ - │ │ │ │ │ -enum ALLEGRO_SYSTEM_ID { │ │ │ │ │ Source_Code │ │ │ │ │ The system Allegro is running on. │ │ │ │ │ * ALLEGRO_SYSTEM_ID_UNKNOWN - Unknown system. │ │ │ │ │ * ALLEGRO_SYSTEM_ID_XGLX - Xglx │ │ │ │ │ * ALLEGRO_SYSTEM_ID_WINDOWS - Windows │ │ │ │ │ * ALLEGRO_SYSTEM_ID_MACOSX - macOS │ │ │ │ │ * ALLEGRO_SYSTEM_ID_ANDROID - Android │ │ │ │ │ * ALLEGRO_SYSTEM_ID_IPHONE - iOS │ │ │ │ │ * ALLEGRO_SYSTEM_ID_GP2XWIZ - GP2XWIZ │ │ │ │ │ * ALLEGRO_SYSTEM_ID_RASPBERRYPI - Raspberry Pi │ │ │ │ │ * ALLEGRO_SYSTEM_ID_SDL - SDL │ │ │ │ │ Since: 5.2.5 │ │ │ │ │ See also: al_get_system_id │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/threads.html │ │ │ │ @@ -223,77 +223,44 @@ │ │ │ │ would be difficult at best, hence the behaviour of the following │ │ │ │ functions will differ subtly on different platforms (more so than │ │ │ │ usual). Your best bet is to be aware of this and code to the │ │ │ │ intersection of the semantics and avoid edge cases.

    │ │ │ │

    These functions are declared in the main Allegro header file:

    │ │ │ │
     #include <allegro5/allegro.h>
    │ │ │ │

    ALLEGRO_THREAD

    │ │ │ │ -
    typedef struct ALLEGRO_THREAD ALLEGRO_THREAD;
    │ │ │ │ -typedef struct ALLEGRO_THREAD ALLEGRO_THREAD;
    │ │ │ │ +
    typedef struct ALLEGRO_THREAD ALLEGRO_THREAD;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    An opaque structure representing a thread.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_MUTEX

    │ │ │ │ -
    typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX;
    │ │ │ │ -typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX;
    │ │ │ │ +
    typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    An opaque structure representing a mutex.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_COND

    │ │ │ │ -
    typedef struct ALLEGRO_COND ALLEGRO_COND;
    │ │ │ │ -typedef struct ALLEGRO_COND ALLEGRO_COND;
    │ │ │ │ +
    typedef struct ALLEGRO_COND ALLEGRO_COND;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    An opaque structure representing a condition variable.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_create_thread

    │ │ │ │
    ALLEGRO_THREAD *al_create_thread(
    │ │ │ │     void *(*proc)(ALLEGRO_THREAD *thread, void *arg), void *arg)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Spawn a new thread which begins executing proc. The new │ │ │ │ thread is passed its own thread handle and the value │ │ │ │ arg.

    │ │ │ │

    Returns a pointer to the thread on success. Otherwise, returns NULL │ │ │ │ if there was an error.

    │ │ │ │

    See also: al_start_thread, │ │ │ │ al_join_thread.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_create_thread_with_stacksize

    │ │ │ │
    ALLEGRO_THREAD *al_create_thread_with_stacksize(
    │ │ │ │     void *(*proc)(ALLEGRO_THREAD *thread, void *arg), void *arg, size_t stacksize)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -317,23 +284,14 @@ │ │ │ │ Code

    │ │ │ │

    When a thread is created, it is initially in a suspended state. │ │ │ │ Calling al_start_thread will │ │ │ │ start its actual execution.

    │ │ │ │

    Starting a thread which has already been started does nothing.

    │ │ │ │

    See also: al_create_thread.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_join_thread

    │ │ │ │
    void al_join_thread(ALLEGRO_THREAD *thread, void **ret_value)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Wait for the thread to finish executing. This implicitly calls al_set_thread_should_stop │ │ │ │ @@ -342,38 +300,24 @@ │ │ │ │ returned by the thread function will be stored at the location pointed │ │ │ │ to by ret_value.

    │ │ │ │

    See also: al_set_thread_should_stop, │ │ │ │ al_get_thread_should_stop, │ │ │ │ al_destroy_thread.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_thread_should_stop

    │ │ │ │
    void al_set_thread_should_stop(ALLEGRO_THREAD *thread)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the flag to indicate thread should stop. Returns │ │ │ │ immediately.

    │ │ │ │

    See also: al_join_thread, │ │ │ │ al_get_thread_should_stop.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_thread_should_stop

    │ │ │ │
    bool al_get_thread_should_stop(ALLEGRO_THREAD *thread)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Check if another thread is waiting for thread to stop. │ │ │ │ Threads which run in a loop should check this periodically and act on it │ │ │ │ @@ -384,41 +328,25 @@ │ │ │ │ on this thread.

    │ │ │ │

    See also: al_join_thread, │ │ │ │ al_set_thread_should_stop.

    │ │ │ │
    │ │ │ │

    Note: We don’t support forceful killing of threads.

    │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_destroy_thread

    │ │ │ │
    void al_destroy_thread(ALLEGRO_THREAD *thread)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Free the resources used by a thread. Implicitly performs al_join_thread on the thread if │ │ │ │ it hasn’t been done already.

    │ │ │ │

    Does nothing if thread is NULL.

    │ │ │ │

    See also: al_join_thread.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_run_detached_thread

    │ │ │ │
    void al_run_detached_thread(void *(*proc)(void *arg), void *arg)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Runs the passed function in its own thread, with arg │ │ │ │ passed to it as only parameter. This is similar to calling Source │ │ │ │ Code

    │ │ │ │

    Create the mutex object (a mutual exclusion device). The mutex may or │ │ │ │ may not support “recursive” locking.

    │ │ │ │

    Returns the mutex on success or NULL on error.

    │ │ │ │

    See also: al_create_mutex_recursive.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_create_mutex_recursive

    │ │ │ │
    ALLEGRO_MUTEX *al_create_mutex_recursive(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Create the mutex object (a mutual exclusion device), with support for │ │ │ │ “recursive” locking. That is, the mutex will count the number of times │ │ │ │ @@ -473,64 +394,40 @@ │ │ │ │ href="threads.html#al_create_mutex_recursive">al_create_mutex_recursive. │ │ │ │ In the former case, the behaviour is undefined; the most likely │ │ │ │ behaviour is deadlock. In the latter case, the count in the mutex will │ │ │ │ be incremented and the call will return immediately.

    │ │ │ │

    See also: al_unlock_mutex.

    │ │ │ │

    We don’t yet have al_mutex_trylock.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_unlock_mutex

    │ │ │ │
    void al_unlock_mutex(ALLEGRO_MUTEX *mutex)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Release the lock on mutex if the calling thread holds │ │ │ │ the lock on it.

    │ │ │ │

    If the calling thread doesn’t hold the lock, or if the mutex is not │ │ │ │ locked, undefined behaviour results.

    │ │ │ │

    See also: al_lock_mutex.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_destroy_mutex

    │ │ │ │
    void al_destroy_mutex(ALLEGRO_MUTEX *mutex)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Free the resources used by the mutex. The mutex should be unlocked. │ │ │ │ Destroying a locked mutex results in undefined behaviour.

    │ │ │ │

    Does nothing if mutex is NULL.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_create_cond

    │ │ │ │
    ALLEGRO_COND *al_create_cond(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Create a condition variable.

    │ │ │ │

    Returns the condition value on success or NULL on │ │ │ │ error.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_destroy_cond

    │ │ │ │
    void al_destroy_cond(ALLEGRO_COND *cond)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Destroy a condition variable.

    │ │ │ │

    Destroying a condition variable which has threads block on it results │ │ │ │ @@ -560,19 +457,14 @@ │ │ │ │ signalled). If multiple threads are blocked on the condition variable, │ │ │ │ the condition may no longer be true by the time the second and later │ │ │ │ threads are unblocked. Remember not to unlock the mutex prematurely.

    │ │ │ │

    See also: al_wait_cond_until, al_broadcast_cond, al_signal_cond.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_wait_cond_until

    │ │ │ │
    int al_wait_cond_until(ALLEGRO_COND *cond, ALLEGRO_MUTEX *mutex,
    │ │ │ │     const ALLEGRO_TIMEOUT *timeout)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_wait_cond but the │ │ │ │ @@ -591,19 +483,14 @@ │ │ │ │

    See also: al_signal_cond.

    │ │ │ │
    │ │ │ │

    Note: The pthreads spec says to lock the mutex associated │ │ │ │ with cond before signalling for predictable scheduling │ │ │ │ behaviour.

    │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_signal_cond

    │ │ │ │
    void al_signal_cond(ALLEGRO_COND *cond)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Unblock at least one thread waiting on a condition variable.

    │ │ │ │

    Generally you should use │ │ │ │ │ ****** ALLEGRO_THREAD ****** │ │ │ │ │ typedef struct ALLEGRO_THREAD ALLEGRO_THREAD; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_THREAD ALLEGRO_THREAD; │ │ │ │ │ Source_Code │ │ │ │ │ An opaque structure representing a thread. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads.c │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ ****** ALLEGRO_MUTEX ****** │ │ │ │ │ typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX; │ │ │ │ │ Source_Code │ │ │ │ │ An opaque structure representing a mutex. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ ****** ALLEGRO_COND ****** │ │ │ │ │ typedef struct ALLEGRO_COND ALLEGRO_COND; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_COND ALLEGRO_COND; │ │ │ │ │ Source_Code │ │ │ │ │ An opaque structure representing a condition variable. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ ****** al_create_thread ****** │ │ │ │ │ ALLEGRO_THREAD *al_create_thread( │ │ │ │ │ │ │ │ │ │ void *(*proc)(ALLEGRO_THREAD *thread, void *arg), void *arg) │ │ │ │ │ Source_Code │ │ │ │ │ Spawn a new thread which begins executing proc. The new thread is passed its │ │ │ │ │ own thread handle and the value arg. │ │ │ │ │ Returns a pointer to the thread on success. Otherwise, returns NULL if there │ │ │ │ │ was an error. │ │ │ │ │ See also: al_start_thread, al_join_thread. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads.c │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ ****** al_create_thread_with_stacksize ****** │ │ │ │ │ ALLEGRO_THREAD *al_create_thread_with_stacksize( │ │ │ │ │ │ │ │ │ │ void *(*proc)(ALLEGRO_THREAD *thread, void *arg), void *arg, size_ │ │ │ │ │ t stacksize) │ │ │ │ │ Source_Code │ │ │ │ │ Spawn a new thread with the give stacksize in bytes which begins executing │ │ │ │ │ @@ -132,78 +113,58 @@ │ │ │ │ │ ****** al_start_thread ****** │ │ │ │ │ void al_start_thread(ALLEGRO_THREAD *thread) │ │ │ │ │ Source_Code │ │ │ │ │ When a thread is created, it is initially in a suspended state. Calling al_ │ │ │ │ │ start_thread will start its actual execution. │ │ │ │ │ Starting a thread which has already been started does nothing. │ │ │ │ │ See also: al_create_thread. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads.c │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ ****** al_join_thread ****** │ │ │ │ │ void al_join_thread(ALLEGRO_THREAD *thread, void **ret_value) │ │ │ │ │ Source_Code │ │ │ │ │ Wait for the thread to finish executing. This implicitly calls al_set_thread_ │ │ │ │ │ should_stop first. │ │ │ │ │ If ret_value is non-NULL, the value returned by the thread function will be │ │ │ │ │ stored at the location pointed to by ret_value. │ │ │ │ │ See also: al_set_thread_should_stop, al_get_thread_should_stop, al_destroy_ │ │ │ │ │ thread. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads.c │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ ****** al_set_thread_should_stop ****** │ │ │ │ │ void al_set_thread_should_stop(ALLEGRO_THREAD *thread) │ │ │ │ │ Source_Code │ │ │ │ │ Set the flag to indicate thread should stop. Returns immediately. │ │ │ │ │ See also: al_join_thread, al_get_thread_should_stop. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ ****** al_get_thread_should_stop ****** │ │ │ │ │ bool al_get_thread_should_stop(ALLEGRO_THREAD *thread) │ │ │ │ │ Source_Code │ │ │ │ │ Check if another thread is waiting for thread to stop. Threads which run in a │ │ │ │ │ loop should check this periodically and act on it when convenient. │ │ │ │ │ Returns true if another thread has called al_join_thread or al_set_thread_ │ │ │ │ │ should_stop on this thread. │ │ │ │ │ See also: al_join_thread, al_set_thread_should_stop. │ │ │ │ │ Note: We don’t support forceful killing of threads. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ ****** al_destroy_thread ****** │ │ │ │ │ void al_destroy_thread(ALLEGRO_THREAD *thread) │ │ │ │ │ Source_Code │ │ │ │ │ Free the resources used by a thread. Implicitly performs al_join_thread on the │ │ │ │ │ thread if it hasn’t been done already. │ │ │ │ │ Does nothing if thread is NULL. │ │ │ │ │ See also: al_join_thread. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads.c │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** al_run_detached_thread ****** │ │ │ │ │ void al_run_detached_thread(void *(*proc)(void *arg), void *arg) │ │ │ │ │ Source_Code │ │ │ │ │ Runs the passed function in its own thread, with arg passed to it as only │ │ │ │ │ parameter. This is similar to calling al_create_thread, al_start_thread and │ │ │ │ │ (after the thread has finished) al_destroy_thread - but you don’t have the │ │ │ │ │ possibility of ever calling al_join_thread on the thread. │ │ │ │ │ ****** al_create_mutex ****** │ │ │ │ │ ALLEGRO_MUTEX *al_create_mutex(void) │ │ │ │ │ Source_Code │ │ │ │ │ Create the mutex object (a mutual exclusion device). The mutex may or may not │ │ │ │ │ support “recursive” locking. │ │ │ │ │ Returns the mutex on success or NULL on error. │ │ │ │ │ See also: al_create_mutex_recursive. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ ****** al_create_mutex_recursive ****** │ │ │ │ │ ALLEGRO_MUTEX *al_create_mutex_recursive(void) │ │ │ │ │ Source_Code │ │ │ │ │ Create the mutex object (a mutual exclusion device), with support for │ │ │ │ │ “recursive” locking. That is, the mutex will count the number of times it has │ │ │ │ │ been locked by the same thread. If the caller tries to acquire a lock on the │ │ │ │ │ mutex when it already holds the lock then the count is incremented. The mutex │ │ │ │ │ @@ -218,42 +179,32 @@ │ │ │ │ │ If the mutex is already locked by the calling thread, then the behaviour │ │ │ │ │ depends on whether the mutex was created with al_create_mutex or al_create_ │ │ │ │ │ mutex_recursive. In the former case, the behaviour is undefined; the most │ │ │ │ │ likely behaviour is deadlock. In the latter case, the count in the mutex will │ │ │ │ │ be incremented and the call will return immediately. │ │ │ │ │ See also: al_unlock_mutex. │ │ │ │ │ We don’t yet have al_mutex_trylock. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ ****** al_unlock_mutex ****** │ │ │ │ │ void al_unlock_mutex(ALLEGRO_MUTEX *mutex) │ │ │ │ │ Source_Code │ │ │ │ │ Release the lock on mutex if the calling thread holds the lock on it. │ │ │ │ │ If the calling thread doesn’t hold the lock, or if the mutex is not locked, │ │ │ │ │ undefined behaviour results. │ │ │ │ │ See also: al_lock_mutex. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ ****** al_destroy_mutex ****** │ │ │ │ │ void al_destroy_mutex(ALLEGRO_MUTEX *mutex) │ │ │ │ │ Source_Code │ │ │ │ │ Free the resources used by the mutex. The mutex should be unlocked. Destroying │ │ │ │ │ a locked mutex results in undefined behaviour. │ │ │ │ │ Does nothing if mutex is NULL. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ ****** al_create_cond ****** │ │ │ │ │ ALLEGRO_COND *al_create_cond(void) │ │ │ │ │ Source_Code │ │ │ │ │ Create a condition variable. │ │ │ │ │ Returns the condition value on success or NULL on error. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ ****** al_destroy_cond ****** │ │ │ │ │ void al_destroy_cond(ALLEGRO_COND *cond) │ │ │ │ │ Source_Code │ │ │ │ │ Destroy a condition variable. │ │ │ │ │ Destroying a condition variable which has threads block on it results in │ │ │ │ │ undefined behaviour. │ │ │ │ │ Does nothing if cond is NULL. │ │ │ │ │ @@ -279,16 +230,14 @@ │ │ │ │ │ The mutex should be locked before checking the condition, and should be │ │ │ │ │ rechecked al_wait_cond returns. al_wait_cond can return for other reasons than │ │ │ │ │ the condition becoming true (e.g. the process was signalled). If multiple │ │ │ │ │ threads are blocked on the condition variable, the condition may no longer be │ │ │ │ │ true by the time the second and later threads are unblocked. Remember not to │ │ │ │ │ unlock the mutex prematurely. │ │ │ │ │ See also: al_wait_cond_until, al_broadcast_cond, al_signal_cond. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ ****** al_wait_cond_until ****** │ │ │ │ │ int al_wait_cond_until(ALLEGRO_COND *cond, ALLEGRO_MUTEX *mutex, │ │ │ │ │ │ │ │ │ │ const ALLEGRO_TIMEOUT *timeout) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_wait_cond but the call can return if the absolute time passes timeout │ │ │ │ │ before the condition is signalled. │ │ │ │ │ @@ -299,16 +248,14 @@ │ │ │ │ │ Source_Code │ │ │ │ │ Unblock all threads currently waiting on a condition variable. That is, │ │ │ │ │ broadcast that some condition which those threads were waiting for has become │ │ │ │ │ true. │ │ │ │ │ See also: al_signal_cond. │ │ │ │ │ Note: The pthreads spec says to lock the mutex associated with cond │ │ │ │ │ before signalling for predictable scheduling behaviour. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads2.c │ │ │ │ │ ****** al_signal_cond ****** │ │ │ │ │ void al_signal_cond(ALLEGRO_COND *cond) │ │ │ │ │ Source_Code │ │ │ │ │ Unblock at least one thread waiting on a condition variable. │ │ │ │ │ Generally you should use al_broadcast_cond but al_signal_cond may be more │ │ │ │ │ efficient when it’s applicable. │ │ │ │ │ See also: al_broadcast_cond. │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/time.html │ │ │ │ @@ -187,75 +187,44 @@ │ │ │ │

    typedef struct ALLEGRO_TIMEOUT ALLEGRO_TIMEOUT;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Represent a timeout value. The size of the structure is known so it │ │ │ │ can be statically allocated. The contents are private.

    │ │ │ │

    See also: al_init_timeout

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_time

    │ │ │ │
    double al_get_time(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the number of seconds since the Allegro library was │ │ │ │ initialised. The return value is undefined if Allegro is uninitialised. │ │ │ │ The resolution depends on the used driver, but typically can be in the │ │ │ │ order of microseconds.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_init_timeout

    │ │ │ │
    void al_init_timeout(ALLEGRO_TIMEOUT *timeout, double seconds)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set timeout value of some number of seconds after the function │ │ │ │ call.

    │ │ │ │

    For compatibility with all platforms, seconds must be │ │ │ │ 2,147,483.647 seconds or less.

    │ │ │ │

    See also: ALLEGRO_TIMEOUT, al_wait_for_event_until

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_rest

    │ │ │ │
    void al_rest(double seconds)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Waits for the specified number of seconds. This tells the system to │ │ │ │ pause the current thread for the given amount of time. With some │ │ │ │ operating systems, the accuracy can be in the order of 10ms. That is, │ │ │ │ even

    │ │ │ │
    al_rest(0.000001)
    │ │ │ │

    might pause for something like 10ms. Also see the section on Timer │ │ │ │ routines for easier ways to time your program without using up all │ │ │ │ CPU.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │ -

    │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

    │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -51,42 +51,29 @@ │ │ │ │ │ #include │ │ │ │ │ ****** ALLEGRO_TIMEOUT ****** │ │ │ │ │ typedef struct ALLEGRO_TIMEOUT ALLEGRO_TIMEOUT; │ │ │ │ │ Source_Code │ │ │ │ │ Represent a timeout value. The size of the structure is known so it can be │ │ │ │ │ statically allocated. The contents are private. │ │ │ │ │ See also: al_init_timeout │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_timedwait.c │ │ │ │ │ ****** al_get_time ****** │ │ │ │ │ double al_get_time(void) │ │ │ │ │ Source_Code │ │ │ │ │ Return the number of seconds since the Allegro library was initialised. The │ │ │ │ │ return value is undefined if Allegro is uninitialised. The resolution depends │ │ │ │ │ on the used driver, but typically can be in the order of microseconds. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_convert.c │ │ │ │ │ - * ex_d3d.cpp │ │ │ │ │ - * ex_enet_server.c │ │ │ │ │ ****** al_init_timeout ****** │ │ │ │ │ void al_init_timeout(ALLEGRO_TIMEOUT *timeout, double seconds) │ │ │ │ │ Source_Code │ │ │ │ │ Set timeout value of some number of seconds after the function call. │ │ │ │ │ For compatibility with all platforms, seconds must be 2,147,483.647 seconds or │ │ │ │ │ less. │ │ │ │ │ See also: ALLEGRO_TIMEOUT, al_wait_for_event_until │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_timedwait.c │ │ │ │ │ ****** al_rest ****** │ │ │ │ │ void al_rest(double seconds) │ │ │ │ │ Source_Code │ │ │ │ │ Waits for the specified number of seconds. This tells the system to pause the │ │ │ │ │ current thread for the given amount of time. With some operating systems, the │ │ │ │ │ accuracy can be in the order of 10ms. That is, even │ │ │ │ │ al_rest(0.000001) │ │ │ │ │ might pause for something like 10ms. Also see the section on Timer routines for │ │ │ │ │ easier ways to time your program without using up all CPU. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_keyboard_focus.c │ │ │ │ │ - * ex_timer_pause.c │ │ │ │ │ - * ex_mouse_focus.c │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/timer.html │ │ │ │ @@ -208,58 +208,39 @@ │ │ │ │
  • al_get_timer_event_source
  • │ │ │ │ │ │ │ │ │ │ │ │

    These functions are declared in the main Allegro header file:

    │ │ │ │
     #include <allegro5/allegro.h>
    │ │ │ │

    ALLEGRO_TIMER

    │ │ │ │ -
    typedef struct ALLEGRO_TIMER ALLEGRO_TIMER;
    │ │ │ │ -typedef struct ALLEGRO_TIMER ALLEGRO_TIMER;
    │ │ │ │ +
    typedef struct ALLEGRO_TIMER ALLEGRO_TIMER;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This is an abstract data type representing a timer object.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_USECS_TO_SECS

    │ │ │ │ -
    #define ALLEGRO_USECS_TO_SECS(x)      ((x) / 1000000.0)
    │ │ │ │ -#define ALLEGRO_USECS_TO_SECS(x)      ((x) / 1000000.0)
    │ │ │ │ +
    #define ALLEGRO_USECS_TO_SECS(x)      ((x) / 1000000.0)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Convert microseconds to seconds.

    │ │ │ │

    ALLEGRO_MSECS_TO_SECS

    │ │ │ │ -
    #define ALLEGRO_MSECS_TO_SECS(x)      ((x) / 1000.0)
    │ │ │ │ -#define ALLEGRO_MSECS_TO_SECS(x)      ((x) / 1000.0)
    │ │ │ │ +
    #define ALLEGRO_MSECS_TO_SECS(x)      ((x) / 1000.0)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Convert milliseconds to seconds.

    │ │ │ │

    ALLEGRO_BPS_TO_SECS

    │ │ │ │ -
    #define ALLEGRO_BPS_TO_SECS(x)        (1.0 / (x))
    │ │ │ │ -#define ALLEGRO_BPS_TO_SECS(x)        (1.0 / (x))
    │ │ │ │ +
    #define ALLEGRO_BPS_TO_SECS(x)        (1.0 / (x))
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Convert beats per second to seconds.

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_prim.c
    • │ │ │ │ -
    │ │ │ │

    ALLEGRO_BPM_TO_SECS

    │ │ │ │ -
    #define ALLEGRO_BPM_TO_SECS(x)        (60.0 / (x))
    │ │ │ │ -#define ALLEGRO_BPM_TO_SECS(x)        (60.0 / (x))
    │ │ │ │ +
    #define ALLEGRO_BPM_TO_SECS(x)        (60.0 / (x))
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Convert beats per minute to seconds.

    │ │ │ │

    al_create_timer

    │ │ │ │
    ALLEGRO_TIMER *al_create_timer(double speed_secs)
    │ │ │ │

    al_start_timer before ALLEGRO_EVENT_TIMER events │ │ │ │ are sent.

    │ │ │ │

    Usage note: typical granularity is on the order of microseconds, but │ │ │ │ with some drivers might only be milliseconds.

    │ │ │ │

    See also: al_start_timer, al_destroy_timer

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_start_timer

    │ │ │ │
    void al_start_timer(ALLEGRO_TIMER *timer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Start the timer specified. From then, the timer’s counter will │ │ │ │ increment at a constant rate, and it will begin generating events. │ │ │ │ Starting a timer that is already started does nothing. Starting a timer │ │ │ │ that was stopped will reset the timer’s counter, effectively restarting │ │ │ │ the timer from the beginning.

    │ │ │ │

    See also: al_stop_timer, al_get_timer_started, al_resume_timer

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_resume_timer

    │ │ │ │
    void al_resume_timer(ALLEGRO_TIMER *timer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Resume the timer specified. From then, the timer’s counter will │ │ │ │ increment at a constant rate, and it will begin generating events. │ │ │ │ Resuming a timer that is already started does nothing. Resuming a │ │ │ │ stopped timer will not reset the timer’s counter (unlike al_start_timer).

    │ │ │ │

    See also: al_start_timer, al_stop_timer, al_get_timer_started

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_stop_timer

    │ │ │ │
    void al_stop_timer(ALLEGRO_TIMER *timer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Stop the timer specified. The timer’s counter will stop incrementing │ │ │ │ and it will stop generating events. Stopping a timer that is already │ │ │ │ stopped does nothing.

    │ │ │ │

    See also: al_start_timer, al_get_timer_started, al_resume_timer

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_timer_started

    │ │ │ │
    bool al_get_timer_started(const ALLEGRO_TIMER *timer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return true if the timer specified is currently started.

    │ │ │ │

    al_destroy_timer

    │ │ │ │ @@ -360,53 +307,34 @@ │ │ │ │ Code

    │ │ │ │

    Uninstall the timer specified. If the timer is started, it will │ │ │ │ automatically be stopped before uninstallation. It will also │ │ │ │ automatically unregister the timer with any event queues.

    │ │ │ │

    Does nothing if passed the NULL pointer.

    │ │ │ │

    See also: al_create_timer

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_timer_count

    │ │ │ │
    int64_t al_get_timer_count(const ALLEGRO_TIMER *timer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the timer’s counter value. The timer can be started or │ │ │ │ stopped.

    │ │ │ │

    See also: al_set_timer_count

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_menu.c
    • │ │ │ │ -
    │ │ │ │

    al_set_timer_count

    │ │ │ │
    void al_set_timer_count(ALLEGRO_TIMER *timer, int64_t new_count)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Set the timer’s counter value. The timer can be started or stopped. │ │ │ │ The count value may be positive or negative, but will always be │ │ │ │ incremented by +1 at each tick.

    │ │ │ │

    See also: al_get_timer_count, al_add_timer_count

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_add_timer_count

    │ │ │ │
    void al_add_timer_count(ALLEGRO_TIMER *timer, int64_t diff)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Add diff to the timer’s counter value. This is similar to │ │ │ │ writing:

    │ │ │ │ @@ -434,36 +362,22 @@ │ │ │ │ incremented when it is started. This can be done when the timer is │ │ │ │ started or stopped. If the timer is currently running, it is made to │ │ │ │ look as though the speed change occurred precisely at the last tick.

    │ │ │ │

    speed_secs has exactly the same meaning as with al_create_timer.

    │ │ │ │

    See also: al_get_timer_speed

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_timer_event_source

    │ │ │ │
    ALLEGRO_EVENT_SOURCE *al_get_timer_event_source(ALLEGRO_TIMER *timer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Retrieve the associated event source. Timers will generate events of │ │ │ │ type ALLEGRO_EVENT_TIMER.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    │ │ │ │ Allegro version 5.2.10 │ │ │ │ - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │

    │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -60,128 +60,89 @@ │ │ │ │ │ * al_get_timer_speed │ │ │ │ │ * al_set_timer_speed │ │ │ │ │ * al_get_timer_event_source │ │ │ │ │ These functions are declared in the main Allegro header file: │ │ │ │ │ #include │ │ │ │ │ ****** ALLEGRO_TIMER ****** │ │ │ │ │ typedef struct ALLEGRO_TIMER ALLEGRO_TIMER; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_TIMER ALLEGRO_TIMER; │ │ │ │ │ Source_Code │ │ │ │ │ This is an abstract data type representing a timer object. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_enet_server.c │ │ │ │ │ - * ex_timer_pause.c │ │ │ │ │ - * ex_user_events.c │ │ │ │ │ ****** ALLEGRO_USECS_TO_SECS ****** │ │ │ │ │ #define ALLEGRO_USECS_TO_SECS(x) ((x) / 1000000.0) │ │ │ │ │ - │ │ │ │ │ -#define ALLEGRO_USECS_TO_SECS(x) ((x) / 1000000.0) │ │ │ │ │ Source_Code │ │ │ │ │ Convert microseconds to seconds. │ │ │ │ │ ****** ALLEGRO_MSECS_TO_SECS ****** │ │ │ │ │ #define ALLEGRO_MSECS_TO_SECS(x) ((x) / 1000.0) │ │ │ │ │ - │ │ │ │ │ -#define ALLEGRO_MSECS_TO_SECS(x) ((x) / 1000.0) │ │ │ │ │ Source_Code │ │ │ │ │ Convert milliseconds to seconds. │ │ │ │ │ ****** ALLEGRO_BPS_TO_SECS ****** │ │ │ │ │ #define ALLEGRO_BPS_TO_SECS(x) (1.0 / (x)) │ │ │ │ │ - │ │ │ │ │ -#define ALLEGRO_BPS_TO_SECS(x) (1.0 / (x)) │ │ │ │ │ Source_Code │ │ │ │ │ Convert beats per second to seconds. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ****** ALLEGRO_BPM_TO_SECS ****** │ │ │ │ │ #define ALLEGRO_BPM_TO_SECS(x) (60.0 / (x)) │ │ │ │ │ - │ │ │ │ │ -#define ALLEGRO_BPM_TO_SECS(x) (60.0 / (x)) │ │ │ │ │ Source_Code │ │ │ │ │ Convert beats per minute to seconds. │ │ │ │ │ ****** al_create_timer ****** │ │ │ │ │ ALLEGRO_TIMER *al_create_timer(double speed_secs) │ │ │ │ │ Source_Code │ │ │ │ │ Allocates and initializes a timer. If successful, a pointer to a new timer │ │ │ │ │ object is returned, otherwise NULL is returned. speed_secs is in seconds per │ │ │ │ │ “tick”, and must be positive. The new timer is initially stopped and needs to │ │ │ │ │ be started with al_start_timer before ALLEGRO_EVENT_TIMER events are sent. │ │ │ │ │ Usage note: typical granularity is on the order of microseconds, but with some │ │ │ │ │ drivers might only be milliseconds. │ │ │ │ │ See also: al_start_timer, al_destroy_timer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_enet_server.c │ │ │ │ │ - * ex_timer_pause.c │ │ │ │ │ - * ex_user_events.c │ │ │ │ │ ****** al_start_timer ****** │ │ │ │ │ void al_start_timer(ALLEGRO_TIMER *timer) │ │ │ │ │ Source_Code │ │ │ │ │ Start the timer specified. From then, the timer’s counter will increment at a │ │ │ │ │ constant rate, and it will begin generating events. Starting a timer that is │ │ │ │ │ already started does nothing. Starting a timer that was stopped will reset the │ │ │ │ │ timer’s counter, effectively restarting the timer from the beginning. │ │ │ │ │ See also: al_stop_timer, al_get_timer_started, al_resume_timer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_enet_server.c │ │ │ │ │ - * ex_timer_pause.c │ │ │ │ │ - * ex_user_events.c │ │ │ │ │ ****** al_resume_timer ****** │ │ │ │ │ void al_resume_timer(ALLEGRO_TIMER *timer) │ │ │ │ │ Source_Code │ │ │ │ │ Resume the timer specified. From then, the timer’s counter will increment at a │ │ │ │ │ constant rate, and it will begin generating events. Resuming a timer that is │ │ │ │ │ already started does nothing. Resuming a stopped timer will not reset the │ │ │ │ │ timer’s counter (unlike al_start_timer). │ │ │ │ │ See also: al_start_timer, al_stop_timer, al_get_timer_started │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_timer_pause.c │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** al_stop_timer ****** │ │ │ │ │ void al_stop_timer(ALLEGRO_TIMER *timer) │ │ │ │ │ Source_Code │ │ │ │ │ Stop the timer specified. The timer’s counter will stop incrementing and it │ │ │ │ │ will stop generating events. Stopping a timer that is already stopped does │ │ │ │ │ nothing. │ │ │ │ │ See also: al_start_timer, al_get_timer_started, al_resume_timer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_timer_pause.c │ │ │ │ │ - * ex_android.c │ │ │ │ │ - * ex_projection2.c │ │ │ │ │ ****** al_get_timer_started ****** │ │ │ │ │ bool al_get_timer_started(const ALLEGRO_TIMER *timer) │ │ │ │ │ Source_Code │ │ │ │ │ Return true if the timer specified is currently started. │ │ │ │ │ ****** al_destroy_timer ****** │ │ │ │ │ void al_destroy_timer(ALLEGRO_TIMER *timer) │ │ │ │ │ Source_Code │ │ │ │ │ Uninstall the timer specified. If the timer is started, it will automatically │ │ │ │ │ be stopped before uninstallation. It will also automatically unregister the │ │ │ │ │ timer with any event queues. │ │ │ │ │ Does nothing if passed the NULL pointer. │ │ │ │ │ See also: al_create_timer │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_timer_pause.c │ │ │ │ │ - * ex_user_events.c │ │ │ │ │ - * ex_noframe.c │ │ │ │ │ ****** al_get_timer_count ****** │ │ │ │ │ int64_t al_get_timer_count(const ALLEGRO_TIMER *timer) │ │ │ │ │ Source_Code │ │ │ │ │ Return the timer’s counter value. The timer can be started or stopped. │ │ │ │ │ See also: al_set_timer_count │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_menu.c │ │ │ │ │ ****** al_set_timer_count ****** │ │ │ │ │ void al_set_timer_count(ALLEGRO_TIMER *timer, int64_t new_count) │ │ │ │ │ Source_Code │ │ │ │ │ Set the timer’s counter value. The timer can be started or stopped. The count │ │ │ │ │ value may be positive or negative, but will always be incremented by +1 at each │ │ │ │ │ tick. │ │ │ │ │ See also: al_get_timer_count, al_add_timer_count │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_audio_timer.c │ │ │ │ │ ****** al_add_timer_count ****** │ │ │ │ │ void al_add_timer_count(ALLEGRO_TIMER *timer, int64_t diff) │ │ │ │ │ Source_Code │ │ │ │ │ Add diff to the timer’s counter value. This is similar to writing: │ │ │ │ │ al_set_timer_count(timer, al_get_timer_count(timer) + diff); │ │ │ │ │ except that the addition is performed atomically, so no ticks will be lost. │ │ │ │ │ See also: al_set_timer_count │ │ │ │ │ @@ -196,19 +157,13 @@ │ │ │ │ │ Source_Code │ │ │ │ │ Set the timer’s speed, i.e. the rate at which its counter will be incremented │ │ │ │ │ when it is started. This can be done when the timer is started or stopped. If │ │ │ │ │ the timer is currently running, it is made to look as though the speed change │ │ │ │ │ occurred precisely at the last tick. │ │ │ │ │ speed_secs has exactly the same meaning as with al_create_timer. │ │ │ │ │ See also: al_get_timer_speed │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_audio_timer.c │ │ │ │ │ ****** al_get_timer_event_source ****** │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_timer_event_source(ALLEGRO_TIMER *timer) │ │ │ │ │ Source_Code │ │ │ │ │ Retrieve the associated event source. Timers will generate events of type │ │ │ │ │ ALLEGRO_EVENT_TIMER. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_enet_server.c │ │ │ │ │ - * ex_timer_pause.c │ │ │ │ │ - * ex_user_events.c │ │ │ │ │ Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/touch.html │ │ │ │ @@ -200,34 +200,31 @@ │ │ │ │
  • al_get_touch_input_mouse_emulation_event_source
  • │ │ │ │ │ │ │ │ │ │ │ │

    These functions are declared in the main Allegro header file:

    │ │ │ │
     #include <allegro5/allegro.h>
    │ │ │ │

    ALLEGRO_TOUCH_INPUT

    │ │ │ │ -
    typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT;
    │ │ │ │ -typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT;
    │ │ │ │ +
    typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    An abstract data type representing a physical touch screen or touch │ │ │ │ pad.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT

    │ │ │ │ -
    #define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT        16
    │ │ │ │ -#define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT        16
    │ │ │ │ +
    #define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT        16
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    The maximum amount of simultaneous touches that can be detected.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    ALLEGRO_TOUCH_STATE

    │ │ │ │ -
    typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE;
    │ │ │ │ -typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE;
    │ │ │ │ +
    typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This is a structure that is used to hold a “snapshot” of a touch at a │ │ │ │ particular instant.

    │ │ │ │

    Public fields (read only):

    │ │ │ │
      │ │ │ │ @@ -241,30 +238,28 @@ │ │ │ │ one). │ │ │ │
    • display - The ALLEGRO_DISPLAY that was │ │ │ │ touched.
    • │ │ │ │
    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    ALLEGRO_TOUCH_INPUT_STATE

    │ │ │ │ -
    typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE;
    │ │ │ │ -typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE;
    │ │ │ │ +
    typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This is a structure that holds a snapshot of all simultaneous touches │ │ │ │ at a particular instant.

    │ │ │ │

    Public fields (read only):

    │ │ │ │ │ │ │ │

    Since: 5.1.0

    │ │ │ │

    ALLEGRO_MOUSE_EMULATION_MODE

    │ │ │ │ -
    typedef enum ALLEGRO_MOUSE_EMULATION_MODE
    │ │ │ │ -typedef enum ALLEGRO_MOUSE_EMULATION_MODE
    │ │ │ │ +
    typedef enum ALLEGRO_MOUSE_EMULATION_MODE
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Type of mouse emulation to apply.

    │ │ │ │
    │ │ │ │
    ALLEGRO_MOUSE_EMULATION_NONE
    │ │ │ │
    │ │ │ │ @@ -299,23 +294,14 @@ │ │ │ │ href="https://github.com/liballeg/allegro5/blob/master/src/touch_input.c#L43">Source │ │ │ │ Code

    │ │ │ │

    Install a touch input driver, returning true if successful. If a │ │ │ │ touch input driver was already installed, returns true immediately.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    See also: al_uninstall_touch_input

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_uninstall_touch_input

    │ │ │ │
    void al_uninstall_touch_input(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Uninstalls the active touch input driver. If no touch input driver │ │ │ │ was active, this function does nothing.

    │ │ │ │ @@ -328,23 +314,14 @@ │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if al_install_touch_input was │ │ │ │ called successfully.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_touch_input_state

    │ │ │ │
    void al_get_touch_input_state(ALLEGRO_TOUCH_INPUT_STATE *ret_state)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Gets the current touch input state. The touch information is copied │ │ │ │ into the : Seems of limited value, as touch input tends to have │ │ │ │ different semantics compared to mouse input.

    │ │ │ │ │ │ │ │

    See also: ALLEGRO_MOUSE_EMULATION_MODE, │ │ │ │ al_get_mouse_emulation_mode.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_mouse_emulation_mode

    │ │ │ │
    int al_get_mouse_emulation_mode(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the kind of mouse emulation which the touch input subsystem │ │ │ │ is set to perform.

    │ │ │ │ @@ -399,23 +371,14 @@ │ │ │ │

    Returns the global touch input event source. This event source │ │ │ │ generates touch input │ │ │ │ events.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    See also: ALLEGRO_EVENT_SOURCE, al_register_event_source

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_touch_input_mouse_emulation_event_source

    │ │ │ │
    ALLEGRO_EVENT_SOURCE *al_get_touch_input_mouse_emulation_event_source(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the global touch input event source for emulated mouse │ │ │ │ @@ -427,23 +390,11 @@ │ │ │ │ href="events.html#al_register_event_source">al_register_event_source

    │ │ │ │

    Since: 5.1.0

    │ │ │ │
    │ │ │ │

    Unstable │ │ │ │ API: Seems of limited value, as touch input tends to have │ │ │ │ different semantics compared to mouse input.

    │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │ -

    │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

    │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -56,56 +56,46 @@ │ │ │ │ │ * al_get_mouse_emulation_mode │ │ │ │ │ * al_get_touch_input_event_source │ │ │ │ │ * al_get_touch_input_mouse_emulation_event_source │ │ │ │ │ These functions are declared in the main Allegro header file: │ │ │ │ │ #include │ │ │ │ │ ****** ALLEGRO_TOUCH_INPUT ****** │ │ │ │ │ typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT; │ │ │ │ │ Source_Code │ │ │ │ │ An abstract data type representing a physical touch screen or touch pad. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ ****** ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT ****** │ │ │ │ │ #define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT 16 │ │ │ │ │ - │ │ │ │ │ -#define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT 16 │ │ │ │ │ Source_Code │ │ │ │ │ The maximum amount of simultaneous touches that can be detected. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ ****** ALLEGRO_TOUCH_STATE ****** │ │ │ │ │ typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE; │ │ │ │ │ Source_Code │ │ │ │ │ This is a structure that is used to hold a “snapshot” of a touch at a │ │ │ │ │ particular instant. │ │ │ │ │ Public fields (read only): │ │ │ │ │ * id - identifier of the touch. If the touch is valid, this is positive. │ │ │ │ │ * x - touch x position │ │ │ │ │ * y - touch y position │ │ │ │ │ * dx - touch relative x position │ │ │ │ │ * dy - touch relative y position │ │ │ │ │ * primary - TRUE if this touch is the primary one (usually the first one). │ │ │ │ │ * display - The ALLEGRO_DISPLAY that was touched. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ ****** ALLEGRO_TOUCH_INPUT_STATE ****** │ │ │ │ │ typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE; │ │ │ │ │ Source_Code │ │ │ │ │ This is a structure that holds a snapshot of all simultaneous touches at a │ │ │ │ │ particular instant. │ │ │ │ │ Public fields (read only): │ │ │ │ │ * touches - an array of ALLEGRO_TOUCH_STATE │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ ****** ALLEGRO_MOUSE_EMULATION_MODE ****** │ │ │ │ │ typedef enum ALLEGRO_MOUSE_EMULATION_MODE │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_MOUSE_EMULATION_MODE │ │ │ │ │ Source_Code │ │ │ │ │ Type of mouse emulation to apply. │ │ │ │ │ ALLEGRO_MOUSE_EMULATION_NONE │ │ │ │ │ Disables mouse emulation. │ │ │ │ │ ALLEGRO_MOUSE_EMULATION_TRANSPARENT │ │ │ │ │ Enables transparent mouse emulation. │ │ │ │ │ ALLEGRO_MOUSE_EMULATION_INCLUSIVE │ │ │ │ │ @@ -120,51 +110,41 @@ │ │ │ │ │ ****** al_install_touch_input ****** │ │ │ │ │ bool al_install_touch_input(void) │ │ │ │ │ Source_Code │ │ │ │ │ Install a touch input driver, returning true if successful. If a touch input │ │ │ │ │ driver was already installed, returns true immediately. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_uninstall_touch_input │ │ │ │ │ -Examples: │ │ │ │ │ - * common.c │ │ │ │ │ - * ex_touch_input.c │ │ │ │ │ - * ex_lockbitmap.c │ │ │ │ │ ****** al_uninstall_touch_input ****** │ │ │ │ │ void al_uninstall_touch_input(void) │ │ │ │ │ Source_Code │ │ │ │ │ Uninstalls the active touch input driver. If no touch input driver was active, │ │ │ │ │ this function does nothing. │ │ │ │ │ This function is automatically called when Allegro is shut down. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_install_touch_input │ │ │ │ │ ****** al_is_touch_input_installed ****** │ │ │ │ │ bool al_is_touch_input_installed(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true if al_install_touch_input was called successfully. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_lockbitmap.c │ │ │ │ │ - * ex_haiku.c │ │ │ │ │ - * ex_prim_shader.c │ │ │ │ │ ****** al_get_touch_input_state ****** │ │ │ │ │ void al_get_touch_input_state(ALLEGRO_TOUCH_INPUT_STATE *ret_state) │ │ │ │ │ Source_Code │ │ │ │ │ Gets the current touch input state. The touch information is copied into the │ │ │ │ │ ALLEGRO_TOUCH_INPUT_STATE you provide to this function. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ ****** al_set_mouse_emulation_mode ****** │ │ │ │ │ void al_set_mouse_emulation_mode(int mode) │ │ │ │ │ Source_Code │ │ │ │ │ Sets the kind of mouse emulation for the touch input subsystem to perform. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ Unstable_API: Seems of limited value, as touch input tends to have │ │ │ │ │ different semantics compared to mouse input. │ │ │ │ │ See also: ALLEGRO_MOUSE_EMULATION_MODE, al_get_mouse_emulation_mode. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_native_filechooser.c │ │ │ │ │ ****** al_get_mouse_emulation_mode ****** │ │ │ │ │ int al_get_mouse_emulation_mode(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the kind of mouse emulation which the touch input subsystem is set to │ │ │ │ │ perform. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ Unstable_API: Seems of limited value, as touch input tends to have │ │ │ │ │ @@ -173,25 +153,16 @@ │ │ │ │ │ ****** al_get_touch_input_event_source ****** │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_touch_input_event_source(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the global touch input event source. This event source generates touch │ │ │ │ │ input_events. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: ALLEGRO_EVENT_SOURCE, al_register_event_source │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_touch_input.c │ │ │ │ │ - * ex_android.c │ │ │ │ │ - * ex_polygon.c │ │ │ │ │ ****** al_get_touch_input_mouse_emulation_event_source ****** │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_touch_input_mouse_emulation_event_source(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the global touch input event source for emulated mouse events. This │ │ │ │ │ event source generates emulated_mouse_events that are based on touch events. │ │ │ │ │ See also: ALLEGRO_EVENT_SOURCE, al_register_event_source │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ Unstable_API: Seems of limited value, as touch input tends to have │ │ │ │ │ different semantics compared to mouse input. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_lockbitmap.c │ │ │ │ │ - * ex_haiku.c │ │ │ │ │ - * ex_prim_shader.c │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/transformations.html │ │ │ │ @@ -301,51 +301,36 @@ │ │ │ │ al_use_transform(&T); │ │ │ │

    it does exactly the same as:

    │ │ │ │
    al_identity_transform(&T);
    │ │ │ │  al_scale_transform(&T, 2, 2);
    │ │ │ │  al_translate_transform(&T, 100, 0);
    │ │ │ │  al_use_transform(&T);
    │ │ │ │

    ALLEGRO_TRANSFORM

    │ │ │ │ -
    typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM;
    │ │ │ │ -typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM;
    │ │ │ │ +
    typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Defines the generic transformation type, a 4x4 matrix. 2D transforms │ │ │ │ use only a small subsection of this matrix, namely the top left 2x2 │ │ │ │ matrix, and the right most 2x1 matrix, for a total of 6 values.

    │ │ │ │

    Fields:

    │ │ │ │
      │ │ │ │
    • m - A 4x4 float matrix
    • │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_copy_transform

    │ │ │ │
    void al_copy_transform(ALLEGRO_TRANSFORM *dest, const ALLEGRO_TRANSFORM *src)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Makes a copy of a transformation.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • dest - Source transformation
    • │ │ │ │
    • src - Destination transformation
    • │ │ │ │
    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_use_transform

    │ │ │ │
    void al_use_transform(const ALLEGRO_TRANSFORM *trans)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets the transformation to be used for the the drawing operations on │ │ │ │ the target bitmap (each bitmap maintains its own transformation). Every │ │ │ │ @@ -366,41 +351,25 @@ │ │ │ │

      │ │ │ │
    • trans - Transformation to use
    • │ │ │ │
    │ │ │ │

    See also: al_get_current_transform, │ │ │ │ al_transform_coordinates

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_current_transform

    │ │ │ │
    const ALLEGRO_TRANSFORM *al_get_current_transform(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the transformation of the current target bitmap, as set by al_use_transform. If │ │ │ │ there is no target bitmap, this function returns NULL.

    │ │ │ │

    Returns: A pointer to the current transformation.

    │ │ │ │

    See also: al_get_current_projection_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_use_projection_transform

    │ │ │ │
    void al_use_projection_transform(const ALLEGRO_TRANSFORM *trans)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Sets the projection transformation to be used for the drawing │ │ │ │ operations on the target bitmap (each bitmap maintains its own │ │ │ │ @@ -432,39 +401,25 @@ │ │ │ │

    Since: 5.1.9

    │ │ │ │

    See also: al_get_current_projection_transform, │ │ │ │ al_perspective_transform, │ │ │ │ al_orthographic_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_current_projection_transform

    │ │ │ │
    const ALLEGRO_TRANSFORM *al_get_current_projection_transform(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    If there is no target bitmap, this function returns NULL.

    │ │ │ │

    Returns: A pointer to the current transformation.

    │ │ │ │

    Since: 5.1.9

    │ │ │ │

    See also: al_use_projection_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_current_inverse_transform

    │ │ │ │
    const ALLEGRO_TRANSFORM *al_get_current_inverse_transform(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the inverse of the current transformation of the target │ │ │ │ @@ -565,23 +520,14 @@ │ │ │ │ │ │ │ │

    See also: al_translate_transform, │ │ │ │ al_rotate_transform, │ │ │ │ al_scale_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_build_transform

    │ │ │ │
    void al_build_transform(ALLEGRO_TRANSFORM *trans, float x, float y,
    │ │ │ │     float sx, float sy, float theta)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Builds a transformation given some parameters. This call is │ │ │ │ @@ -604,23 +550,14 @@ │ │ │ │ href="transformations.html#al_translate_transform">al_translate_transform, │ │ │ │ al_rotate_transform, │ │ │ │ al_scale_transform, │ │ │ │ al_compose_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_build_camera_transform

    │ │ │ │
    void al_build_camera_transform(ALLEGRO_TRANSFORM *trans,
    │ │ │ │     float position_x, float position_y, float position_z,
    │ │ │ │     float look_x, float look_y, float look_z,
    │ │ │ │     float up_x, float up_y, float up_z)
    │ │ │ │

    Source │ │ │ │ @@ -661,19 +598,14 @@ │ │ │ │ al_rotate_transform_3d, │ │ │ │ al_scale_transform_3d, │ │ │ │ al_compose_transform, │ │ │ │ al_use_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_translate_transform

    │ │ │ │
    void al_translate_transform(ALLEGRO_TRANSFORM *trans, float x, float y)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Apply a translation to a transformation.

    │ │ │ │

    Parameters:

    │ │ │ │ @@ -683,23 +615,14 @@ │ │ │ │ │ │ │ │

    See also: al_rotate_transform, │ │ │ │ al_scale_transform, │ │ │ │ al_build_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_rotate_transform

    │ │ │ │
    void al_rotate_transform(ALLEGRO_TRANSFORM *trans, float theta)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Apply a rotation to a transformation.

    │ │ │ │

    Parameters:

    │ │ │ │ @@ -709,23 +632,14 @@ │ │ │ │ │ │ │ │

    See also: al_translate_transform, │ │ │ │ al_scale_transform, │ │ │ │ al_build_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_scale_transform

    │ │ │ │
    void al_scale_transform(ALLEGRO_TRANSFORM *trans, float sx, float sy)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Apply a scale to a transformation.

    │ │ │ │

    Parameters:

    │ │ │ │ @@ -735,42 +649,28 @@ │ │ │ │ │ │ │ │

    See also: al_translate_transform, │ │ │ │ al_rotate_transform, │ │ │ │ al_build_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_transform_coordinates

    │ │ │ │
    void al_transform_coordinates(const ALLEGRO_TRANSFORM *trans, float *x, float *y)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Transform a pair of coordinates.

    │ │ │ │

    Parameters:

    │ │ │ │
      │ │ │ │
    • trans - Transformation to use
    • │ │ │ │
    • x, y - Pointers to the coordinates
    • │ │ │ │
    │ │ │ │

    See also: al_use_transform, al_transform_coordinates_3d

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_transform_coordinates_3d

    │ │ │ │
    void al_transform_coordinates_3d(const ALLEGRO_TRANSFORM *trans,
    │ │ │ │     float *x, float *y, float *z)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Transform x, y, z coordinates.

    │ │ │ │ @@ -783,19 +683,14 @@ │ │ │ │ want to use al_transform_coordinates_3d_projective │ │ │ │ instead.

    │ │ │ │

    Since 5.1.9

    │ │ │ │

    See also: al_use_transform, al_transform_coordinates

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_transform_coordinates_4d

    │ │ │ │
    void al_transform_coordinates_4d(const ALLEGRO_TRANSFORM *trans,
    │ │ │ │     float *x, float *y, float *z, float *w)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Transform x, y, z, w coordinates.

    │ │ │ │ @@ -875,19 +770,14 @@ │ │ │ │ │ │ │ │

    See also: al_translate_transform, │ │ │ │ al_rotate_transform, │ │ │ │ al_scale_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_orthographic_transform

    │ │ │ │
    void al_orthographic_transform(ALLEGRO_TRANSFORM *trans,
    │ │ │ │     float left, float top, float n,
    │ │ │ │     float right, float bottom, float f)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -911,19 +801,14 @@ │ │ │ │ href="transformations.html#al_use_projection_transform">al_use_projection_transform │ │ │ │ - see that function for an example use.

    │ │ │ │

    Since: 5.1.3

    │ │ │ │

    See also: al_use_projection_transform, │ │ │ │ al_perspective_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_perspective_transform

    │ │ │ │
    void al_perspective_transform(ALLEGRO_TRANSFORM *trans,
    │ │ │ │     float left, float top, float n,
    │ │ │ │     float right, float bottom, float f)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -992,43 +877,25 @@ │ │ │ │ // pixel (assuming the display is 800 x 450). │ │ │ │ al_draw_filled_rectangle(-1, -1, 1, 1, red); │ │ │ │

    Since: 5.1.3

    │ │ │ │

    See also: al_use_projection_transform, │ │ │ │ al_orthographic_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_translate_transform_3d

    │ │ │ │
    void al_translate_transform_3d(ALLEGRO_TRANSFORM *trans, float x, float y,
    │ │ │ │      float z)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Combines the given transformation with a transformation which │ │ │ │ translates coordinates by the given vector.

    │ │ │ │

    Since: 5.1.3

    │ │ │ │

    See also: al_use_projection_transform

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_scale_transform_3d

    │ │ │ │
    void al_scale_transform_3d(ALLEGRO_TRANSFORM *trans, float sx, float sy,
    │ │ │ │      float sz)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Combines the given transformation with a transformation which scales │ │ │ │ @@ -1043,23 +910,14 @@ │ │ │ │ href="https://github.com/liballeg/allegro5/blob/master/src/transformations.c#L566">Source │ │ │ │ Code

    │ │ │ │

    Combines the given transformation with a transformation which rotates │ │ │ │ coordinates around the given vector by the given angle in radians.

    │ │ │ │

    Note: The vector is assumed to be of unit length (otherwise it will │ │ │ │ also incur a scale).

    │ │ │ │

    Since: 5.1.3

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_horizontal_shear_transform

    │ │ │ │
    void al_horizontal_shear_transform(ALLEGRO_TRANSFORM* trans, float theta)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Apply a horizontal shear to the transform

    │ │ │ │ @@ -1081,14 +939,11 @@ │ │ │ │
      │ │ │ │
    • trans - Transformation to alter
    • │ │ │ │
    • theta - Rotation angle in radians
    • │ │ │ │
    │ │ │ │

    Since: 5.1.7

    │ │ │ │

    See also: al_horizontal_shear_transform

    │ │ │ │ -

    │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

    │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -144,35 +144,27 @@ │ │ │ │ │ al_scale_transform(&T, 2, 2); │ │ │ │ │ │ │ │ │ │ al_translate_transform(&T, 100, 0); │ │ │ │ │ │ │ │ │ │ al_use_transform(&T); │ │ │ │ │ ****** ALLEGRO_TRANSFORM ****** │ │ │ │ │ typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM; │ │ │ │ │ - │ │ │ │ │ -typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM; │ │ │ │ │ Source_Code │ │ │ │ │ Defines the generic transformation type, a 4x4 matrix. 2D transforms use only a │ │ │ │ │ small subsection of this matrix, namely the top left 2x2 matrix, and the right │ │ │ │ │ most 2x1 matrix, for a total of 6 values. │ │ │ │ │ Fields: │ │ │ │ │ * m - A 4x4 float matrix │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_audio_timer.c │ │ │ │ │ ****** al_copy_transform ****** │ │ │ │ │ void al_copy_transform(ALLEGRO_TRANSFORM *dest, const ALLEGRO_TRANSFORM *src) │ │ │ │ │ Source_Code │ │ │ │ │ Makes a copy of a transformation. │ │ │ │ │ Parameters: │ │ │ │ │ * dest - Source transformation │ │ │ │ │ * src - Destination transformation │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ ****** al_use_transform ****** │ │ │ │ │ void al_use_transform(const ALLEGRO_TRANSFORM *trans) │ │ │ │ │ Source_Code │ │ │ │ │ Sets the transformation to be used for the the drawing operations on the target │ │ │ │ │ bitmap (each bitmap maintains its own transformation). Every drawing operation │ │ │ │ │ after this call will be transformed using this transformation. Call this │ │ │ │ │ function with an identity transformation to return to the default behaviour. │ │ │ │ │ @@ -190,28 +182,21 @@ │ │ │ │ │ │ │ │ │ │ al_use_transform(&transform); │ │ │ │ │ │ │ │ │ │ } │ │ │ │ │ Parameters: │ │ │ │ │ * trans - Transformation to use │ │ │ │ │ See also: al_get_current_transform, al_transform_coordinates │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_audio_timer.c │ │ │ │ │ ****** al_get_current_transform ****** │ │ │ │ │ const ALLEGRO_TRANSFORM *al_get_current_transform(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the transformation of the current target bitmap, as set by al_use_ │ │ │ │ │ transform. If there is no target bitmap, this function returns NULL. │ │ │ │ │ Returns: A pointer to the current transformation. │ │ │ │ │ See also: al_get_current_projection_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_color_gradient.c │ │ │ │ │ ****** al_use_projection_transform ****** │ │ │ │ │ void al_use_projection_transform(const ALLEGRO_TRANSFORM *trans) │ │ │ │ │ Source_Code │ │ │ │ │ Sets the projection transformation to be used for the drawing operations on the │ │ │ │ │ target bitmap (each bitmap maintains its own projection transformation). Every │ │ │ │ │ drawing operation after this call will be transformed using this │ │ │ │ │ transformation. To return default behavior, call this function with an │ │ │ │ │ @@ -240,27 +225,21 @@ │ │ │ │ │ projection transform of the target bitmap was temporarily reset to default). │ │ │ │ │ The parameter is passed by reference as an optimization to avoid the overhead │ │ │ │ │ of stack copying. The reference will not be stored in the Allegro library so it │ │ │ │ │ is safe to pass references to local variables. │ │ │ │ │ Since: 5.1.9 │ │ │ │ │ See also: al_get_current_projection_transform, al_perspective_transform, al_ │ │ │ │ │ orthographic_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_projection.c │ │ │ │ │ - * ex_depth_target.c │ │ │ │ │ - * ex_projection2.c │ │ │ │ │ ****** al_get_current_projection_transform ****** │ │ │ │ │ const ALLEGRO_TRANSFORM *al_get_current_projection_transform(void) │ │ │ │ │ Source_Code │ │ │ │ │ If there is no target bitmap, this function returns NULL. │ │ │ │ │ Returns: A pointer to the current transformation. │ │ │ │ │ Since: 5.1.9 │ │ │ │ │ See also: al_use_projection_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_camera.c │ │ │ │ │ ****** al_get_current_inverse_transform ****** │ │ │ │ │ const ALLEGRO_TRANSFORM *al_get_current_inverse_transform(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the inverse of the current transformation of the target bitmap. If │ │ │ │ │ there is no target bitmap, this function returns NULL. │ │ │ │ │ This is similar to calling al_invert_transform(al_get_current_transform()) but │ │ │ │ │ the result of this function is cached. │ │ │ │ │ @@ -332,18 +311,14 @@ │ │ │ │ │ │ │ │ │ │ al_identity_transform(&t); │ │ │ │ │ │ │ │ │ │ al_use_transform(&t); │ │ │ │ │ Parameters: │ │ │ │ │ * trans - Transformation to alter │ │ │ │ │ See also: al_translate_transform, al_rotate_transform, al_scale_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_audio_timer.c │ │ │ │ │ ****** al_build_transform ****** │ │ │ │ │ void al_build_transform(ALLEGRO_TRANSFORM *trans, float x, float y, │ │ │ │ │ │ │ │ │ │ float sx, float sy, float theta) │ │ │ │ │ Source_Code │ │ │ │ │ Builds a transformation given some parameters. This call is equivalent to │ │ │ │ │ calling the transformations in this order: make identity, rotate, scale, │ │ │ │ │ @@ -355,18 +330,14 @@ │ │ │ │ │ * sx, sy - Scale │ │ │ │ │ * theta - Rotation angle in radians │ │ │ │ │ Note: this function was previously documented to be equivalent to a │ │ │ │ │ different (and more useful) order of operations: identity, scale, │ │ │ │ │ rotate, translate. │ │ │ │ │ See also: al_translate_transform, al_rotate_transform, al_scale_transform, al_ │ │ │ │ │ compose_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_threads.c │ │ │ │ │ - * ex_color_gradient.c │ │ │ │ │ - * ex_prim.c │ │ │ │ │ ****** al_build_camera_transform ****** │ │ │ │ │ void al_build_camera_transform(ALLEGRO_TRANSFORM *trans, │ │ │ │ │ │ │ │ │ │ float position_x, float position_y, float position_z, │ │ │ │ │ │ │ │ │ │ float look_x, float look_y, float look_z, │ │ │ │ │ │ │ │ │ │ @@ -407,78 +378,60 @@ │ │ │ │ │ │ │ │ │ │ 5, 5, 5, │ │ │ │ │ │ │ │ │ │ 1, 1, 0); │ │ │ │ │ Since 5.1.9 │ │ │ │ │ See also: al_translate_transform_3d, al_rotate_transform_3d, al_scale_ │ │ │ │ │ transform_3d, al_compose_transform, al_use_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_camera.c │ │ │ │ │ ****** al_translate_transform ****** │ │ │ │ │ void al_translate_transform(ALLEGRO_TRANSFORM *trans, float x, float y) │ │ │ │ │ Source_Code │ │ │ │ │ Apply a translation to a transformation. │ │ │ │ │ Parameters: │ │ │ │ │ * trans - Transformation to alter │ │ │ │ │ * x, y - Translation │ │ │ │ │ See also: al_rotate_transform, al_scale_transform, al_build_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader.cpp │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_polygon.c │ │ │ │ │ ****** al_rotate_transform ****** │ │ │ │ │ void al_rotate_transform(ALLEGRO_TRANSFORM *trans, float theta) │ │ │ │ │ Source_Code │ │ │ │ │ Apply a rotation to a transformation. │ │ │ │ │ Parameters: │ │ │ │ │ * trans - Transformation to alter │ │ │ │ │ * theta - Rotation angle in radians │ │ │ │ │ See also: al_translate_transform, al_scale_transform, al_build_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_depth_mask.c │ │ │ │ │ - * ex_projection.c │ │ │ │ │ - * ex_depth_target.c │ │ │ │ │ ****** al_scale_transform ****** │ │ │ │ │ void al_scale_transform(ALLEGRO_TRANSFORM *trans, float sx, float sy) │ │ │ │ │ Source_Code │ │ │ │ │ Apply a scale to a transformation. │ │ │ │ │ Parameters: │ │ │ │ │ * trans - Transformation to alter │ │ │ │ │ * sx, sy - Scale │ │ │ │ │ See also: al_translate_transform, al_rotate_transform, al_build_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_shader_target.c │ │ │ │ │ - * ex_audio_timer.c │ │ │ │ │ - * ex_polygon.c │ │ │ │ │ ****** al_transform_coordinates ****** │ │ │ │ │ void al_transform_coordinates(const ALLEGRO_TRANSFORM *trans, float *x, float │ │ │ │ │ *y) │ │ │ │ │ Source_Code │ │ │ │ │ Transform a pair of coordinates. │ │ │ │ │ Parameters: │ │ │ │ │ * trans - Transformation to use │ │ │ │ │ * x, y - Pointers to the coordinates │ │ │ │ │ See also: al_use_transform, al_transform_coordinates_3d │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_camera.c │ │ │ │ │ ****** al_transform_coordinates_3d ****** │ │ │ │ │ void al_transform_coordinates_3d(const ALLEGRO_TRANSFORM *trans, │ │ │ │ │ │ │ │ │ │ float *x, float *y, float *z) │ │ │ │ │ Source_Code │ │ │ │ │ Transform x, y, z coordinates. │ │ │ │ │ Parameters: │ │ │ │ │ * trans - Transformation to use │ │ │ │ │ * x, y, z - Pointers to the coordinates │ │ │ │ │ Note: If you are using a projection transform you most likely will want to use │ │ │ │ │ al_transform_coordinates_3d_projective instead. │ │ │ │ │ Since 5.1.9 │ │ │ │ │ See also: al_use_transform, al_transform_coordinates │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_camera.c │ │ │ │ │ ****** al_transform_coordinates_4d ****** │ │ │ │ │ void al_transform_coordinates_4d(const ALLEGRO_TRANSFORM *trans, │ │ │ │ │ │ │ │ │ │ float *x, float *y, float *z, float *w) │ │ │ │ │ Source_Code │ │ │ │ │ Transform x, y, z, w coordinates. │ │ │ │ │ Parameters: │ │ │ │ │ @@ -544,16 +497,14 @@ │ │ │ │ │ Note that the order of matrix multiplications is important. The effect of │ │ │ │ │ applying the combined transform will be as if first applying trans and then │ │ │ │ │ applying other and not the other way around. │ │ │ │ │ Parameters: │ │ │ │ │ * trans - Transformation to alter │ │ │ │ │ * other - Transformation used to transform trans │ │ │ │ │ See also: al_translate_transform, al_rotate_transform, al_scale_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_color_gradient.c │ │ │ │ │ ****** al_orthographic_transform ****** │ │ │ │ │ void al_orthographic_transform(ALLEGRO_TRANSFORM *trans, │ │ │ │ │ │ │ │ │ │ float left, float top, float n, │ │ │ │ │ │ │ │ │ │ float right, float bottom, float f) │ │ │ │ │ Source_Code │ │ │ │ │ @@ -571,16 +522,14 @@ │ │ │ │ │ artifacts. │ │ │ │ │ The result of applying this transformation to coordinates will be to normalize │ │ │ │ │ visible coordinates into the cube from -1/-1/-1 to 1/1/1. Such a transformation │ │ │ │ │ is mostly useful for passing it to al_use_projection_transform - see that │ │ │ │ │ function for an example use. │ │ │ │ │ Since: 5.1.3 │ │ │ │ │ See also: al_use_projection_transform, al_perspective_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_depth_target.c │ │ │ │ │ ****** al_perspective_transform ****** │ │ │ │ │ void al_perspective_transform(ALLEGRO_TRANSFORM *trans, │ │ │ │ │ │ │ │ │ │ float left, float top, float n, │ │ │ │ │ │ │ │ │ │ float right, float bottom, float f) │ │ │ │ │ Source_Code │ │ │ │ │ @@ -688,31 +637,23 @@ │ │ │ │ │ // 50%. This rectangle therefore will appear at a size of 400 x 225 │ │ │ │ │ │ │ │ │ │ // pixel (assuming the display is 800 x 450). │ │ │ │ │ │ │ │ │ │ al_draw_filled_rectangle(-1, -1, 1, 1, red); │ │ │ │ │ Since: 5.1.3 │ │ │ │ │ See also: al_use_projection_transform, al_orthographic_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_projection.c │ │ │ │ │ - * ex_projection2.c │ │ │ │ │ - * ex_camera.c │ │ │ │ │ ****** al_translate_transform_3d ****** │ │ │ │ │ void al_translate_transform_3d(ALLEGRO_TRANSFORM *trans, float x, float y, │ │ │ │ │ │ │ │ │ │ float z) │ │ │ │ │ Source_Code │ │ │ │ │ Combines the given transformation with a transformation which translates │ │ │ │ │ coordinates by the given vector. │ │ │ │ │ Since: 5.1.3 │ │ │ │ │ See also: al_use_projection_transform │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_projection.c │ │ │ │ │ - * ex_depth_target.c │ │ │ │ │ - * ex_projection2.c │ │ │ │ │ ****** al_scale_transform_3d ****** │ │ │ │ │ void al_scale_transform_3d(ALLEGRO_TRANSFORM *trans, float sx, float sy, │ │ │ │ │ │ │ │ │ │ float sz) │ │ │ │ │ Source_Code │ │ │ │ │ Combines the given transformation with a transformation which scales │ │ │ │ │ coordinates by the given vector. │ │ │ │ │ @@ -724,18 +665,14 @@ │ │ │ │ │ float x, float y, float z, float angle) │ │ │ │ │ Source_Code │ │ │ │ │ Combines the given transformation with a transformation which rotates │ │ │ │ │ coordinates around the given vector by the given angle in radians. │ │ │ │ │ Note: The vector is assumed to be of unit length (otherwise it will also incur │ │ │ │ │ a scale). │ │ │ │ │ Since: 5.1.3 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_projection.c │ │ │ │ │ - * ex_depth_target.c │ │ │ │ │ - * ex_projection2.c │ │ │ │ │ ****** al_horizontal_shear_transform ****** │ │ │ │ │ void al_horizontal_shear_transform(ALLEGRO_TRANSFORM* trans, float theta) │ │ │ │ │ Source_Code │ │ │ │ │ Apply a horizontal shear to the transform │ │ │ │ │ Parameters: │ │ │ │ │ * trans - Transformation to alter │ │ │ │ │ * theta - Rotation angle in radians │ │ │ │ │ @@ -746,8 +683,7 @@ │ │ │ │ │ Source_Code │ │ │ │ │ Apply a vertical shear to the transform │ │ │ │ │ Parameters: │ │ │ │ │ * trans - Transformation to alter │ │ │ │ │ * theta - Rotation angle in radians │ │ │ │ │ Since: 5.1.7 │ │ │ │ │ See also: al_horizontal_shear_transform │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/utf8.html │ │ │ │ @@ -437,55 +437,35 @@ │ │ │ │

    For actual text processing, where you want to specify positions with │ │ │ │ code point indices, you should use al_ustr_offset to find the code unit │ │ │ │ offset position. However, most of the time you would probably just work │ │ │ │ with byte offsets.

    │ │ │ │

    UTF-8 string types

    │ │ │ │

    ALLEGRO_USTR

    │ │ │ │ -
    typedef struct _al_tagbstring ALLEGRO_USTR;
    │ │ │ │ -typedef struct _al_tagbstring ALLEGRO_USTR;
    │ │ │ │ +
    typedef struct _al_tagbstring ALLEGRO_USTR;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    An opaque type representing a string. ALLEGRO_USTRs normally contain │ │ │ │ UTF-8 encoded strings, but they may be used to hold any byte sequences, │ │ │ │ including NULs.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    ALLEGRO_USTR_INFO

    │ │ │ │ -
    typedef struct _al_tagbstring ALLEGRO_USTR_INFO;
    │ │ │ │ -typedef struct _al_tagbstring ALLEGRO_USTR_INFO;
    │ │ │ │ +
    typedef struct _al_tagbstring ALLEGRO_USTR_INFO;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    A type that holds additional information for an ALLEGRO_USTR that references an │ │ │ │ external memory buffer. You can convert it back to ALLEGRO_USTR via al_ref_info.

    │ │ │ │

    See also: al_ref_cstr, al_ref_buffer, al_ref_info and al_ref_ustr.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Creating and destroying │ │ │ │ strings

    │ │ │ │

    al_ustr_new

    │ │ │ │
    ALLEGRO_USTR *al_ustr_new(const char *s)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -493,38 +473,24 @@ │ │ │ │ s. The string must eventually be freed with al_ustr_free.

    │ │ │ │

    See also: al_ustr_new_from_buffer, al_ustr_newf, al_ustr_dup, al_ustr_new_from_utf16

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_new_from_buffer

    │ │ │ │
    ALLEGRO_USTR *al_ustr_new_from_buffer(const char *s, size_t size)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Create a new string containing a copy of the buffer pointed to by │ │ │ │ s of the given size in bytes. The string must │ │ │ │ eventually be freed with al_ustr_free.

    │ │ │ │

    See also: al_ustr_new

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_newf

    │ │ │ │
    ALLEGRO_USTR *al_ustr_newf(const char *fmt, ...)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Create a new string using a printf-style format string.

    │ │ │ │

    Notes:

    │ │ │ │ @@ -537,38 +503,24 @@ │ │ │ │ code point. Therefore it is only usable for ASCII characters (value │ │ │ │ <= 127) or if you really mean to output byte values from 128–255. To │ │ │ │ insert the UTF-8 encoding of a code point, encode it into a memory │ │ │ │ buffer using al_utf8_encode then │ │ │ │ use the “%s” specifier. Remember to NUL terminate the buffer.

    │ │ │ │

    See also: al_ustr_new, al_ustr_appendf

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_free

    │ │ │ │
    void al_ustr_free(ALLEGRO_USTR *us)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Free a previously allocated string. Does nothing if the argument is │ │ │ │ NULL.

    │ │ │ │

    See also: al_ustr_new, al_ustr_new_from_buffer, al_ustr_newf

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_cstr

    │ │ │ │
    const char *al_cstr(const ALLEGRO_USTR *us)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Get a char * pointer to the data in a string. This │ │ │ │ pointer will only be valid while the

    If the ALLEGRO_USTR references another string, the returned C │ │ │ │ string will point into the referenced string. Again, no NUL terminator │ │ │ │ will be added to the referenced string.

    │ │ │ │ │ │ │ │

    See also: al_ustr_to_buffer, al_cstr_dup

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_to_buffer

    │ │ │ │
    void al_ustr_to_buffer(const ALLEGRO_USTR *us, char *buffer, int size)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Write the contents of the string into a pre-allocated buffer of the │ │ │ │ given size in bytes. The result will always be NUL terminated, so a │ │ │ │ maximum of size - 1 bytes will be copied.

    │ │ │ │

    See also: al_cstr, al_cstr_dup

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_cstr_dup

    │ │ │ │
    char *al_cstr_dup(const ALLEGRO_USTR *us)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Create a NUL ('\0') terminated copy of the string. Any │ │ │ │ embedded NUL bytes will still be presented in the returned string. The │ │ │ │ new string must eventually be freed with al_free.

    │ │ │ │

    If an error occurs NULL is returned.

    │ │ │ │

    See also: al_cstr, al_ustr_to_buffer, al_free

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_dup

    │ │ │ │
    ALLEGRO_USTR *al_ustr_dup(const ALLEGRO_USTR *us)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return a duplicate copy of a string. The new string will need to be │ │ │ │ freed with al_ustr_free.

    │ │ │ │

    See also: al_ustr_dup_substr, al_ustr_free

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_dup_substr

    │ │ │ │
    ALLEGRO_USTR *al_ustr_dup_substr(const ALLEGRO_USTR *us, int start_pos,
    │ │ │ │     int end_pos)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return a new copy of a string, containing its contents in the byte │ │ │ │ @@ -658,32 +586,22 @@ │ │ │ │ will be NUL terminated and will need to be freed with al_ustr_free.

    │ │ │ │

    If necessary, use al_ustr_offset to find the byte │ │ │ │ offsets for a given code point that you are interested in.

    │ │ │ │

    See also: al_ustr_dup, al_ustr_free

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    Predefined strings

    │ │ │ │

    al_ustr_empty_string

    │ │ │ │
    const ALLEGRO_USTR *al_ustr_empty_string(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return a pointer to a static empty string. The string is read only │ │ │ │ and must not be freed.

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    Creating strings by │ │ │ │ referencing other data

    │ │ │ │

    al_ref_cstr

    │ │ │ │
    const ALLEGRO_USTR *al_ref_cstr(ALLEGRO_USTR_INFO *info, const char *s)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -695,41 +613,25 @@ │ │ │ │ operation is required.

    │ │ │ │

    The string is valid until the underlying C string disappears.

    │ │ │ │

    Example:

    │ │ │ │
    ALLEGRO_USTR_INFO info;
    │ │ │ │  ALLEGRO_USTR *us = al_ref_cstr(&info, "my string");
    │ │ │ │

    See also: al_ref_buffer, al_ref_ustr

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ref_buffer

    │ │ │ │
    const ALLEGRO_USTR *al_ref_buffer(ALLEGRO_USTR_INFO *info, const char *s, size_t size)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Create a string that references the storage of an underlying buffer. │ │ │ │ The size of the buffer is given in bytes. You can use it to reference │ │ │ │ only part of a string or an arbitrary region of memory.

    │ │ │ │

    The string is valid while the underlying memory buffer is valid.

    │ │ │ │

    See also: al_ref_cstr, al_ref_ustr

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ref_ustr

    │ │ │ │
    const ALLEGRO_USTR *al_ref_ustr(ALLEGRO_USTR_INFO *info, const ALLEGRO_USTR *us,
    │ │ │ │     int start_pos, int end_pos)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Create a read-only string that references the storage of another The string is valid until the underlying string is modified or │ │ │ │ destroyed.

    │ │ │ │

    If you need a range of code-points instead of bytes, use al_ustr_offset to find the byte │ │ │ │ offsets.

    │ │ │ │

    See also: al_ref_cstr, al_ref_buffer

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ref_info

    │ │ │ │
    const ALLEGRO_USTR *al_ref_info(const ALLEGRO_USTR_INFO *info)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Create a read-only string that references the storage of another ALLEGRO_USTR string that has already │ │ │ │ @@ -777,60 +670,35 @@ │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the size of the string in bytes. This is equal to the number │ │ │ │ of code points in the string if the string is empty or contains only │ │ │ │ 7-bit ASCII characters.

    │ │ │ │

    See also: al_ustr_length

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_length

    │ │ │ │
    size_t al_ustr_length(const ALLEGRO_USTR *us)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the number of code points in the string.

    │ │ │ │

    See also: al_ustr_size, al_ustr_offset

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_offset

    │ │ │ │
    int al_ustr_offset(const ALLEGRO_USTR *us, int index)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the byte offset (from the start of the string) of the code │ │ │ │ point at the specified index in the string. A zero index parameter will │ │ │ │ return the first character of the string. If index is negative, it │ │ │ │ counts backward from the end of the string, so an index of -1 will │ │ │ │ return an offset to the last code point.

    │ │ │ │

    If the index is past the end of the string, returns the offset of the │ │ │ │ end of the string.

    │ │ │ │

    See also: al_ustr_length

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_next

    │ │ │ │
    bool al_ustr_next(const ALLEGRO_USTR *us, int *pos)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Find the byte offset of the next code point in string, beginning at │ │ │ │ *pos. *pos does not have to be at the │ │ │ │ @@ -840,21 +708,14 @@ │ │ │ │ *pos was already at the end of the string, and │ │ │ │ *pos is unmodified.

    │ │ │ │

    This function just looks for an appropriate byte; it doesn’t check if │ │ │ │ found offset is the beginning of a valid code point. If you are working │ │ │ │ with possibly invalid UTF-8 strings then it could skip over some invalid │ │ │ │ bytes.

    │ │ │ │

    See also: al_ustr_prev

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_prev

    │ │ │ │
    bool al_ustr_prev(const ALLEGRO_USTR *us, int *pos)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Find the byte offset of the previous code point in string, before │ │ │ │ *pos. *pos does not have to be at the │ │ │ │ @@ -863,62 +724,41 @@ │ │ │ │ Otherwise returns false if *pos was already at the end of │ │ │ │ the string, and *pos is unmodified.

    │ │ │ │

    This function just looks for an appropriate byte; it doesn’t check if │ │ │ │ found offset is the beginning of a valid code point. If you are working │ │ │ │ with possibly invalid UTF-8 strings then it could skip over some invalid │ │ │ │ bytes.

    │ │ │ │

    See also: al_ustr_next

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Getting code points

    │ │ │ │

    al_ustr_get

    │ │ │ │
    int32_t al_ustr_get(const ALLEGRO_USTR *ub, int pos)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return the code point in ub beginning at byte offset │ │ │ │ pos.

    │ │ │ │

    On success returns the code point value. If pos was out │ │ │ │ of bounds (e.g. past the end of the string), return -1. On an error, │ │ │ │ such as an invalid byte sequence, return -2.

    │ │ │ │

    See also: al_ustr_get_next, │ │ │ │ al_ustr_prev_get

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_get_next

    │ │ │ │
    int32_t al_ustr_get_next(const ALLEGRO_USTR *us, int *pos)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Find the code point in us beginning at byte offset │ │ │ │ *pos, then advance to the next code point.

    │ │ │ │

    On success return the code point value. If pos was out │ │ │ │ of bounds (e.g. past the end of the string), return -1. On an error, │ │ │ │ such as an invalid byte sequence, return -2. As with al_ustr_next, invalid byte sequences │ │ │ │ may be skipped while advancing.

    │ │ │ │

    See also: al_ustr_get, al_ustr_prev_get

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_prev_get

    │ │ │ │
    int32_t al_ustr_prev_get(const ALLEGRO_USTR *us, int *pos)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Find the beginning of a code point before byte offset │ │ │ │ *pos, then return it. Note this performs a │ │ │ │ @@ -926,19 +766,14 @@ │ │ │ │

    On success returns the code point value. If pos was out │ │ │ │ of bounds (e.g. past the end of the string), return -1. On an error, │ │ │ │ such as an invalid byte sequence, return -2. As with al_ustr_prev, invalid byte sequences │ │ │ │ may be skipped while advancing.

    │ │ │ │

    See also: al_ustr_get_next

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    Inserting into strings

    │ │ │ │

    al_ustr_insert

    │ │ │ │
    bool al_ustr_insert(ALLEGRO_USTR *us1, int pos, const ALLEGRO_USTR *us2)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Insert us2 into us1 beginning at byte │ │ │ │ @@ -951,55 +786,36 @@ │ │ │ │ offset for a given code point index.

    │ │ │ │

    Returns true on success, false on error.

    │ │ │ │

    See also: al_ustr_insert_cstr, al_ustr_insert_chr, al_ustr_append, al_ustr_offset

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_insert_cstr

    │ │ │ │
    bool al_ustr_insert_cstr(ALLEGRO_USTR *us, int pos, const char *s)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_ustr_insert but │ │ │ │ inserts a C-style string at byte offset pos.

    │ │ │ │

    See also: al_ustr_insert, al_ustr_insert_chr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_insert_chr

    │ │ │ │
    size_t al_ustr_insert_chr(ALLEGRO_USTR *us, int pos, int32_t c)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Insert a code point into us beginning at byte offset │ │ │ │ pos. pos cannot be less than 0. If │ │ │ │ pos is past the end of us then the space │ │ │ │ between the end of the string and pos will be padded with │ │ │ │ NUL ('\0') bytes.

    │ │ │ │

    Returns the number of bytes inserted, or 0 on error.

    │ │ │ │

    See also: al_ustr_insert, al_ustr_insert_cstr

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Appending to strings

    │ │ │ │

    al_ustr_append

    │ │ │ │
    bool al_ustr_append(ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Append us2 to the end of us1.

    │ │ │ │ @@ -1008,208 +824,138 @@ │ │ │ │
      ALLEGRO_USTR_INFO info;
    │ │ │ │    al_ustr_append(us, al_ref_buffer(&info, buf, size));
    │ │ │ │

    See also: al_ustr_append_cstr, al_ustr_append_chr, al_ustr_appendf, al_ustr_vappendf

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_append_cstr

    │ │ │ │
    bool al_ustr_append_cstr(ALLEGRO_USTR *us, const char *s)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Append C-style string s to the end of │ │ │ │ us.

    │ │ │ │

    Returns true on success, false on error.

    │ │ │ │

    See also: al_ustr_append

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_append_chr

    │ │ │ │
    size_t al_ustr_append_chr(ALLEGRO_USTR *us, int32_t c)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Append a code point to the end of us.

    │ │ │ │

    Returns the number of bytes added, or 0 on error.

    │ │ │ │

    See also: al_ustr_append

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_appendf

    │ │ │ │
    bool al_ustr_appendf(ALLEGRO_USTR *us, const char *fmt, ...)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This function appends formatted output to the string us. │ │ │ │ fmt is a printf-style format string. See al_ustr_newf about the “%s” and “%c” │ │ │ │ specifiers.

    │ │ │ │

    Returns true on success, false on error.

    │ │ │ │

    See also: al_ustr_vappendf, │ │ │ │ al_ustr_append

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_vappendf

    │ │ │ │
    bool al_ustr_vappendf(ALLEGRO_USTR *us, const char *fmt, va_list ap)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_ustr_appendf but you │ │ │ │ pass the variable argument list directly, instead of the arguments │ │ │ │ themselves. See al_ustr_newf about │ │ │ │ the “%s” and “%c” specifiers.

    │ │ │ │

    Returns true on success, false on error.

    │ │ │ │

    See also: al_ustr_appendf, al_ustr_append

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    Removing parts of strings

    │ │ │ │

    al_ustr_remove_chr

    │ │ │ │
    bool al_ustr_remove_chr(ALLEGRO_USTR *us, int pos)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Remove the code point beginning at byte offset pos. │ │ │ │ Returns true on success. If pos is out of range or │ │ │ │ pos is not the beginning of a valid code point, returns │ │ │ │ false leaving the string unmodified.

    │ │ │ │

    Use al_ustr_offset to find the │ │ │ │ byte offset for a code-points offset.

    │ │ │ │

    See also: al_ustr_remove_range

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_remove_range

    │ │ │ │
    bool al_ustr_remove_range(ALLEGRO_USTR *us, int start_pos, int end_pos)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Remove the interval [start_pos, end_pos) │ │ │ │ from a string. start_pos and end_pos are byte │ │ │ │ offsets. Both may be past the end of the string but cannot be less than │ │ │ │ 0 (the start of the string).

    │ │ │ │

    Returns true on success, false on error.

    │ │ │ │

    See also: al_ustr_remove_chr, al_ustr_truncate

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_truncate

    │ │ │ │
    bool al_ustr_truncate(ALLEGRO_USTR *us, int start_pos)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Truncate a portion of a string from byte offset │ │ │ │ start_pos onwards. start_pos can be past the │ │ │ │ end of the string (has no effect) but cannot be less than 0.

    │ │ │ │

    Returns true on success, false on error.

    │ │ │ │

    See also: al_ustr_remove_range, al_ustr_ltrim_ws, al_ustr_rtrim_ws, al_ustr_trim_ws

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_ltrim_ws

    │ │ │ │
    bool al_ustr_ltrim_ws(ALLEGRO_USTR *us)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Remove leading whitespace characters from a string, as defined by the │ │ │ │ C function isspace().

    │ │ │ │

    Returns true on success, or false on error.

    │ │ │ │

    See also: al_ustr_rtrim_ws, │ │ │ │ al_ustr_trim_ws

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_rtrim_ws

    │ │ │ │
    bool al_ustr_rtrim_ws(ALLEGRO_USTR *us)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Remove trailing (“right”) whitespace characters from a string, as │ │ │ │ defined by the C function isspace().

    │ │ │ │

    Returns true on success, or false on error.

    │ │ │ │

    See also: al_ustr_ltrim_ws, │ │ │ │ al_ustr_trim_ws

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_trim_ws

    │ │ │ │
    bool al_ustr_trim_ws(ALLEGRO_USTR *us)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Remove both leading and trailing whitespace characters from a │ │ │ │ string.

    │ │ │ │

    Returns true on success, or false on error.

    │ │ │ │

    See also: al_ustr_ltrim_ws, │ │ │ │ al_ustr_rtrim_ws

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Assigning one string to │ │ │ │ another

    │ │ │ │

    al_ustr_assign

    │ │ │ │
    bool al_ustr_assign(ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Overwrite the string us1 with another string │ │ │ │ us2. Returns true on success, false on error.

    │ │ │ │

    See also: al_ustr_assign_substr, al_ustr_assign_cstr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_assign_substr

    │ │ │ │
    bool al_ustr_assign_substr(ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2,
    │ │ │ │     int start_pos, int end_pos)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Overwrite the string us1 with the contents of │ │ │ │ @@ -1218,35 +964,25 @@ │ │ │ │ us2.

    │ │ │ │

    Usually you will first have to use al_ustr_offset to find the byte │ │ │ │ offsets.

    │ │ │ │

    Returns true on success, false on error.

    │ │ │ │

    See also: al_ustr_assign, al_ustr_assign_cstr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_assign_cstr

    │ │ │ │
    bool al_ustr_assign_cstr(ALLEGRO_USTR *us1, const char *s)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Overwrite the string us1 with the contents of the │ │ │ │ C-style string s. Returns true on success, false on │ │ │ │ error.

    │ │ │ │

    See also: al_ustr_assign_substr, al_ustr_assign_cstr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    Replacing parts of string

    │ │ │ │

    al_ustr_set_chr

    │ │ │ │
    size_t al_ustr_set_chr(ALLEGRO_USTR *us, int start_pos, int32_t c)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Replace the code point beginning at byte offset │ │ │ │ @@ -1256,21 +992,14 @@ │ │ │ │ start_pos will be padded with NUL ('\0') │ │ │ │ bytes. If start_pos is not the start of a valid code point, │ │ │ │ that is an error and the string will be unmodified.

    │ │ │ │

    On success, returns the number of bytes written, i.e. the offset to │ │ │ │ the following code point. On error, returns 0.

    │ │ │ │

    See also: al_ustr_replace_range

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_replace_range

    │ │ │ │
    bool al_ustr_replace_range(ALLEGRO_USTR *us1, int start_pos1, int end_pos1,
    │ │ │ │     const ALLEGRO_USTR *us2)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Replace the part of us1 in the byte interval │ │ │ │ @@ -1279,85 +1008,60 @@ │ │ │ │ start_pos1 is past the end of us1 then the │ │ │ │ space between the end of the string and start_pos1 will be │ │ │ │ padded with NUL ('\0') bytes.

    │ │ │ │

    Use al_ustr_offset to find the │ │ │ │ byte offsets.

    │ │ │ │

    Returns true on success, false on error.

    │ │ │ │

    See also: al_ustr_set_chr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    Searching

    │ │ │ │

    al_ustr_find_chr

    │ │ │ │
    int al_ustr_find_chr(const ALLEGRO_USTR *us, int start_pos, int32_t c)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Search for the encoding of code point c in │ │ │ │ us from byte offset start_pos (inclusive).

    │ │ │ │

    Returns the position where it is found or -1 if it is not found.

    │ │ │ │

    See also: al_ustr_rfind_chr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_rfind_chr

    │ │ │ │
    int al_ustr_rfind_chr(const ALLEGRO_USTR *us, int end_pos, int32_t c)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Search for the encoding of code point c in │ │ │ │ us backwards from byte offset end_pos │ │ │ │ (exclusive). Returns the position where it is found or -1 if it is not │ │ │ │ found.

    │ │ │ │

    See also: al_ustr_find_chr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_find_set

    │ │ │ │
    int al_ustr_find_set(const ALLEGRO_USTR *us, int start_pos,
    │ │ │ │     const ALLEGRO_USTR *accept)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This function finds the first code point in us, │ │ │ │ beginning from byte offset start_pos, that matches any code │ │ │ │ point in accept. Returns the position if a code point was │ │ │ │ found. Otherwise returns -1.

    │ │ │ │

    See also: al_ustr_find_set_cstr, al_ustr_find_cset

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_find_set_cstr

    │ │ │ │
    int al_ustr_find_set_cstr(const ALLEGRO_USTR *us, int start_pos,
    │ │ │ │     const char *accept)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_ustr_find_set but │ │ │ │ takes a C-style string for accept.

    │ │ │ │

    See also: al_ustr_find_set, │ │ │ │ al_ustr_find_cset_cstr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_find_cset

    │ │ │ │
    int al_ustr_find_cset(const ALLEGRO_USTR *us, int start_pos,
    │ │ │ │     const ALLEGRO_USTR *reject)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This function finds the first code point in us, │ │ │ │ @@ -1365,275 +1069,186 @@ │ │ │ │ not match any code point in reject. In other words │ │ │ │ it finds a code point in the complementary set of reject. │ │ │ │ Returns the byte position of that code point, if any. Otherwise returns │ │ │ │ -1.

    │ │ │ │

    See also: al_ustr_find_cset_cstr, al_ustr_find_set

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_find_cset_cstr

    │ │ │ │
    int al_ustr_find_cset_cstr(const ALLEGRO_USTR *us, int start_pos,
    │ │ │ │     const char *reject)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_ustr_find_cset but │ │ │ │ takes a C-style string for reject.

    │ │ │ │

    See also: al_ustr_find_cset, al_ustr_find_set_cstr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_find_str

    │ │ │ │
    int al_ustr_find_str(const ALLEGRO_USTR *haystack, int start_pos,
    │ │ │ │     const ALLEGRO_USTR *needle)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Find the first occurrence of string needle in │ │ │ │ haystack, beginning from byte offset start_pos │ │ │ │ (inclusive). Return the byte offset of the occurrence if it is found, │ │ │ │ otherwise return -1.

    │ │ │ │

    See also: al_ustr_find_cstr, al_ustr_rfind_str, al_ustr_find_replace

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_find_cstr

    │ │ │ │
    int al_ustr_find_cstr(const ALLEGRO_USTR *haystack, int start_pos,
    │ │ │ │     const char *needle)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_ustr_find_str but │ │ │ │ takes a C-style string for needle.

    │ │ │ │

    See also: al_ustr_find_str, │ │ │ │ al_ustr_rfind_cstr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_rfind_str

    │ │ │ │
    int al_ustr_rfind_str(const ALLEGRO_USTR *haystack, int end_pos,
    │ │ │ │     const ALLEGRO_USTR *needle)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Find the last occurrence of string needle in │ │ │ │ haystack before byte offset end_pos │ │ │ │ (exclusive). Return the byte offset of the occurrence if it is found, │ │ │ │ otherwise return -1.

    │ │ │ │

    See also: al_ustr_rfind_cstr, al_ustr_find_str

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_rfind_cstr

    │ │ │ │
    int al_ustr_rfind_cstr(const ALLEGRO_USTR *haystack, int end_pos,
    │ │ │ │     const char *needle)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_ustr_rfind_str but │ │ │ │ takes a C-style string for needle.

    │ │ │ │

    See also: al_ustr_rfind_str, al_ustr_find_cstr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_find_replace

    │ │ │ │
    bool al_ustr_find_replace(ALLEGRO_USTR *us, int start_pos,
    │ │ │ │     const ALLEGRO_USTR *find, const ALLEGRO_USTR *replace)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Replace all occurrences of find in us with │ │ │ │ replace, beginning at byte offset start_pos. │ │ │ │ The find string must be non-empty. Returns true on success, │ │ │ │ false on error.

    │ │ │ │

    See also: al_ustr_find_replace_cstr

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_ustr_find_replace_cstr

    │ │ │ │
    bool al_ustr_find_replace_cstr(ALLEGRO_USTR *us, int start_pos,
    │ │ │ │     const char *find, const char *replace)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_ustr_find_replace but takes │ │ │ │ C-style strings for find and replace.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Comparing

    │ │ │ │

    al_ustr_equal

    │ │ │ │
    bool al_ustr_equal(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Return true iff the two strings are equal. This function is more │ │ │ │ efficient than al_ustr_compare │ │ │ │ so is preferable if ordering is not important.

    │ │ │ │

    See also: al_ustr_compare

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_compare

    │ │ │ │
    int al_ustr_compare(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This function compares us1 and us2 by code │ │ │ │ point values. Returns zero if the strings are equal, a positive number │ │ │ │ if us1 comes after us2, else a negative │ │ │ │ number.

    │ │ │ │

    This does not take into account locale-specific sorting │ │ │ │ rules. For that you will need to use another library.

    │ │ │ │

    See also: al_ustr_ncompare, │ │ │ │ al_ustr_equal

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_ncompare

    │ │ │ │
    int al_ustr_ncompare(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2, int n)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_ustr_compare but only │ │ │ │ compares up to the first n code points of both strings.

    │ │ │ │

    Returns zero if the strings are equal, a positive number if │ │ │ │ us1 comes after us2, else a negative │ │ │ │ number.

    │ │ │ │

    See also: al_ustr_compare, al_ustr_equal

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_has_prefix

    │ │ │ │
    bool al_ustr_has_prefix(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true iff us1 begins with us2.

    │ │ │ │

    See also: al_ustr_has_prefix_cstr, al_ustr_has_suffix

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_has_prefix_cstr

    │ │ │ │
    bool al_ustr_has_prefix_cstr(const ALLEGRO_USTR *us1, const char *s2)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true iff us1 begins with s2.

    │ │ │ │

    See also: al_ustr_has_prefix, al_ustr_has_suffix_cstr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_has_suffix

    │ │ │ │
    bool al_ustr_has_suffix(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true iff us1 ends with us2.

    │ │ │ │

    See also: al_ustr_has_suffix_cstr, al_ustr_has_prefix

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_has_suffix_cstr

    │ │ │ │
    bool al_ustr_has_suffix_cstr(const ALLEGRO_USTR *us1, const char *s2)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true iff us1 ends with s2.

    │ │ │ │

    See also: al_ustr_has_suffix, al_ustr_has_prefix_cstr

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    UTF-16 conversion

    │ │ │ │

    al_ustr_new_from_utf16

    │ │ │ │
    ALLEGRO_USTR *al_ustr_new_from_utf16(uint16_t const *s)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Create a new string containing a copy of the 0-terminated string │ │ │ │ s which must be encoded as UTF-16. The string must │ │ │ │ eventually be freed with al_ustr_free.

    │ │ │ │

    See also: al_ustr_new

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_size_utf16

    │ │ │ │
    size_t al_ustr_size_utf16(const ALLEGRO_USTR *us)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the number of bytes required to encode the string in UTF-16 │ │ │ │ (including the terminating 0). Usually called before al_ustr_encode_utf16 to │ │ │ │ determine the size of the buffer to allocate.

    │ │ │ │

    See also: al_ustr_size

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    al_ustr_encode_utf16

    │ │ │ │
    size_t al_ustr_encode_utf16(const ALLEGRO_USTR *us, uint16_t *s,
    │ │ │ │     size_t n)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Encode the string into the given buffer, in UTF-16. Returns the │ │ │ │ @@ -1641,56 +1256,37 @@ │ │ │ │ written. The minimum size to encode the complete string can be queried │ │ │ │ with al_ustr_size_utf16. If │ │ │ │ the n parameter is smaller than that, the string will be │ │ │ │ truncated but still always 0 terminated.

    │ │ │ │

    See also: al_ustr_size_utf16, al_utf16_encode

    │ │ │ │ -

    Examples:

    │ │ │ │ -
      │ │ │ │ -
    • ex_utf8.c
    • │ │ │ │ -
    │ │ │ │

    Low-level UTF-8 routines

    │ │ │ │

    al_utf8_width

    │ │ │ │
    size_t al_utf8_width(int32_t c)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the number of bytes that would be occupied by the specified │ │ │ │ code point when encoded in UTF-8. This is between 1 and 4 bytes for │ │ │ │ legal code point values. Otherwise returns 0.

    │ │ │ │

    See also: al_utf8_encode, al_utf16_width

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_utf8_encode

    │ │ │ │
    size_t al_utf8_encode(char s[], int32_t c)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Encode the specified code point to UTF-8 into the buffer │ │ │ │ s. The buffer must have enough space to hold the encoding, │ │ │ │ which takes between 1 and 4 bytes. This routine will refuse to encode │ │ │ │ code points above 0x10FFFF.

    │ │ │ │

    Returns the number of bytes written, which is the same as that │ │ │ │ returned by al_utf8_width.

    │ │ │ │

    See also: al_utf16_encode

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    Low-level UTF-16 routines

    │ │ │ │

    al_utf16_width

    │ │ │ │
    size_t al_utf16_width(int c)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the number of bytes that would be occupied by the specified │ │ │ │ @@ -1707,14 +1303,11 @@ │ │ │ │ s. The buffer must have enough space to hold the encoding, │ │ │ │ which takes either 2 or 4 bytes. This routine will refuse to encode code │ │ │ │ points above 0x10FFFF.

    │ │ │ │

    Returns the number of bytes written, which is the same as that │ │ │ │ returned by al_utf16_width.

    │ │ │ │

    See also: al_utf8_encode, al_ustr_encode_utf16

    │ │ │ │ -

    │ │ │ │ -Allegro version 5.2.10 │ │ │ │ - - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │ -

    │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -191,57 +191,39 @@ │ │ │ │ │ actually store arbitrary data in the ALLEGRO_USTRs.) │ │ │ │ │ For actual text processing, where you want to specify positions with code point │ │ │ │ │ indices, you should use al_ustr_offset to find the code unit offset position. │ │ │ │ │ However, most of the time you would probably just work with byte offsets. │ │ │ │ │ ****** UTF-8 string types ****** │ │ │ │ │ ***** ALLEGRO_USTR ***** │ │ │ │ │ typedef struct _al_tagbstring ALLEGRO_USTR; │ │ │ │ │ - │ │ │ │ │ -typedef struct _al_tagbstring ALLEGRO_USTR; │ │ │ │ │ Source_Code │ │ │ │ │ An opaque type representing a string. ALLEGRO_USTRs normally contain UTF- │ │ │ │ │ 8 encoded strings, but they may be used to hold any byte sequences, including │ │ │ │ │ NULs. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font_multiline.cpp │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_blend.c │ │ │ │ │ ***** ALLEGRO_USTR_INFO ***** │ │ │ │ │ typedef struct _al_tagbstring ALLEGRO_USTR_INFO; │ │ │ │ │ - │ │ │ │ │ -typedef struct _al_tagbstring ALLEGRO_USTR_INFO; │ │ │ │ │ Source_Code │ │ │ │ │ A type that holds additional information for an ALLEGRO_USTR that references an │ │ │ │ │ external memory buffer. You can convert it back to ALLEGRO_USTR via al_ref_ │ │ │ │ │ info. │ │ │ │ │ See also: al_ref_cstr, al_ref_buffer, al_ref_info and al_ref_ustr. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font_multiline.cpp │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_blend.c │ │ │ │ │ ****** Creating and destroying strings ****** │ │ │ │ │ ***** al_ustr_new ***** │ │ │ │ │ ALLEGRO_USTR *al_ustr_new(const char *s) │ │ │ │ │ Source_Code │ │ │ │ │ Create a new string containing a copy of the C-style string s. The string must │ │ │ │ │ eventually be freed with al_ustr_free. │ │ │ │ │ See also: al_ustr_new_from_buffer, al_ustr_newf, al_ustr_dup, al_ustr_new_from_ │ │ │ │ │ utf16 │ │ │ │ │ -Examples: │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_new_from_buffer ***** │ │ │ │ │ ALLEGRO_USTR *al_ustr_new_from_buffer(const char *s, size_t size) │ │ │ │ │ Source_Code │ │ │ │ │ Create a new string containing a copy of the buffer pointed to by s of the │ │ │ │ │ given size in bytes. The string must eventually be freed with al_ustr_free. │ │ │ │ │ See also: al_ustr_new │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_newf ***** │ │ │ │ │ ALLEGRO_USTR *al_ustr_newf(const char *fmt, ...) │ │ │ │ │ Source_Code │ │ │ │ │ Create a new string using a printf-style format string. │ │ │ │ │ Notes: │ │ │ │ │ The “%s” specifier takes C string arguments, not ALLEGRO_USTRs. Therefore to │ │ │ │ │ pass an ALLEGRO_USTR as a parameter you must use al_cstr, and it must be NUL │ │ │ │ │ @@ -249,25 +231,19 @@ │ │ │ │ │ byte onwards will be ignored. │ │ │ │ │ The “%c” specifier outputs a single byte, not the UTF-8 encoding of a code │ │ │ │ │ point. Therefore it is only usable for ASCII characters (value <= 127) or if │ │ │ │ │ you really mean to output byte values from 128–255. To insert the UTF- │ │ │ │ │ 8 encoding of a code point, encode it into a memory buffer using al_utf8_encode │ │ │ │ │ then use the “%s” specifier. Remember to NUL terminate the buffer. │ │ │ │ │ See also: al_ustr_new, al_ustr_appendf │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_free ***** │ │ │ │ │ void al_ustr_free(ALLEGRO_USTR *us) │ │ │ │ │ Source_Code │ │ │ │ │ Free a previously allocated string. Does nothing if the argument is NULL. │ │ │ │ │ See also: al_ustr_new, al_ustr_new_from_buffer, al_ustr_newf │ │ │ │ │ -Examples: │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_cstr ***** │ │ │ │ │ const char *al_cstr(const ALLEGRO_USTR *us) │ │ │ │ │ Source_Code │ │ │ │ │ Get a char * pointer to the data in a string. This pointer will only be valid │ │ │ │ │ while the ALLEGRO_USTR object is not modified and not destroyed. The pointer │ │ │ │ │ may be passed to functions expecting C-style strings, with the following │ │ │ │ │ caveats: │ │ │ │ │ @@ -277,66 +253,52 @@ │ │ │ │ │ terminated. A string which is dynamically allocated will always be NUL │ │ │ │ │ terminated, but a string which references the middle of another string or │ │ │ │ │ region of memory will not be NUL terminated. │ │ │ │ │ * If the ALLEGRO_USTR references another string, the returned C string will │ │ │ │ │ point into the referenced string. Again, no NUL terminator will be added │ │ │ │ │ to the referenced string. │ │ │ │ │ See also: al_ustr_to_buffer, al_cstr_dup │ │ │ │ │ -Examples: │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_to_buffer ***** │ │ │ │ │ void al_ustr_to_buffer(const ALLEGRO_USTR *us, char *buffer, int size) │ │ │ │ │ Source_Code │ │ │ │ │ Write the contents of the string into a pre-allocated buffer of the given size │ │ │ │ │ in bytes. The result will always be NUL terminated, so a maximum of size - 1 │ │ │ │ │ bytes will be copied. │ │ │ │ │ See also: al_cstr, al_cstr_dup │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_cstr_dup ***** │ │ │ │ │ char *al_cstr_dup(const ALLEGRO_USTR *us) │ │ │ │ │ Source_Code │ │ │ │ │ Create a NUL ('\0') terminated copy of the string. Any embedded NUL bytes will │ │ │ │ │ still be presented in the returned string. The new string must eventually be │ │ │ │ │ freed with al_free. │ │ │ │ │ If an error occurs NULL is returned. │ │ │ │ │ See also: al_cstr, al_ustr_to_buffer, al_free │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_dup ***** │ │ │ │ │ ALLEGRO_USTR *al_ustr_dup(const ALLEGRO_USTR *us) │ │ │ │ │ Source_Code │ │ │ │ │ Return a duplicate copy of a string. The new string will need to be freed with │ │ │ │ │ al_ustr_free. │ │ │ │ │ See also: al_ustr_dup_substr, al_ustr_free │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_dup_substr ***** │ │ │ │ │ ALLEGRO_USTR *al_ustr_dup_substr(const ALLEGRO_USTR *us, int start_pos, │ │ │ │ │ │ │ │ │ │ int end_pos) │ │ │ │ │ Source_Code │ │ │ │ │ Return a new copy of a string, containing its contents in the byte interval │ │ │ │ │ [start_pos, end_pos). The new string will be NUL terminated and will need to be │ │ │ │ │ freed with al_ustr_free. │ │ │ │ │ If necessary, use al_ustr_offset to find the byte offsets for a given code │ │ │ │ │ point that you are interested in. │ │ │ │ │ See also: al_ustr_dup, al_ustr_free │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** Predefined strings ****** │ │ │ │ │ ***** al_ustr_empty_string ***** │ │ │ │ │ const ALLEGRO_USTR *al_ustr_empty_string(void) │ │ │ │ │ Source_Code │ │ │ │ │ Return a pointer to a static empty string. The string is read only and must not │ │ │ │ │ be freed. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** Creating strings by referencing other data ****** │ │ │ │ │ ***** al_ref_cstr ***** │ │ │ │ │ const ALLEGRO_USTR *al_ref_cstr(ALLEGRO_USTR_INFO *info, const char *s) │ │ │ │ │ Source_Code │ │ │ │ │ Create a string that references the storage of a C-style string. The │ │ │ │ │ information about the string (e.g. its size) is stored in the structure pointed │ │ │ │ │ to by the info parameter. The string will not have any other storage allocated │ │ │ │ │ @@ -344,30 +306,23 @@ │ │ │ │ │ “free” operation is required. │ │ │ │ │ The string is valid until the underlying C string disappears. │ │ │ │ │ Example: │ │ │ │ │ ALLEGRO_USTR_INFO info; │ │ │ │ │ │ │ │ │ │ ALLEGRO_USTR *us = al_ref_cstr(&info, "my string"); │ │ │ │ │ See also: al_ref_buffer, al_ref_ustr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ***** al_ref_buffer ***** │ │ │ │ │ const ALLEGRO_USTR *al_ref_buffer(ALLEGRO_USTR_INFO *info, const char *s, size_ │ │ │ │ │ t size) │ │ │ │ │ Source_Code │ │ │ │ │ Create a string that references the storage of an underlying buffer. The size │ │ │ │ │ of the buffer is given in bytes. You can use it to reference only part of a │ │ │ │ │ string or an arbitrary region of memory. │ │ │ │ │ The string is valid while the underlying memory buffer is valid. │ │ │ │ │ See also: al_ref_cstr, al_ref_ustr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_font_multiline.cpp │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ref_ustr ***** │ │ │ │ │ const ALLEGRO_USTR *al_ref_ustr(ALLEGRO_USTR_INFO *info, const ALLEGRO_USTR │ │ │ │ │ *us, │ │ │ │ │ │ │ │ │ │ int start_pos, int end_pos) │ │ │ │ │ Source_Code │ │ │ │ │ Create a read-only string that references the storage of another ALLEGRO_USTR │ │ │ │ │ @@ -376,18 +331,14 @@ │ │ │ │ │ other storage allocated of its own, so if you allocate the info structure on │ │ │ │ │ the stack then no explicit “free” operation is required. │ │ │ │ │ The referenced interval is [start_pos, end_pos). Both are byte offsets. │ │ │ │ │ The string is valid until the underlying string is modified or destroyed. │ │ │ │ │ If you need a range of code-points instead of bytes, use al_ustr_offset to find │ │ │ │ │ the byte offsets. │ │ │ │ │ See also: al_ref_cstr, al_ref_buffer │ │ │ │ │ -Examples: │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_blend.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ref_info ***** │ │ │ │ │ const ALLEGRO_USTR *al_ref_info(const ALLEGRO_USTR_INFO *info) │ │ │ │ │ Source_Code │ │ │ │ │ Create a read-only string that references the storage of another ALLEGRO_USTR │ │ │ │ │ string that has already been stored in the ALLEGRO_USTR_INFO structure. │ │ │ │ │ The string is valid until the underlying string is modified or destroyed. │ │ │ │ │ See also: al_ref_cstr, al_ref_buffer, al_ref_ustr │ │ │ │ │ @@ -395,542 +346,419 @@ │ │ │ │ │ ***** al_ustr_size ***** │ │ │ │ │ size_t al_ustr_size(const ALLEGRO_USTR *us) │ │ │ │ │ Source_Code │ │ │ │ │ Return the size of the string in bytes. This is equal to the number of code │ │ │ │ │ points in the string if the string is empty or contains only 7-bit ASCII │ │ │ │ │ characters. │ │ │ │ │ See also: al_ustr_length │ │ │ │ │ -Examples: │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_length ***** │ │ │ │ │ size_t al_ustr_length(const ALLEGRO_USTR *us) │ │ │ │ │ Source_Code │ │ │ │ │ Return the number of code points in the string. │ │ │ │ │ See also: al_ustr_size, al_ustr_offset │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ***** al_ustr_offset ***** │ │ │ │ │ int al_ustr_offset(const ALLEGRO_USTR *us, int index) │ │ │ │ │ Source_Code │ │ │ │ │ Return the byte offset (from the start of the string) of the code point at the │ │ │ │ │ specified index in the string. A zero index parameter will return the first │ │ │ │ │ character of the string. If index is negative, it counts backward from the end │ │ │ │ │ of the string, so an index of -1 will return an offset to the last code point. │ │ │ │ │ If the index is past the end of the string, returns the offset of the end of │ │ │ │ │ the string. │ │ │ │ │ See also: al_ustr_length │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_blend.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ***** al_ustr_next ***** │ │ │ │ │ bool al_ustr_next(const ALLEGRO_USTR *us, int *pos) │ │ │ │ │ Source_Code │ │ │ │ │ Find the byte offset of the next code point in string, beginning at *pos. *pos │ │ │ │ │ does not have to be at the beginning of a code point. │ │ │ │ │ Returns true on success, and the value pointed to by pos will be updated to the │ │ │ │ │ found offset. Otherwise returns false if *pos was already at the end of the │ │ │ │ │ string, and *pos is unmodified. │ │ │ │ │ This function just looks for an appropriate byte; it doesn’t check if found │ │ │ │ │ offset is the beginning of a valid code point. If you are working with possibly │ │ │ │ │ invalid UTF-8 strings then it could skip over some invalid bytes. │ │ │ │ │ See also: al_ustr_prev │ │ │ │ │ -Examples: │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_prev ***** │ │ │ │ │ bool al_ustr_prev(const ALLEGRO_USTR *us, int *pos) │ │ │ │ │ Source_Code │ │ │ │ │ Find the byte offset of the previous code point in string, before *pos. *pos │ │ │ │ │ does not have to be at the beginning of a code point. Returns true on success, │ │ │ │ │ and the value pointed to by pos will be updated to the found offset. Otherwise │ │ │ │ │ returns false if *pos was already at the end of the string, and *pos is │ │ │ │ │ unmodified. │ │ │ │ │ This function just looks for an appropriate byte; it doesn’t check if found │ │ │ │ │ offset is the beginning of a valid code point. If you are working with possibly │ │ │ │ │ invalid UTF-8 strings then it could skip over some invalid bytes. │ │ │ │ │ See also: al_ustr_next │ │ │ │ │ -Examples: │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ - * ex_logo.c │ │ │ │ │ ****** Getting code points ****** │ │ │ │ │ ***** al_ustr_get ***** │ │ │ │ │ int32_t al_ustr_get(const ALLEGRO_USTR *ub, int pos) │ │ │ │ │ Source_Code │ │ │ │ │ Return the code point in ub beginning at byte offset pos. │ │ │ │ │ On success returns the code point value. If pos was out of bounds (e.g. past │ │ │ │ │ the end of the string), return -1. On an error, such as an invalid byte │ │ │ │ │ sequence, return -2. │ │ │ │ │ See also: al_ustr_get_next, al_ustr_prev_get │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ - * ex_ttf.c │ │ │ │ │ ***** al_ustr_get_next ***** │ │ │ │ │ int32_t al_ustr_get_next(const ALLEGRO_USTR *us, int *pos) │ │ │ │ │ Source_Code │ │ │ │ │ Find the code point in us beginning at byte offset *pos, then advance to the │ │ │ │ │ next code point. │ │ │ │ │ On success return the code point value. If pos was out of bounds (e.g. past the │ │ │ │ │ end of the string), return -1. On an error, such as an invalid byte sequence, │ │ │ │ │ return -2. As with al_ustr_next, invalid byte sequences may be skipped while │ │ │ │ │ advancing. │ │ │ │ │ See also: al_ustr_get, al_ustr_prev_get │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_prev_get ***** │ │ │ │ │ int32_t al_ustr_prev_get(const ALLEGRO_USTR *us, int *pos) │ │ │ │ │ Source_Code │ │ │ │ │ Find the beginning of a code point before byte offset *pos, then return it. │ │ │ │ │ Note this performs a pre-increment. │ │ │ │ │ On success returns the code point value. If pos was out of bounds (e.g. past │ │ │ │ │ the end of the string), return -1. On an error, such as an invalid byte │ │ │ │ │ sequence, return -2. As with al_ustr_prev, invalid byte sequences may be │ │ │ │ │ skipped while advancing. │ │ │ │ │ See also: al_ustr_get_next │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** Inserting into strings ****** │ │ │ │ │ ***** al_ustr_insert ***** │ │ │ │ │ bool al_ustr_insert(ALLEGRO_USTR *us1, int pos, const ALLEGRO_USTR *us2) │ │ │ │ │ Source_Code │ │ │ │ │ Insert us2 into us1 beginning at byte offset pos. pos cannot be less than 0. If │ │ │ │ │ pos is past the end of us1 then the space between the end of the string and pos │ │ │ │ │ will be padded with NUL ('\0') bytes. │ │ │ │ │ If required, use al_ustr_offset to find the byte offset for a given code point │ │ │ │ │ index. │ │ │ │ │ Returns true on success, false on error. │ │ │ │ │ See also: al_ustr_insert_cstr, al_ustr_insert_chr, al_ustr_append, al_ustr_ │ │ │ │ │ offset │ │ │ │ │ -Examples: │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_insert_cstr ***** │ │ │ │ │ bool al_ustr_insert_cstr(ALLEGRO_USTR *us, int pos, const char *s) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_ustr_insert but inserts a C-style string at byte offset pos. │ │ │ │ │ See also: al_ustr_insert, al_ustr_insert_chr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_insert_chr ***** │ │ │ │ │ size_t al_ustr_insert_chr(ALLEGRO_USTR *us, int pos, int32_t c) │ │ │ │ │ Source_Code │ │ │ │ │ Insert a code point into us beginning at byte offset pos. pos cannot be less │ │ │ │ │ than 0. If pos is past the end of us then the space between the end of the │ │ │ │ │ string and pos will be padded with NUL ('\0') bytes. │ │ │ │ │ Returns the number of bytes inserted, or 0 on error. │ │ │ │ │ See also: al_ustr_insert, al_ustr_insert_cstr │ │ │ │ │ -Examples: │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** Appending to strings ****** │ │ │ │ │ ***** al_ustr_append ***** │ │ │ │ │ bool al_ustr_append(ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2) │ │ │ │ │ Source_Code │ │ │ │ │ Append us2 to the end of us1. │ │ │ │ │ Returns true on success, false on error. │ │ │ │ │ This function can be used to append an arbitrary buffer: │ │ │ │ │ ALLEGRO_USTR_INFO info; │ │ │ │ │ │ │ │ │ │ al_ustr_append(us, al_ref_buffer(&info, buf, size)); │ │ │ │ │ See also: al_ustr_append_cstr, al_ustr_append_chr, al_ustr_appendf, al_ustr_ │ │ │ │ │ vappendf │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_append_cstr ***** │ │ │ │ │ bool al_ustr_append_cstr(ALLEGRO_USTR *us, const char *s) │ │ │ │ │ Source_Code │ │ │ │ │ Append C-style string s to the end of us. │ │ │ │ │ Returns true on success, false on error. │ │ │ │ │ See also: al_ustr_append │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_append_chr ***** │ │ │ │ │ size_t al_ustr_append_chr(ALLEGRO_USTR *us, int32_t c) │ │ │ │ │ Source_Code │ │ │ │ │ Append a code point to the end of us. │ │ │ │ │ Returns the number of bytes added, or 0 on error. │ │ │ │ │ See also: al_ustr_append │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_appendf ***** │ │ │ │ │ bool al_ustr_appendf(ALLEGRO_USTR *us, const char *fmt, ...) │ │ │ │ │ Source_Code │ │ │ │ │ This function appends formatted output to the string us. fmt is a printf-style │ │ │ │ │ format string. See al_ustr_newf about the “%s” and “%c” specifiers. │ │ │ │ │ Returns true on success, false on error. │ │ │ │ │ See also: al_ustr_vappendf, al_ustr_append │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_vappendf ***** │ │ │ │ │ bool al_ustr_vappendf(ALLEGRO_USTR *us, const char *fmt, va_list ap) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_ustr_appendf but you pass the variable argument list directly, instead │ │ │ │ │ of the arguments themselves. See al_ustr_newf about the “%s” and “%c” │ │ │ │ │ specifiers. │ │ │ │ │ Returns true on success, false on error. │ │ │ │ │ See also: al_ustr_appendf, al_ustr_append │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** Removing parts of strings ****** │ │ │ │ │ ***** al_ustr_remove_chr ***** │ │ │ │ │ bool al_ustr_remove_chr(ALLEGRO_USTR *us, int pos) │ │ │ │ │ Source_Code │ │ │ │ │ Remove the code point beginning at byte offset pos. Returns true on success. If │ │ │ │ │ pos is out of range or pos is not the beginning of a valid code point, returns │ │ │ │ │ false leaving the string unmodified. │ │ │ │ │ Use al_ustr_offset to find the byte offset for a code-points offset. │ │ │ │ │ See also: al_ustr_remove_range │ │ │ │ │ -Examples: │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ - * ex_logo.c │ │ │ │ │ ***** al_ustr_remove_range ***** │ │ │ │ │ bool al_ustr_remove_range(ALLEGRO_USTR *us, int start_pos, int end_pos) │ │ │ │ │ Source_Code │ │ │ │ │ Remove the interval [start_pos, end_pos) from a string. start_pos and end_pos │ │ │ │ │ are byte offsets. Both may be past the end of the string but cannot be less │ │ │ │ │ than 0 (the start of the string). │ │ │ │ │ Returns true on success, false on error. │ │ │ │ │ See also: al_ustr_remove_chr, al_ustr_truncate │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_truncate ***** │ │ │ │ │ bool al_ustr_truncate(ALLEGRO_USTR *us, int start_pos) │ │ │ │ │ Source_Code │ │ │ │ │ Truncate a portion of a string from byte offset start_pos onwards. start_pos │ │ │ │ │ can be past the end of the string (has no effect) but cannot be less than 0. │ │ │ │ │ Returns true on success, false on error. │ │ │ │ │ See also: al_ustr_remove_range, al_ustr_ltrim_ws, al_ustr_rtrim_ws, al_ustr_ │ │ │ │ │ trim_ws │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_ltrim_ws ***** │ │ │ │ │ bool al_ustr_ltrim_ws(ALLEGRO_USTR *us) │ │ │ │ │ Source_Code │ │ │ │ │ Remove leading whitespace characters from a string, as defined by the C │ │ │ │ │ function isspace(). │ │ │ │ │ Returns true on success, or false on error. │ │ │ │ │ See also: al_ustr_rtrim_ws, al_ustr_trim_ws │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_rtrim_ws ***** │ │ │ │ │ bool al_ustr_rtrim_ws(ALLEGRO_USTR *us) │ │ │ │ │ Source_Code │ │ │ │ │ Remove trailing (“right”) whitespace characters from a string, as defined by │ │ │ │ │ the C function isspace(). │ │ │ │ │ Returns true on success, or false on error. │ │ │ │ │ See also: al_ustr_ltrim_ws, al_ustr_trim_ws │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_trim_ws ***** │ │ │ │ │ bool al_ustr_trim_ws(ALLEGRO_USTR *us) │ │ │ │ │ Source_Code │ │ │ │ │ Remove both leading and trailing whitespace characters from a string. │ │ │ │ │ Returns true on success, or false on error. │ │ │ │ │ See also: al_ustr_ltrim_ws, al_ustr_rtrim_ws │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** Assigning one string to another ****** │ │ │ │ │ ***** al_ustr_assign ***** │ │ │ │ │ bool al_ustr_assign(ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2) │ │ │ │ │ Source_Code │ │ │ │ │ Overwrite the string us1 with another string us2. Returns true on success, │ │ │ │ │ false on error. │ │ │ │ │ See also: al_ustr_assign_substr, al_ustr_assign_cstr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_assign_substr ***** │ │ │ │ │ bool al_ustr_assign_substr(ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2, │ │ │ │ │ │ │ │ │ │ int start_pos, int end_pos) │ │ │ │ │ Source_Code │ │ │ │ │ Overwrite the string us1 with the contents of us2 in the byte interval [start_ │ │ │ │ │ pos, end_pos). The end points will be clamped to the bounds of us2. │ │ │ │ │ Usually you will first have to use al_ustr_offset to find the byte offsets. │ │ │ │ │ Returns true on success, false on error. │ │ │ │ │ See also: al_ustr_assign, al_ustr_assign_cstr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_assign_cstr ***** │ │ │ │ │ bool al_ustr_assign_cstr(ALLEGRO_USTR *us1, const char *s) │ │ │ │ │ Source_Code │ │ │ │ │ Overwrite the string us1 with the contents of the C-style string s. Returns │ │ │ │ │ true on success, false on error. │ │ │ │ │ See also: al_ustr_assign_substr, al_ustr_assign_cstr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** Replacing parts of string ****** │ │ │ │ │ ***** al_ustr_set_chr ***** │ │ │ │ │ size_t al_ustr_set_chr(ALLEGRO_USTR *us, int start_pos, int32_t c) │ │ │ │ │ Source_Code │ │ │ │ │ Replace the code point beginning at byte offset start_pos with c. start_pos │ │ │ │ │ cannot be less than 0. If start_pos is past the end of us then the space │ │ │ │ │ between the end of the string and start_pos will be padded with NUL ('\0') │ │ │ │ │ bytes. If start_pos is not the start of a valid code point, that is an error │ │ │ │ │ and the string will be unmodified. │ │ │ │ │ On success, returns the number of bytes written, i.e. the offset to the │ │ │ │ │ following code point. On error, returns 0. │ │ │ │ │ See also: al_ustr_replace_range │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ - * ex_logo.c │ │ │ │ │ ***** al_ustr_replace_range ***** │ │ │ │ │ bool al_ustr_replace_range(ALLEGRO_USTR *us1, int start_pos1, int end_pos1, │ │ │ │ │ │ │ │ │ │ const ALLEGRO_USTR *us2) │ │ │ │ │ Source_Code │ │ │ │ │ Replace the part of us1 in the byte interval [start_pos1, end_pos1) with the │ │ │ │ │ contents of us2. start_pos1 cannot be less than 0. If start_pos1 is past the │ │ │ │ │ end of us1 then the space between the end of the string and start_pos1 will be │ │ │ │ │ padded with NUL ('\0') bytes. │ │ │ │ │ Use al_ustr_offset to find the byte offsets. │ │ │ │ │ Returns true on success, false on error. │ │ │ │ │ See also: al_ustr_set_chr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** Searching ****** │ │ │ │ │ ***** al_ustr_find_chr ***** │ │ │ │ │ int al_ustr_find_chr(const ALLEGRO_USTR *us, int start_pos, int32_t c) │ │ │ │ │ Source_Code │ │ │ │ │ Search for the encoding of code point c in us from byte offset start_pos │ │ │ │ │ (inclusive). │ │ │ │ │ Returns the position where it is found or -1 if it is not found. │ │ │ │ │ See also: al_ustr_rfind_chr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_rfind_chr ***** │ │ │ │ │ int al_ustr_rfind_chr(const ALLEGRO_USTR *us, int end_pos, int32_t c) │ │ │ │ │ Source_Code │ │ │ │ │ Search for the encoding of code point c in us backwards from byte offset end_ │ │ │ │ │ pos (exclusive). Returns the position where it is found or -1 if it is not │ │ │ │ │ found. │ │ │ │ │ See also: al_ustr_find_chr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_find_set ***** │ │ │ │ │ int al_ustr_find_set(const ALLEGRO_USTR *us, int start_pos, │ │ │ │ │ │ │ │ │ │ const ALLEGRO_USTR *accept) │ │ │ │ │ Source_Code │ │ │ │ │ This function finds the first code point in us, beginning from byte offset │ │ │ │ │ start_pos, that matches any code point in accept. Returns the position if a │ │ │ │ │ code point was found. Otherwise returns -1. │ │ │ │ │ See also: al_ustr_find_set_cstr, al_ustr_find_cset │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_find_set_cstr ***** │ │ │ │ │ int al_ustr_find_set_cstr(const ALLEGRO_USTR *us, int start_pos, │ │ │ │ │ │ │ │ │ │ const char *accept) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_ustr_find_set but takes a C-style string for accept. │ │ │ │ │ See also: al_ustr_find_set, al_ustr_find_cset_cstr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_find_cset ***** │ │ │ │ │ int al_ustr_find_cset(const ALLEGRO_USTR *us, int start_pos, │ │ │ │ │ │ │ │ │ │ const ALLEGRO_USTR *reject) │ │ │ │ │ Source_Code │ │ │ │ │ This function finds the first code point in us, beginning from byte offset │ │ │ │ │ start_pos, that does not match any code point in reject. In other words it │ │ │ │ │ finds a code point in the complementary set of reject. Returns the byte │ │ │ │ │ position of that code point, if any. Otherwise returns -1. │ │ │ │ │ See also: al_ustr_find_cset_cstr, al_ustr_find_set │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_find_cset_cstr ***** │ │ │ │ │ int al_ustr_find_cset_cstr(const ALLEGRO_USTR *us, int start_pos, │ │ │ │ │ │ │ │ │ │ const char *reject) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_ustr_find_cset but takes a C-style string for reject. │ │ │ │ │ See also: al_ustr_find_cset, al_ustr_find_set_cstr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_find_str ***** │ │ │ │ │ int al_ustr_find_str(const ALLEGRO_USTR *haystack, int start_pos, │ │ │ │ │ │ │ │ │ │ const ALLEGRO_USTR *needle) │ │ │ │ │ Source_Code │ │ │ │ │ Find the first occurrence of string needle in haystack, beginning from byte │ │ │ │ │ offset start_pos (inclusive). Return the byte offset of the occurrence if it is │ │ │ │ │ found, otherwise return -1. │ │ │ │ │ See also: al_ustr_find_cstr, al_ustr_rfind_str, al_ustr_find_replace │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_find_cstr ***** │ │ │ │ │ int al_ustr_find_cstr(const ALLEGRO_USTR *haystack, int start_pos, │ │ │ │ │ │ │ │ │ │ const char *needle) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_ustr_find_str but takes a C-style string for needle. │ │ │ │ │ See also: al_ustr_find_str, al_ustr_rfind_cstr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_rfind_str ***** │ │ │ │ │ int al_ustr_rfind_str(const ALLEGRO_USTR *haystack, int end_pos, │ │ │ │ │ │ │ │ │ │ const ALLEGRO_USTR *needle) │ │ │ │ │ Source_Code │ │ │ │ │ Find the last occurrence of string needle in haystack before byte offset end_ │ │ │ │ │ pos (exclusive). Return the byte offset of the occurrence if it is found, │ │ │ │ │ otherwise return -1. │ │ │ │ │ See also: al_ustr_rfind_cstr, al_ustr_find_str │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_rfind_cstr ***** │ │ │ │ │ int al_ustr_rfind_cstr(const ALLEGRO_USTR *haystack, int end_pos, │ │ │ │ │ │ │ │ │ │ const char *needle) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_ustr_rfind_str but takes a C-style string for needle. │ │ │ │ │ See also: al_ustr_rfind_str, al_ustr_find_cstr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_find_replace ***** │ │ │ │ │ bool al_ustr_find_replace(ALLEGRO_USTR *us, int start_pos, │ │ │ │ │ │ │ │ │ │ const ALLEGRO_USTR *find, const ALLEGRO_USTR *replace) │ │ │ │ │ Source_Code │ │ │ │ │ Replace all occurrences of find in us with replace, beginning at byte offset │ │ │ │ │ start_pos. The find string must be non-empty. Returns true on success, false on │ │ │ │ │ error. │ │ │ │ │ See also: al_ustr_find_replace_cstr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_find_replace_cstr ***** │ │ │ │ │ bool al_ustr_find_replace_cstr(ALLEGRO_USTR *us, int start_pos, │ │ │ │ │ │ │ │ │ │ const char *find, const char *replace) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_ustr_find_replace but takes C-style strings for find and replace. │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_loading_thread.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** Comparing ****** │ │ │ │ │ ***** al_ustr_equal ***** │ │ │ │ │ bool al_ustr_equal(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2) │ │ │ │ │ Source_Code │ │ │ │ │ Return true iff the two strings are equal. This function is more efficient than │ │ │ │ │ al_ustr_compare so is preferable if ordering is not important. │ │ │ │ │ See also: al_ustr_compare │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_compare ***** │ │ │ │ │ int al_ustr_compare(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2) │ │ │ │ │ Source_Code │ │ │ │ │ This function compares us1 and us2 by code point values. Returns zero if the │ │ │ │ │ strings are equal, a positive number if us1 comes after us2, else a negative │ │ │ │ │ number. │ │ │ │ │ This does not take into account locale-specific sorting rules. For that you │ │ │ │ │ will need to use another library. │ │ │ │ │ See also: al_ustr_ncompare, al_ustr_equal │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_ncompare ***** │ │ │ │ │ int al_ustr_ncompare(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2, int n) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_ustr_compare but only compares up to the first n code points of both │ │ │ │ │ strings. │ │ │ │ │ Returns zero if the strings are equal, a positive number if us1 comes after │ │ │ │ │ us2, else a negative number. │ │ │ │ │ See also: al_ustr_compare, al_ustr_equal │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_has_prefix ***** │ │ │ │ │ bool al_ustr_has_prefix(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true iff us1 begins with us2. │ │ │ │ │ See also: al_ustr_has_prefix_cstr, al_ustr_has_suffix │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_has_prefix_cstr ***** │ │ │ │ │ bool al_ustr_has_prefix_cstr(const ALLEGRO_USTR *us1, const char *s2) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true iff us1 begins with s2. │ │ │ │ │ See also: al_ustr_has_prefix, al_ustr_has_suffix_cstr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_has_suffix ***** │ │ │ │ │ bool al_ustr_has_suffix(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true iff us1 ends with us2. │ │ │ │ │ See also: al_ustr_has_suffix_cstr, al_ustr_has_prefix │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_has_suffix_cstr ***** │ │ │ │ │ bool al_ustr_has_suffix_cstr(const ALLEGRO_USTR *us1, const char *s2) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true iff us1 ends with s2. │ │ │ │ │ See also: al_ustr_has_suffix, al_ustr_has_prefix_cstr │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** UTF-16 conversion ****** │ │ │ │ │ ***** al_ustr_new_from_utf16 ***** │ │ │ │ │ ALLEGRO_USTR *al_ustr_new_from_utf16(uint16_t const *s) │ │ │ │ │ Source_Code │ │ │ │ │ Create a new string containing a copy of the 0-terminated string s which must │ │ │ │ │ be encoded as UTF-16. The string must eventually be freed with al_ustr_free. │ │ │ │ │ See also: al_ustr_new │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_size_utf16 ***** │ │ │ │ │ size_t al_ustr_size_utf16(const ALLEGRO_USTR *us) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the number of bytes required to encode the string in UTF-16 (including │ │ │ │ │ the terminating 0). Usually called before al_ustr_encode_utf16 to determine the │ │ │ │ │ size of the buffer to allocate. │ │ │ │ │ See also: al_ustr_size │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_ustr_encode_utf16 ***** │ │ │ │ │ size_t al_ustr_encode_utf16(const ALLEGRO_USTR *us, uint16_t *s, │ │ │ │ │ │ │ │ │ │ size_t n) │ │ │ │ │ Source_Code │ │ │ │ │ Encode the string into the given buffer, in UTF-16. Returns the number of bytes │ │ │ │ │ written. There are never more than n bytes written. The minimum size to encode │ │ │ │ │ the complete string can be queried with al_ustr_size_utf16. If the n parameter │ │ │ │ │ is smaller than that, the string will be truncated but still always 0 │ │ │ │ │ terminated. │ │ │ │ │ See also: al_ustr_size_utf16, al_utf16_encode │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** Low-level UTF-8 routines ****** │ │ │ │ │ ***** al_utf8_width ***** │ │ │ │ │ size_t al_utf8_width(int32_t c) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the number of bytes that would be occupied by the specified code point │ │ │ │ │ when encoded in UTF-8. This is between 1 and 4 bytes for legal code point │ │ │ │ │ values. Otherwise returns 0. │ │ │ │ │ See also: al_utf8_encode, al_utf16_width │ │ │ │ │ -Examples: │ │ │ │ │ - * nihgui.cpp │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ***** al_utf8_encode ***** │ │ │ │ │ size_t al_utf8_encode(char s[], int32_t c) │ │ │ │ │ Source_Code │ │ │ │ │ Encode the specified code point to UTF-8 into the buffer s. The buffer must │ │ │ │ │ have enough space to hold the encoding, which takes between 1 and 4 bytes. This │ │ │ │ │ routine will refuse to encode code points above 0x10FFFF. │ │ │ │ │ Returns the number of bytes written, which is the same as that returned by al_ │ │ │ │ │ utf8_width. │ │ │ │ │ See also: al_utf16_encode │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_keyboard_events.c │ │ │ │ │ - * ex_utf8.c │ │ │ │ │ ****** Low-level UTF-16 routines ****** │ │ │ │ │ ***** al_utf16_width ***** │ │ │ │ │ size_t al_utf16_width(int c) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the number of bytes that would be occupied by the specified code point │ │ │ │ │ when encoded in UTF-16. This is either 2 or 4 bytes for legal code point │ │ │ │ │ values. Otherwise returns 0. │ │ │ │ │ @@ -940,8 +768,7 @@ │ │ │ │ │ Source_Code │ │ │ │ │ Encode the specified code point to UTF-16 into the buffer s. The buffer must │ │ │ │ │ have enough space to hold the encoding, which takes either 2 or 4 bytes. This │ │ │ │ │ routine will refuse to encode code points above 0x10FFFF. │ │ │ │ │ Returns the number of bytes written, which is the same as that returned by al_ │ │ │ │ │ utf16_width. │ │ │ │ │ See also: al_utf8_encode, al_ustr_encode_utf16 │ │ │ │ │ -Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/video.html │ │ │ │ @@ -229,16 +229,15 @@ │ │ │ │ allegro_video.

    │ │ │ │
     #include <allegro5/allegro_video.h>
    │ │ │ │

    Currently we have an Ogg backend (Theora + Vorbis). See http://xiph.org/ for │ │ │ │ installation instructions, licensing information and supported video │ │ │ │ formats.

    │ │ │ │

    ALLEGRO_VIDEO_EVENT_TYPE

    │ │ │ │ -
    enum ALLEGRO_VIDEO_EVENT_TYPE
    │ │ │ │ -enum ALLEGRO_VIDEO_EVENT_TYPE
    │ │ │ │ +
    enum ALLEGRO_VIDEO_EVENT_TYPE
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Events sent by al_get_video_event_source.

    │ │ │ │

    ALLEGRO_EVENT_VIDEO_FRAME_SHOW

    │ │ │ │ @@ -263,16 +262,15 @@ │ │ │ │
    user.data1 (ALLEGRO_VIDEO *)
    │ │ │ │
    │ │ │ │ The video which generated the event. │ │ │ │
    │ │ │ │
    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    ALLEGRO_VIDEO_POSITION_TYPE

    │ │ │ │ -
    typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE;
    │ │ │ │ -typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE;
    │ │ │ │ +
    typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Used with al_get_video_position to │ │ │ │ specify which position to retrieve. If these get out of sync, audio and │ │ │ │ video may be out of sync in the display of the video.

    │ │ │ │ @@ -286,86 +284,69 @@ │ │ │ │
  • ALLEGRO_VIDEO_POSITION_AUDIO_DECODE - The amount of audio that │ │ │ │ has been decoded. This may be the same as ALLEGRO_VIDEO_POSITION_ACTUAL │ │ │ │ if audio decode is driving the position, which is common to keep audio │ │ │ │ and video in sync.

  • │ │ │ │ │ │ │ │

    Since: 5.1.11

    │ │ │ │

    al_init_video_addon

    │ │ │ │ -
    bool al_init_video_addon(void)
    │ │ │ │ -bool al_init_video_addon(void)
    │ │ │ │ +
    bool al_init_video_addon(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Initializes the video addon.

    │ │ │ │

    Since: 5.1.12

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_is_video_addon_initialized

    │ │ │ │ -
    bool al_is_video_addon_initialized(void)
    │ │ │ │ -bool al_is_video_addon_initialized(void)
    │ │ │ │ +
    bool al_is_video_addon_initialized(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if the video addon is initialized, otherwise returns │ │ │ │ false.

    │ │ │ │

    Since: 5.2.6

    │ │ │ │

    al_shutdown_video_addon

    │ │ │ │ -
    void al_shutdown_video_addon(void)
    │ │ │ │ -void al_shutdown_video_addon(void)
    │ │ │ │ +
    void al_shutdown_video_addon(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Shut down the video addon. This is done automatically at program │ │ │ │ exit, but can be called any time the user wishes as well.

    │ │ │ │

    Since: 5.1.12

    │ │ │ │

    al_get_allegro_video_version

    │ │ │ │ -
    uint32_t al_get_allegro_video_version(void)
    │ │ │ │ -uint32_t al_get_allegro_video_version(void)
    │ │ │ │ +
    uint32_t al_get_allegro_video_version(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    │ │ │ │

    Since: 5.1.12

    │ │ │ │

    al_open_video

    │ │ │ │ -
    ALLEGRO_VIDEO *al_open_video(char const *filename)
    │ │ │ │ -ALLEGRO_VIDEO *al_open_video(char const *filename)
    │ │ │ │ +
    ALLEGRO_VIDEO *al_open_video(char const *filename)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Reads a video file. This does not start playing yet but reads the │ │ │ │ meta info so you can query e.g. the size or audio rate.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_identify_video

    │ │ │ │ -
    char const *al_identify_video(char const *filename)
    │ │ │ │ -char const *al_identify_video(char const *filename)
    │ │ │ │ +
    char const *al_identify_video(char const *filename)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    This works exactly as al_identify_video_f but you │ │ │ │ specify the filename of the file for which to detect the type and not a │ │ │ │ file handle. The extension, if any, of the passed filename is not taken │ │ │ │ into account - only the file contents.

    │ │ │ │

    Since: 5.2.8

    │ │ │ │

    See also: al_init_video_addon, al_identify_video_f

    │ │ │ │

    al_identify_video_f

    │ │ │ │ -
    char const *al_identify_video_f(ALLEGRO_FILE *fp)
    │ │ │ │ -char const *al_identify_video_f(ALLEGRO_FILE *fp)
    │ │ │ │ +
    char const *al_identify_video_f(ALLEGRO_FILE *fp)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Tries to guess the video file type of the open ALLEGRO_FILE by │ │ │ │ reading the first few bytes. By default Allegro cannot recognize any │ │ │ │ file types, but calling al_init_video_addon will add │ │ │ │ @@ -374,154 +355,98 @@ │ │ │ │ type, including the leading dot. For example “.ogv”. Returns NULL if the │ │ │ │ video type cannot be determined.

    │ │ │ │

    Since: 5.2.8

    │ │ │ │

    See also: al_init_video_addon, al_identify_video

    │ │ │ │

    al_close_video

    │ │ │ │ -
    void al_close_video(ALLEGRO_VIDEO *video)
    │ │ │ │ -void al_close_video(ALLEGRO_VIDEO *video)
    │ │ │ │ +
    void al_close_video(ALLEGRO_VIDEO *video)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Closes the video and frees all allocated resources. The video pointer │ │ │ │ is invalid after the function returns.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_start_video

    │ │ │ │ -
    void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer)
    │ │ │ │ -void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer)
    │ │ │ │ +
    void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Starts playing the video from the beginning.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_start_video_with_voice

    │ │ │ │ -
    void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice)
    │ │ │ │ -void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice)
    │ │ │ │ +
    void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_start_video but audio │ │ │ │ is routed to the provided voice.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    al_get_video_event_source

    │ │ │ │ -
    ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video)
    │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video)
    │ │ │ │ +
    ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Get an event source for the video. The possible events are described │ │ │ │ under ALLEGRO_VIDEO_EVENT_TYPE.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_set_video_playing

    │ │ │ │ -
    void al_set_video_playing(ALLEGRO_VIDEO *video, bool play)
    │ │ │ │ -void al_set_video_playing(ALLEGRO_VIDEO *video, bool play)
    │ │ │ │ +
    void al_set_video_playing(ALLEGRO_VIDEO *video, bool play)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Paused or resumes playback.

    │ │ │ │

    Since: 5.1.12

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_is_video_playing

    │ │ │ │ -
    bool al_is_video_playing(ALLEGRO_VIDEO *video)
    │ │ │ │ -bool al_is_video_playing(ALLEGRO_VIDEO *video)
    │ │ │ │ +
    bool al_is_video_playing(ALLEGRO_VIDEO *video)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if the video is currently playing.

    │ │ │ │

    Since: 5.1.12

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_video_audio_rate

    │ │ │ │ -
    double al_get_video_audio_rate(ALLEGRO_VIDEO *video)
    │ │ │ │ -double al_get_video_audio_rate(ALLEGRO_VIDEO *video)
    │ │ │ │ +
    double al_get_video_audio_rate(ALLEGRO_VIDEO *video)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the audio rate of the video, in Hz.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_video_fps

    │ │ │ │ -
    double al_get_video_fps(ALLEGRO_VIDEO *video)
    │ │ │ │ -double al_get_video_fps(ALLEGRO_VIDEO *video)
    │ │ │ │ +
    double al_get_video_fps(ALLEGRO_VIDEO *video)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the speed of the video in frames per second. Often this will │ │ │ │ not be an integer value.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_video_scaled_width

    │ │ │ │ -
    float al_get_video_scaled_width(ALLEGRO_VIDEO *video)
    │ │ │ │ -float al_get_video_scaled_width(ALLEGRO_VIDEO *video)
    │ │ │ │ +
    float al_get_video_scaled_width(ALLEGRO_VIDEO *video)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the width with which the video frame should be drawn. Videos │ │ │ │ often do not use square pixels, so this will may return a value larger │ │ │ │ than the width of the frame bitmap.

    │ │ │ │

    Since: 5.1.12

    │ │ │ │

    See also: al_get_video_frame

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_video_scaled_height

    │ │ │ │ -
    float al_get_video_scaled_height(ALLEGRO_VIDEO *video)
    │ │ │ │ -float al_get_video_scaled_height(ALLEGRO_VIDEO *video)
    │ │ │ │ +
    float al_get_video_scaled_height(ALLEGRO_VIDEO *video)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the height with which the video frame should be drawn. Videos │ │ │ │ often do not use square pixels, so this will may return a value larger │ │ │ │ than the height of the frame bitmap.

    │ │ │ │

    See also: al_get_video_frame

    │ │ │ │

    Since: 5.1.12

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_video_frame

    │ │ │ │ -
    ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video)
    │ │ │ │ -ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video)
    │ │ │ │ +
    ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the current video frame. The bitmap is owned by the video so │ │ │ │ do not attempt to free it. The bitmap will stay valid until the next │ │ │ │ call to al_get_video_frame.

    │ │ │ │

    Videos often do not use square pixels so the recommended way to draw │ │ │ │ @@ -534,49 +459,32 @@ │ │ │ │ float dh = scale * al_get_video_scaled_height(video); │ │ │ │ al_draw_scaled_bitmap(frame, 0, 0, sw, sh, 0, 0, dw, dh, 0); │ │ │ │

    Since: 5.1.0

    │ │ │ │

    See also: al_get_video_scaled_width, │ │ │ │ al_get_video_scaled_height

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_get_video_position

    │ │ │ │ -
    double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE which)
    │ │ │ │ -double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE which)
    │ │ │ │ +
    double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE which)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the current position of the video stream in seconds since the │ │ │ │ beginning. The parameter is one of the ALLEGRO_VIDEO_POSITION_TYPE │ │ │ │ constants.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_seek_video

    │ │ │ │ -
    bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds)
    │ │ │ │ -bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds)
    │ │ │ │ +
    bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Seek to a different position in the video. Currently only seeking to │ │ │ │ the beginning of the video is supported.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    │ │ │ │ Allegro version 5.2.10 │ │ │ │ - Last updated: 2025-10-04 17:02:00 UTC │ │ │ │

    │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -70,16 +70,14 @@ │ │ │ │ │ These functions are declared in the following header file. Link with allegro_ │ │ │ │ │ video. │ │ │ │ │ #include │ │ │ │ │ Currently we have an Ogg backend (Theora + Vorbis). See http://xiph.org/ for │ │ │ │ │ installation instructions, licensing information and supported video formats. │ │ │ │ │ ****** ALLEGRO_VIDEO_EVENT_TYPE ****** │ │ │ │ │ enum ALLEGRO_VIDEO_EVENT_TYPE │ │ │ │ │ - │ │ │ │ │ -enum ALLEGRO_VIDEO_EVENT_TYPE │ │ │ │ │ Source_Code │ │ │ │ │ Events sent by al_get_video_event_source. │ │ │ │ │ ***** ALLEGRO_EVENT_VIDEO_FRAME_SHOW ***** │ │ │ │ │ This event is sent when it is time to show a new frame. Once you receive this │ │ │ │ │ event, you can draw the current frame (as returned by al_get_video_frame). al_ │ │ │ │ │ get_video_frame will continue returning the same frame until the next ALLEGRO_ │ │ │ │ │ EVENT_VIDEO_FRAME_SHOW is sent. │ │ │ │ │ @@ -91,16 +89,14 @@ │ │ │ │ │ be possible to seek to an earlier part of the video and set the video to play │ │ │ │ │ to resume playback. │ │ │ │ │ user.data1 (ALLEGRO_VIDEO *) │ │ │ │ │ The video which generated the event. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ ****** ALLEGRO_VIDEO_POSITION_TYPE ****** │ │ │ │ │ typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE; │ │ │ │ │ - │ │ │ │ │ -typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE; │ │ │ │ │ Source_Code │ │ │ │ │ Used with al_get_video_position to specify which position to retrieve. If these │ │ │ │ │ get out of sync, audio and video may be out of sync in the display of the │ │ │ │ │ video. │ │ │ │ │ * ALLEGRO_VIDEO_POSITION_ACTUAL - The amount of time the video has been │ │ │ │ │ playing. If the video has audio then this value can be ahead of ALLEGRO_ │ │ │ │ │ VIDEO_POSITION_VIDEO_DECODE when video decoding lags. │ │ │ │ │ @@ -110,178 +106,120 @@ │ │ │ │ │ * ALLEGRO_VIDEO_POSITION_AUDIO_DECODE - The amount of audio that has been │ │ │ │ │ decoded. This may be the same as ALLEGRO_VIDEO_POSITION_ACTUAL if audio │ │ │ │ │ decode is driving the position, which is common to keep audio and video │ │ │ │ │ in sync. │ │ │ │ │ Since: 5.1.11 │ │ │ │ │ ****** al_init_video_addon ****** │ │ │ │ │ bool al_init_video_addon(void) │ │ │ │ │ - │ │ │ │ │ -bool al_init_video_addon(void) │ │ │ │ │ Source_Code │ │ │ │ │ Initializes the video addon. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_is_video_addon_initialized ****** │ │ │ │ │ bool al_is_video_addon_initialized(void) │ │ │ │ │ - │ │ │ │ │ -bool al_is_video_addon_initialized(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true if the video addon is initialized, otherwise returns false. │ │ │ │ │ Since: 5.2.6 │ │ │ │ │ ****** al_shutdown_video_addon ****** │ │ │ │ │ void al_shutdown_video_addon(void) │ │ │ │ │ - │ │ │ │ │ -void al_shutdown_video_addon(void) │ │ │ │ │ Source_Code │ │ │ │ │ Shut down the video addon. This is done automatically at program exit, but can │ │ │ │ │ be called any time the user wishes as well. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ ****** al_get_allegro_video_version ****** │ │ │ │ │ uint32_t al_get_allegro_video_version(void) │ │ │ │ │ - │ │ │ │ │ -uint32_t al_get_allegro_video_version(void) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as al_get_ │ │ │ │ │ allegro_version. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ ****** al_open_video ****** │ │ │ │ │ ALLEGRO_VIDEO *al_open_video(char const *filename) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_VIDEO *al_open_video(char const *filename) │ │ │ │ │ Source_Code │ │ │ │ │ Reads a video file. This does not start playing yet but reads the meta info so │ │ │ │ │ you can query e.g. the size or audio rate. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_identify_video ****** │ │ │ │ │ char const *al_identify_video(char const *filename) │ │ │ │ │ - │ │ │ │ │ -char const *al_identify_video(char const *filename) │ │ │ │ │ Source_Code │ │ │ │ │ This works exactly as al_identify_video_f but you specify the filename of the │ │ │ │ │ file for which to detect the type and not a file handle. The extension, if any, │ │ │ │ │ of the passed filename is not taken into account - only the file contents. │ │ │ │ │ Since: 5.2.8 │ │ │ │ │ See also: al_init_video_addon, al_identify_video_f │ │ │ │ │ ****** al_identify_video_f ****** │ │ │ │ │ char const *al_identify_video_f(ALLEGRO_FILE *fp) │ │ │ │ │ - │ │ │ │ │ -char const *al_identify_video_f(ALLEGRO_FILE *fp) │ │ │ │ │ Source_Code │ │ │ │ │ Tries to guess the video file type of the open ALLEGRO_FILE by reading the │ │ │ │ │ first few bytes. By default Allegro cannot recognize any file types, but │ │ │ │ │ calling al_init_video_addon will add detection of the types it can read. │ │ │ │ │ Returns a pointer to a static string with a file extension for the type, │ │ │ │ │ including the leading dot. For example “.ogv”. Returns NULL if the video type │ │ │ │ │ cannot be determined. │ │ │ │ │ Since: 5.2.8 │ │ │ │ │ See also: al_init_video_addon, al_identify_video │ │ │ │ │ ****** al_close_video ****** │ │ │ │ │ void al_close_video(ALLEGRO_VIDEO *video) │ │ │ │ │ - │ │ │ │ │ -void al_close_video(ALLEGRO_VIDEO *video) │ │ │ │ │ Source_Code │ │ │ │ │ Closes the video and frees all allocated resources. The video pointer is │ │ │ │ │ invalid after the function returns. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_start_video ****** │ │ │ │ │ void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer) │ │ │ │ │ - │ │ │ │ │ -void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer) │ │ │ │ │ Source_Code │ │ │ │ │ Starts playing the video from the beginning. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_start_video_with_voice ****** │ │ │ │ │ void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice) │ │ │ │ │ - │ │ │ │ │ -void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice) │ │ │ │ │ Source_Code │ │ │ │ │ Like al_start_video but audio is routed to the provided voice. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ ****** al_get_video_event_source ****** │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video) │ │ │ │ │ Source_Code │ │ │ │ │ Get an event source for the video. The possible events are described under │ │ │ │ │ ALLEGRO_VIDEO_EVENT_TYPE. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_set_video_playing ****** │ │ │ │ │ void al_set_video_playing(ALLEGRO_VIDEO *video, bool play) │ │ │ │ │ - │ │ │ │ │ -void al_set_video_playing(ALLEGRO_VIDEO *video, bool play) │ │ │ │ │ Source_Code │ │ │ │ │ Paused or resumes playback. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_is_video_playing ****** │ │ │ │ │ bool al_is_video_playing(ALLEGRO_VIDEO *video) │ │ │ │ │ - │ │ │ │ │ -bool al_is_video_playing(ALLEGRO_VIDEO *video) │ │ │ │ │ Source_Code │ │ │ │ │ Returns true if the video is currently playing. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_get_video_audio_rate ****** │ │ │ │ │ double al_get_video_audio_rate(ALLEGRO_VIDEO *video) │ │ │ │ │ - │ │ │ │ │ -double al_get_video_audio_rate(ALLEGRO_VIDEO *video) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the audio rate of the video, in Hz. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_get_video_fps ****** │ │ │ │ │ double al_get_video_fps(ALLEGRO_VIDEO *video) │ │ │ │ │ - │ │ │ │ │ -double al_get_video_fps(ALLEGRO_VIDEO *video) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the speed of the video in frames per second. Often this will not be an │ │ │ │ │ integer value. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_get_video_scaled_width ****** │ │ │ │ │ float al_get_video_scaled_width(ALLEGRO_VIDEO *video) │ │ │ │ │ - │ │ │ │ │ -float al_get_video_scaled_width(ALLEGRO_VIDEO *video) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the width with which the video frame should be drawn. Videos often do │ │ │ │ │ not use square pixels, so this will may return a value larger than the width of │ │ │ │ │ the frame bitmap. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ See also: al_get_video_frame │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_get_video_scaled_height ****** │ │ │ │ │ float al_get_video_scaled_height(ALLEGRO_VIDEO *video) │ │ │ │ │ - │ │ │ │ │ -float al_get_video_scaled_height(ALLEGRO_VIDEO *video) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the height with which the video frame should be drawn. Videos often do │ │ │ │ │ not use square pixels, so this will may return a value larger than the height │ │ │ │ │ of the frame bitmap. │ │ │ │ │ See also: al_get_video_frame │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_get_video_frame ****** │ │ │ │ │ ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video) │ │ │ │ │ - │ │ │ │ │ -ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the current video frame. The bitmap is owned by the video so do not │ │ │ │ │ attempt to free it. The bitmap will stay valid until the next call to al_get_ │ │ │ │ │ video_frame. │ │ │ │ │ Videos often do not use square pixels so the recommended way to draw a video │ │ │ │ │ frame would be using code like this: │ │ │ │ │ float scale = 1.0; /* Adjust this to fit your target bitmap dimensions. */ │ │ │ │ │ @@ -295,32 +233,21 @@ │ │ │ │ │ float dw = scale * al_get_video_scaled_width(video); │ │ │ │ │ │ │ │ │ │ float dh = scale * al_get_video_scaled_height(video); │ │ │ │ │ │ │ │ │ │ al_draw_scaled_bitmap(frame, 0, 0, sw, sh, 0, 0, dw, dh, 0); │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: al_get_video_scaled_width, al_get_video_scaled_height │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_get_video_position ****** │ │ │ │ │ double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE │ │ │ │ │ which) │ │ │ │ │ - │ │ │ │ │ -double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE │ │ │ │ │ -which) │ │ │ │ │ Source_Code │ │ │ │ │ Returns the current position of the video stream in seconds since the │ │ │ │ │ beginning. The parameter is one of the ALLEGRO_VIDEO_POSITION_TYPE constants. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ ****** al_seek_video ****** │ │ │ │ │ bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds) │ │ │ │ │ - │ │ │ │ │ -bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds) │ │ │ │ │ Source_Code │ │ │ │ │ Seek to a different position in the video. Currently only seeking to the │ │ │ │ │ beginning of the video is supported. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ -Examples: │ │ │ │ │ - * ex_video.c │ │ │ │ │ Allegro version 5.2.10 - Last updated: 2025-10-04 17:02:00 UTC │ │ │ ├── ./usr/share/man/man3/ALLEGRO_AUDIO_DEPTH.3alleg5.gz │ │ │ │ ├── ALLEGRO_AUDIO_DEPTH.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_AUDIO_DEPTH \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ enum ALLEGRO_AUDIO_DEPTH │ │ │ │ │ -enum ALLEGRO_AUDIO_DEPTH │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Sample depth and type as well as signedness. │ │ │ │ │ Mixers only use 32\-bit signed float (\-1..+1), or 16\-bit signed │ │ │ │ │ integers. │ │ │ │ │ Signedness is determined by an \[lq]unsigned\[rq] bit\-flag applied to │ │ │ │ │ the depth value. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_AUDIO_DEVICE.3alleg5.gz │ │ │ │ ├── ALLEGRO_AUDIO_DEVICE.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_AUDIO_DEVICE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_AUDIO_DEVICE ALLEGRO_AUDIO_DEVICE; │ │ │ │ │ -typedef struct ALLEGRO_AUDIO_DEVICE ALLEGRO_AUDIO_DEVICE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An opaque datatype that represents an audio device. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_AUDIO_EVENT_TYPE.3alleg5.gz │ │ │ │ ├── ALLEGRO_AUDIO_EVENT_TYPE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_AUDIO_EVENT_TYPE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ enum ALLEGRO_AUDIO_EVENT_TYPE │ │ │ │ │ -enum ALLEGRO_AUDIO_EVENT_TYPE │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Events sent by al_get_audio_stream_event_source(3alleg5) or │ │ │ │ │ al_get_audio_recorder_event_source(3alleg5). │ │ │ │ │ .SS ALLEGRO_EVENT_AUDIO_STREAM_FRAGMENT │ │ │ │ │ Sent when a stream fragment is ready to be filled in. │ │ │ │ │ See al_get_audio_stream_fragment(3alleg5). │ │ │ ├── ./usr/share/man/man3/ALLEGRO_AUDIO_PAN_NONE.3alleg5.gz │ │ │ │ ├── ALLEGRO_AUDIO_PAN_NONE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_AUDIO_PAN_NONE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define ALLEGRO_AUDIO_PAN_NONE (\-1000.0f) │ │ │ │ │ -#define ALLEGRO_AUDIO_PAN_NONE (\-1000.0f) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A special value for the pan property of sample instances and audio │ │ │ │ │ streams. │ │ │ │ │ Use this value to disable panning on sample instances and audio streams, │ │ │ │ │ and play them without attentuation implied by panning support. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER.3alleg5.gz │ │ │ │ ├── ALLEGRO_AUDIO_RECORDER.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_AUDIO_RECORDER \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_AUDIO_RECORDER ALLEGRO_AUDIO_RECORDER; │ │ │ │ │ -typedef struct ALLEGRO_AUDIO_RECORDER ALLEGRO_AUDIO_RECORDER; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An opaque datatype that represents a recording device. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.1 │ │ │ │ │ .RS │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER_EVENT.3alleg5.gz │ │ │ │ ├── ALLEGRO_AUDIO_RECORDER_EVENT.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_AUDIO_RECORDER_EVENT \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_AUDIO_RECORDER_EVENT ALLEGRO_AUDIO_RECORDER_EVENT; │ │ │ │ │ -typedef struct ALLEGRO_AUDIO_RECORDER_EVENT ALLEGRO_AUDIO_RECORDER_EVENT; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Structure that holds the audio recorder event data. │ │ │ │ │ Every event type will contain: │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ \&.source: pointer to the audio recorder │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/ALLEGRO_AUDIO_STREAM.3alleg5.gz │ │ │ │ ├── ALLEGRO_AUDIO_STREAM.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_AUDIO_STREAM \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM; │ │ │ │ │ -typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An ALLEGRO_AUDIO_STREAM object is used to stream generated audio to the │ │ │ │ │ sound device, in real\-time. │ │ │ │ │ This is done by reading from a buffer, which is split into a number of │ │ │ │ │ fragments. │ │ │ │ │ Whenever a fragment has finished playing, the user can refill it with │ │ │ ├── ./usr/share/man/man3/ALLEGRO_BITMAP.3alleg5.gz │ │ │ │ ├── ALLEGRO_BITMAP.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_BITMAP \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP; │ │ │ │ │ -typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Abstract type representing a bitmap (2D image). │ │ │ ├── ./usr/share/man/man3/ALLEGRO_BITMAP_WRAP.3alleg5.gz │ │ │ │ ├── ALLEGRO_BITMAP_WRAP.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_BITMAP_WRAP \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_BITMAP_WRAP { │ │ │ │ │ -typedef enum ALLEGRO_BITMAP_WRAP { │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Controls the how the pixel color is determined from a texture querying │ │ │ │ │ the texture coordinates are outside the usual bounds. │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_BITMAP_WRAP_DEFAULT \- The default behavior. │ │ │ │ │ This corresponds to ALLEGRO_BITMAP_WRAP_REPEAT when using the primitives │ │ │ ├── ./usr/share/man/man3/ALLEGRO_BPM_TO_SECS.3alleg5.gz │ │ │ │ ├── ALLEGRO_BPM_TO_SECS.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_BPM_TO_SECS \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define ALLEGRO_BPM_TO_SECS(x) (60.0 / (x)) │ │ │ │ │ -#define ALLEGRO_BPM_TO_SECS(x) (60.0 / (x)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert beats per minute to seconds. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_BPS_TO_SECS.3alleg5.gz │ │ │ │ ├── ALLEGRO_BPS_TO_SECS.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_BPS_TO_SECS \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define ALLEGRO_BPS_TO_SECS(x) (1.0 / (x)) │ │ │ │ │ -#define ALLEGRO_BPS_TO_SECS(x) (1.0 / (x)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert beats per second to seconds. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_CHANNEL_CONF.3alleg5.gz │ │ │ │ ├── ALLEGRO_CHANNEL_CONF.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_CHANNEL_CONF \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ enum ALLEGRO_CHANNEL_CONF │ │ │ │ │ -enum ALLEGRO_CHANNEL_CONF │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Speaker configuration (mono, stereo, 2.1, etc). │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_CHANNEL_CONF_1 │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_CHANNEL_CONF_2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_COLOR.3alleg5.gz │ │ │ │ ├── ALLEGRO_COLOR.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ ALLEGRO_COLOR \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_COLOR ALLEGRO_COLOR; │ │ │ │ │ -typedef struct ALLEGRO_COLOR ALLEGRO_COLOR; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An ALLEGRO_COLOR structure describes a color in a device independent │ │ │ │ │ way. │ │ │ │ │ Use al_map_rgb(3alleg5) et al.\ and al_unmap_rgb(3alleg5) et al.\ to │ │ │ │ │ translate from and to various color representations. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_COND.3alleg5.gz │ │ │ │ ├── ALLEGRO_COND.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_COND \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_COND ALLEGRO_COND; │ │ │ │ │ -typedef struct ALLEGRO_COND ALLEGRO_COND; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An opaque structure representing a condition variable. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_CONFIG.3alleg5.gz │ │ │ │ ├── ALLEGRO_CONFIG.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_CONFIG \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_CONFIG ALLEGRO_CONFIG; │ │ │ │ │ -typedef struct ALLEGRO_CONFIG ALLEGRO_CONFIG; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An abstract configuration structure. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_CONFIG_ENTRY.3alleg5.gz │ │ │ │ ├── ALLEGRO_CONFIG_ENTRY.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ ALLEGRO_CONFIG_ENTRY \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_CONFIG_ENTRY ALLEGRO_CONFIG_ENTRY; │ │ │ │ │ -typedef struct ALLEGRO_CONFIG_ENTRY ALLEGRO_CONFIG_ENTRY; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An opaque structure used for iterating across entries in a configuration │ │ │ │ │ section. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_first_config_entry(3alleg5), al_get_next_config_entry(3alleg5) │ │ │ ├── ./usr/share/man/man3/ALLEGRO_CONFIG_SECTION.3alleg5.gz │ │ │ │ ├── ALLEGRO_CONFIG_SECTION.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_CONFIG_SECTION \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_CONFIG_SECTION ALLEGRO_CONFIG_SECTION; │ │ │ │ │ -typedef struct ALLEGRO_CONFIG_SECTION ALLEGRO_CONFIG_SECTION; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An opaque structure used for iterating across sections in a │ │ │ │ │ configuration structure. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_first_config_section(3alleg5), │ │ │ │ │ al_get_next_config_section(3alleg5) │ │ │ ├── ./usr/share/man/man3/ALLEGRO_DISPLAY.3alleg5.gz │ │ │ │ ├── ALLEGRO_DISPLAY.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_DISPLAY \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_DISPLAY ALLEGRO_DISPLAY; │ │ │ │ │ -typedef struct ALLEGRO_DISPLAY ALLEGRO_DISPLAY; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An opaque type representing an open display or window. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_DISPLAY_MODE.3alleg5.gz │ │ │ │ ├── ALLEGRO_DISPLAY_MODE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_DISPLAY_MODE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_DISPLAY_MODE │ │ │ │ │ -typedef struct ALLEGRO_DISPLAY_MODE │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Used for fullscreen mode queries. │ │ │ │ │ Contains information about a supported fullscreen modes. │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ typedef struct ALLEGRO_DISPLAY_MODE { │ │ │ ├── ./usr/share/man/man3/ALLEGRO_EVENT.3alleg5.gz │ │ │ │ ├── ALLEGRO_EVENT.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_EVENT \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef union ALLEGRO_EVENT ALLEGRO_EVENT; │ │ │ │ │ -typedef union ALLEGRO_EVENT ALLEGRO_EVENT; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An ALLEGRO_EVENT is a union of all builtin event structures, i.e.\ it is │ │ │ │ │ an object large enough to hold the data of any event type. │ │ │ │ │ All events have the following fields in common: │ │ │ │ │ .TP │ │ │ │ │ type (ALLEGRO_EVENT_TYPE) │ │ │ ├── ./usr/share/man/man3/ALLEGRO_EVENT_QUEUE.3alleg5.gz │ │ │ │ ├── ALLEGRO_EVENT_QUEUE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_EVENT_QUEUE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_EVENT_QUEUE ALLEGRO_EVENT_QUEUE; │ │ │ │ │ -typedef struct ALLEGRO_EVENT_QUEUE ALLEGRO_EVENT_QUEUE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An event queue holds events that have been generated by event sources │ │ │ │ │ that are registered with the queue. │ │ │ │ │ Events are stored in the order they are generated. │ │ │ │ │ Access is in a strictly FIFO (first\-in\-first\-out) order. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/ALLEGRO_EVENT_SOURCE.3alleg5.gz │ │ │ │ ├── ALLEGRO_EVENT_SOURCE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_EVENT_SOURCE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE; │ │ │ │ │ -typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An event source is any object which can generate events. │ │ │ │ │ For example, an ALLEGRO_DISPLAY can generate events, and you can get the │ │ │ │ │ ALLEGRO_EVENT_SOURCE pointer from an ALLEGRO_DISPLAY with │ │ │ │ │ al_get_display_event_source(3alleg5). │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/ALLEGRO_EVENT_TYPE.3alleg5.gz │ │ │ │ ├── ALLEGRO_EVENT_TYPE.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ ALLEGRO_EVENT_TYPE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef unsigned int ALLEGRO_EVENT_TYPE; │ │ │ │ │ -typedef unsigned int ALLEGRO_EVENT_TYPE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An integer used to distinguish between different types of events. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_EVENT(3alleg5), ALLEGRO_GET_EVENT_TYPE(3alleg5), │ │ │ │ │ ALLEGRO_EVENT_TYPE_IS_USER(3alleg5) │ │ │ ├── ./usr/share/man/man3/ALLEGRO_EVENT_TYPE_IS_USER.3alleg5.gz │ │ │ │ ├── ALLEGRO_EVENT_TYPE_IS_USER.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ ALLEGRO_EVENT_TYPE_IS_USER \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define ALLEGRO_EVENT_TYPE_IS_USER(t) ((t) >= 512) │ │ │ │ │ -#define ALLEGRO_EVENT_TYPE_IS_USER(t) ((t) >= 512) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A macro which evaluates to true if the event type is not a builtin event │ │ │ │ │ type, i.e.\ one of those described in ALLEGRO_EVENT_TYPE(3alleg5). │ │ │ ├── ./usr/share/man/man3/ALLEGRO_FILE.3alleg5.gz │ │ │ │ ├── ALLEGRO_FILE.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ ALLEGRO_FILE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_FILE ALLEGRO_FILE; │ │ │ │ │ -typedef struct ALLEGRO_FILE ALLEGRO_FILE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An opaque object representing an open file. │ │ │ │ │ This could be a real file on disk or a virtual file. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_FILECHOOSER.3alleg5.gz │ │ │ │ ├── ALLEGRO_FILECHOOSER.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_FILECHOOSER \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER; │ │ │ │ │ -typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Opaque handle to a native file dialog. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_FILE_INTERFACE.3alleg5.gz │ │ │ │ ├── ALLEGRO_FILE_INTERFACE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_FILE_INTERFACE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_FILE_INTERFACE │ │ │ │ │ -typedef struct ALLEGRO_FILE_INTERFACE │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A structure containing function pointers to handle a type of │ │ │ │ │ \[lq]file\[rq], real or virtual. │ │ │ │ │ See the full discussion in al_set_new_file_interface(3alleg5). │ │ │ │ │ .PP │ │ │ │ │ The fields are: │ │ │ ├── ./usr/share/man/man3/ALLEGRO_FILE_MODE.3alleg5.gz │ │ │ │ ├── ALLEGRO_FILE_MODE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_FILE_MODE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_FILE_MODE │ │ │ │ │ -typedef enum ALLEGRO_FILE_MODE │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Filesystem modes/types │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_FILEMODE_READ \- Readable │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_FILEMODE_WRITE \- Writable │ │ │ ├── ./usr/share/man/man3/ALLEGRO_FONT.3alleg5.gz │ │ │ │ ├── ALLEGRO_FONT.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_FONT \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_FONT ALLEGRO_FONT; │ │ │ │ │ -typedef struct ALLEGRO_FONT ALLEGRO_FONT; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A handle identifying any kind of font. │ │ │ │ │ Usually you will create it with al_load_font(3alleg5) which supports │ │ │ │ │ loading all kinds of TrueType fonts supported by the FreeType library. │ │ │ │ │ If you instead pass the filename of a bitmap file, it will be loaded │ │ │ │ │ with al_load_bitmap(3alleg5) and a font in Allegro\[cq]s bitmap font │ │ │ ├── ./usr/share/man/man3/ALLEGRO_FOR_EACH_FS_ENTRY_RESULT.3alleg5.gz │ │ │ │ ├── ALLEGRO_FOR_EACH_FS_ENTRY_RESULT.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_FOR_EACH_FS_ENTRY_RESULT \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_FOR_EACH_FS_ENTRY_RESULT { │ │ │ │ │ -typedef enum ALLEGRO_FOR_EACH_FS_ENTRY_RESULT { │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return values for the callbacks of al_for_each_fs_entry(3alleg5) and for │ │ │ │ │ that function itself. │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_FOR_EACH_FS_ENTRY_ERROR \- An error ocurred. │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_FS_ENTRY.3alleg5.gz │ │ │ │ ├── ALLEGRO_FS_ENTRY.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ ALLEGRO_FS_ENTRY \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_FS_ENTRY ALLEGRO_FS_ENTRY; │ │ │ │ │ -typedef struct ALLEGRO_FS_ENTRY ALLEGRO_FS_ENTRY; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Opaque filesystem entry object. │ │ │ │ │ Represents a file or a directory (check with │ │ │ │ │ al_get_fs_entry_mode(3alleg5)). │ │ │ │ │ There are no user accessible member variables. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_FS_INTERFACE.3alleg5.gz │ │ │ │ ├── ALLEGRO_FS_INTERFACE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_FS_INTERFACE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_FS_INTERFACE ALLEGRO_FS_INTERFACE; │ │ │ │ │ -typedef struct ALLEGRO_FS_INTERFACE ALLEGRO_FS_INTERFACE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ The available functions you can provide for a filesystem. │ │ │ │ │ They are: │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ ALLEGRO_FS_ENTRY * fs_create_entry (const char *path); │ │ │ ├── ./usr/share/man/man3/ALLEGRO_GET_EVENT_TYPE.3alleg5.gz │ │ │ │ ├── ALLEGRO_GET_EVENT_TYPE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_GET_EVENT_TYPE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define ALLEGRO_GET_EVENT_TYPE(a, b, c, d) AL_ID(a, b, c, d) │ │ │ │ │ -#define ALLEGRO_GET_EVENT_TYPE(a, b, c, d) AL_ID(a, b, c, d) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Make an event type identifier, which is a 32\-bit integer. │ │ │ │ │ Usually, but not necessarily, this will be made from four 8\-bit │ │ │ │ │ character codes, for example: │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ ├── ./usr/share/man/man3/ALLEGRO_GLYPH.3alleg5.gz │ │ │ │ ├── ALLEGRO_GLYPH.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_GLYPH \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH; │ │ │ │ │ -typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A structure containing the properties of a character in a font. │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ typedef struct ALLEGRO_GLYPH { │ │ │ │ │ ALLEGRO_BITMAP *bitmap; // the bitmap the character is on │ │ │ ├── ./usr/share/man/man3/ALLEGRO_HAPTIC.3alleg5.gz │ │ │ │ ├── ALLEGRO_HAPTIC.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_HAPTIC \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC; │ │ │ │ │ -typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This is an abstract data type representing a haptic device that supports │ │ │ │ │ force feedback or vibration. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.8 │ │ │ │ │ .RS │ │ │ ├── ./usr/share/man/man3/ALLEGRO_HAPTIC_CONSTANTS.3alleg5.gz │ │ │ │ ├── ALLEGRO_HAPTIC_CONSTANTS.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_HAPTIC_CONSTANTS \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ enum ALLEGRO_HAPTIC_CONSTANTS │ │ │ │ │ -enum ALLEGRO_HAPTIC_CONSTANTS │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This enum contains flags that are used to define haptic effects and │ │ │ │ │ capabilities. │ │ │ │ │ If the flag is set in the return value of │ │ │ │ │ al_get_haptic_capabilities(3alleg5), it means the device supports the │ │ │ │ │ given effect. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT.3alleg5.gz │ │ │ │ ├── ALLEGRO_HAPTIC_EFFECT.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_HAPTIC_EFFECT \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ struct ALLEGRO_HAPTIC_EFFECT │ │ │ │ │ -struct ALLEGRO_HAPTIC_EFFECT │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This struct models a particular haptic or vibration effect. │ │ │ │ │ It needs to be filled in correctly and uploaded to a haptic device │ │ │ │ │ before the device can play it back. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Fields:\f[R] │ │ │ ├── ./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT_ID.3alleg5.gz │ │ │ │ ├── ALLEGRO_HAPTIC_EFFECT_ID.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_HAPTIC_EFFECT_ID \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID; │ │ │ │ │ -typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This struct is used as a handle to control playback of a haptic effect │ │ │ │ │ and should be considered opaque. │ │ │ │ │ Its implementation is visible merely to allow allocation by the users of │ │ │ │ │ the Allegro library. │ │ │ │ │ .SH SINCE │ │ │ ├── ./usr/share/man/man3/ALLEGRO_INDEX_BUFFER.3alleg5.gz │ │ │ │ ├── ALLEGRO_INDEX_BUFFER.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_INDEX_BUFFER \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER; │ │ │ │ │ -typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A GPU index buffer that you can use to store indices of vertices in a │ │ │ │ │ vertex buffer on the GPU instead of uploading them afresh during every │ │ │ │ │ drawing operation. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.8 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_JOYFLAGS.3alleg5.gz │ │ │ │ ├── ALLEGRO_JOYFLAGS.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_JOYFLAGS \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ enum ALLEGRO_JOYFLAGS │ │ │ │ │ -enum ALLEGRO_JOYFLAGS │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_JOYFLAG_DIGITAL \- the stick provides digital input │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_JOYFLAG_ANALOGUE \- the stick provides analogue input │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/ALLEGRO_JOYSTICK.3alleg5.gz │ │ │ │ ├── ALLEGRO_JOYSTICK.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ ALLEGRO_JOYSTICK \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK; │ │ │ │ │ -typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This is an abstract data type representing a physical joystick. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_joystick(3alleg5) │ │ │ ├── ./usr/share/man/man3/ALLEGRO_JOYSTICK_STATE.3alleg5.gz │ │ │ │ ├── ALLEGRO_JOYSTICK_STATE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_JOYSTICK_STATE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE; │ │ │ │ │ -typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This is a structure that is used to hold a \[lq]snapshot\[rq] of a │ │ │ │ │ joystick\[cq]s axes and buttons at a particular instant. │ │ │ │ │ All fields public and read\-only. │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ ├── ./usr/share/man/man3/ALLEGRO_KEYBOARD_STATE.3alleg5.gz │ │ │ │ ├── ALLEGRO_KEYBOARD_STATE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_KEYBOARD_STATE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE; │ │ │ │ │ -typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This is a structure that is used to hold a \[lq]snapshot\[rq] of a │ │ │ │ │ keyboard\[cq]s state at a particular instant. │ │ │ │ │ It contains the following publically readable fields: │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ display \- points to the display that had keyboard focus at the time the │ │ │ ├── ./usr/share/man/man3/ALLEGRO_LINE_CAP.3alleg5.gz │ │ │ │ ├── ALLEGRO_LINE_CAP.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_LINE_CAP \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_LINE_CAP │ │ │ │ │ -typedef enum ALLEGRO_LINE_CAP │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_LINE_CAP_NONE │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_LINE_CAP_SQUARE │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_LINE_JOIN.3alleg5.gz │ │ │ │ ├── ALLEGRO_LINE_JOIN.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_LINE_JOIN \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_LINE_JOIN │ │ │ │ │ -typedef enum ALLEGRO_LINE_JOIN │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_LINE_JOIN_NONE │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_LINE_JOIN_BEVEL │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_LOCKED_REGION.3alleg5.gz │ │ │ │ ├── ALLEGRO_LOCKED_REGION.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_LOCKED_REGION \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION; │ │ │ │ │ -typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Users who wish to manually edit or read from a bitmap are required to │ │ │ │ │ lock it first. │ │ │ │ │ The ALLEGRO_LOCKED_REGION structure represents the locked region of the │ │ │ │ │ bitmap. │ │ │ │ │ This call will work with any bitmap, including memory bitmaps. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_MEMORY_INTERFACE.3alleg5.gz │ │ │ │ ├── ALLEGRO_MEMORY_INTERFACE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_MEMORY_INTERFACE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE; │ │ │ │ │ -typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This structure has the following fields. │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ void *(*mi_malloc)(size_t n, int line, const char *file, const char *func); │ │ │ │ │ void (*mi_free)(void *ptr, int line, const char *file, const char *func); │ │ │ ├── ./usr/share/man/man3/ALLEGRO_MENU.3alleg5.gz │ │ │ │ ├── ALLEGRO_MENU.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ ALLEGRO_MENU \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_MENU ALLEGRO_MENU; │ │ │ │ │ -typedef struct ALLEGRO_MENU ALLEGRO_MENU; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An opaque data type that represents a menu that contains menu items. │ │ │ │ │ Each of the menu items may optionally include a sub\-menu. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_MENU_INFO.3alleg5.gz │ │ │ │ ├── ALLEGRO_MENU_INFO.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_MENU_INFO \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_MENU_INFO { │ │ │ │ │ -typedef struct ALLEGRO_MENU_INFO { │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A structure that defines how to create a complete menu system. │ │ │ │ │ For standard menu items, the following format is used: │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ { caption, id, flags, icon } │ │ │ ├── ./usr/share/man/man3/ALLEGRO_MIXER.3alleg5.gz │ │ │ │ ├── ALLEGRO_MIXER.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_MIXER \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_MIXER ALLEGRO_MIXER; │ │ │ │ │ -typedef struct ALLEGRO_MIXER ALLEGRO_MIXER; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A mixer mixes together attached streams into a single buffer. │ │ │ │ │ In the process, it converts channel configurations, sample frequencies │ │ │ │ │ and audio depths of the attached sample instances and audio streams │ │ │ │ │ accordingly. │ │ │ │ │ You can control the quality of this conversion using │ │ │ ├── ./usr/share/man/man3/ALLEGRO_MIXER_QUALITY.3alleg5.gz │ │ │ │ ├── ALLEGRO_MIXER_QUALITY.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_MIXER_QUALITY \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ enum ALLEGRO_MIXER_QUALITY │ │ │ │ │ -enum ALLEGRO_MIXER_QUALITY │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_MIXER_QUALITY_POINT \- point sampling │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_MIXER_QUALITY_LINEAR \- linear interpolation │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_MONITOR_INFO.3alleg5.gz │ │ │ │ ├── ALLEGRO_MONITOR_INFO.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_MONITOR_INFO \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_MONITOR_INFO │ │ │ │ │ -typedef struct ALLEGRO_MONITOR_INFO │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Describes a monitor\[cq]s size and position relative to other monitors. │ │ │ │ │ x1, y1 will be 0, 0 on the primary display. │ │ │ │ │ Other monitors can have negative values if they are to the left or above │ │ │ │ │ the primary display. │ │ │ │ │ x2, y2 are the coordinates one beyond the bottom right pixel, so that │ │ │ ├── ./usr/share/man/man3/ALLEGRO_MOUSE_EMULATION_MODE.3alleg5.gz │ │ │ │ ├── ALLEGRO_MOUSE_EMULATION_MODE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_MOUSE_EMULATION_MODE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_MOUSE_EMULATION_MODE │ │ │ │ │ -typedef enum ALLEGRO_MOUSE_EMULATION_MODE │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Type of mouse emulation to apply. │ │ │ │ │ .TP │ │ │ │ │ ALLEGRO_MOUSE_EMULATION_NONE │ │ │ │ │ Disables mouse emulation. │ │ │ │ │ .TP │ │ │ ├── ./usr/share/man/man3/ALLEGRO_MOUSE_STATE.3alleg5.gz │ │ │ │ ├── ALLEGRO_MOUSE_STATE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_MOUSE_STATE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE; │ │ │ │ │ -typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Public fields (read only): │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ x \- mouse x position │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ y \- mouse y position │ │ │ ├── ./usr/share/man/man3/ALLEGRO_MSECS_TO_SECS.3alleg5.gz │ │ │ │ ├── ALLEGRO_MSECS_TO_SECS.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_MSECS_TO_SECS \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define ALLEGRO_MSECS_TO_SECS(x) ((x) / 1000.0) │ │ │ │ │ -#define ALLEGRO_MSECS_TO_SECS(x) ((x) / 1000.0) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert milliseconds to seconds. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_MUTEX.3alleg5.gz │ │ │ │ ├── ALLEGRO_MUTEX.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_MUTEX \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX; │ │ │ │ │ -typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An opaque structure representing a mutex. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE.3alleg5.gz │ │ │ │ ├── ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE 255 │ │ │ │ │ -#define ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE 255 │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This is the maximum size of the title that can be set with │ │ │ │ │ al_set_new_window_title(3alleg5). │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_new_window_title(3alleg5) │ │ │ │ │ .SH SINCE │ │ │ ├── ./usr/share/man/man3/ALLEGRO_PI.3alleg5.gz │ │ │ │ ├── ALLEGRO_PI.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ ALLEGRO_PI \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define ALLEGRO_PI 3.14159265358979323846 │ │ │ │ │ -#define ALLEGRO_PI 3.14159265358979323846 │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ C99 compilers have no predefined value like M_PI for the constant π, but │ │ │ │ │ you can use this one instead. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_PIXEL_FORMAT.3alleg5.gz │ │ │ │ ├── ALLEGRO_PIXEL_FORMAT.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_PIXEL_FORMAT \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_PIXEL_FORMAT │ │ │ │ │ -typedef enum ALLEGRO_PIXEL_FORMAT │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Pixel formats. │ │ │ │ │ Each pixel format specifies the exact size and bit layout of a pixel in │ │ │ │ │ memory. │ │ │ │ │ Components are specified from high bits to low bits, so for example a │ │ │ │ │ fully opaque red pixel in ARGB_8888 format is 0xFFFF0000. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_PLAYMODE.3alleg5.gz │ │ │ │ ├── ALLEGRO_PLAYMODE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_PLAYMODE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ enum ALLEGRO_PLAYMODE │ │ │ │ │ -enum ALLEGRO_PLAYMODE │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Sample and stream playback mode. │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_PLAYMODE_ONCE \- the sample/stream is played from start to │ │ │ │ │ finish an then it stops. │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_PRIM_ATTR.3alleg5.gz │ │ │ │ ├── ALLEGRO_PRIM_ATTR.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_PRIM_ATTR \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_PRIM_ATTR │ │ │ │ │ -typedef enum ALLEGRO_PRIM_ATTR │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Enumerates the types of vertex attributes that a custom vertex may have. │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_PRIM_POSITION \- Position information, can be stored only in │ │ │ │ │ ALLEGRO_PRIM_SHORT_2, ALLEGRO_PRIM_FLOAT_2 and ALLEGRO_PRIM_FLOAT_3. │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_PRIM_BUFFER_FLAGS.3alleg5.gz │ │ │ │ ├── ALLEGRO_PRIM_BUFFER_FLAGS.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_PRIM_BUFFER_FLAGS \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_PRIM_BUFFER_FLAGS │ │ │ │ │ -typedef enum ALLEGRO_PRIM_BUFFER_FLAGS │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Flags to specify how to create a vertex or an index buffer. │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_PRIM_BUFFER_STREAM \- Hints to the driver that the buffer is │ │ │ │ │ written to often, but used only a few times per frame │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_PRIM_QUALITY.3alleg5.gz │ │ │ │ ├── ALLEGRO_PRIM_QUALITY.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_PRIM_QUALITY \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define ALLEGRO_PRIM_QUALITY 10 │ │ │ │ │ -#define ALLEGRO_PRIM_QUALITY 10 │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Controls the quality of the approximation of curved primitives │ │ │ │ │ (e.g.\ circles). │ │ │ │ │ Curved primitives are drawn by approximating them with a sequence of │ │ │ │ │ line segments. │ │ │ │ │ By default, this roughly corresponds to error of less than half of a │ │ │ ├── ./usr/share/man/man3/ALLEGRO_PRIM_STORAGE.3alleg5.gz │ │ │ │ ├── ALLEGRO_PRIM_STORAGE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_PRIM_STORAGE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_PRIM_STORAGE │ │ │ │ │ -typedef enum ALLEGRO_PRIM_STORAGE │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Enumerates the types of storage an attribute of a custom vertex may be │ │ │ │ │ stored in. │ │ │ │ │ Many of these can only be used for ALLEGRO_PRIM_USER_ATTR attributes and │ │ │ │ │ can only be accessed via shaders. │ │ │ │ │ Usually no matter what the storage is specified the attribute gets │ │ │ ├── ./usr/share/man/man3/ALLEGRO_PRIM_TYPE.3alleg5.gz │ │ │ │ ├── ALLEGRO_PRIM_TYPE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_PRIM_TYPE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_PRIM_TYPE │ │ │ │ │ -typedef enum ALLEGRO_PRIM_TYPE │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Enumerates the types of primitives this addon can draw. │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_PRIM_POINT_LIST \- A list of points, each vertex defines a point │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_PRIM_LINE_LIST \- A list of lines, sequential pairs of vertices │ │ │ ├── ./usr/share/man/man3/ALLEGRO_RENDER_FUNCTION.3alleg5.gz │ │ │ │ ├── ALLEGRO_RENDER_FUNCTION.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_RENDER_FUNCTION \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_RENDER_FUNCTION { │ │ │ │ │ -typedef enum ALLEGRO_RENDER_FUNCTION { │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Possible functions are: │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_RENDER_NEVER │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_RENDER_ALWAYS │ │ │ ├── ./usr/share/man/man3/ALLEGRO_RENDER_STATE.3alleg5.gz │ │ │ │ ├── ALLEGRO_RENDER_STATE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_RENDER_STATE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_RENDER_STATE { │ │ │ │ │ -typedef enum ALLEGRO_RENDER_STATE { │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Possible render states which can be set with │ │ │ │ │ al_set_render_state(3alleg5): │ │ │ │ │ .TP │ │ │ │ │ ALLEGRO_ALPHA_TEST │ │ │ │ │ If this is set to 1, the values of ALLEGRO_ALPHA_FUNCTION and │ │ │ ├── ./usr/share/man/man3/ALLEGRO_SAMPLE.3alleg5.gz │ │ │ │ ├── ALLEGRO_SAMPLE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_SAMPLE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_SAMPLE ALLEGRO_SAMPLE; │ │ │ │ │ -typedef struct ALLEGRO_SAMPLE ALLEGRO_SAMPLE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An ALLEGRO_SAMPLE object stores the data necessary for playing │ │ │ │ │ pre\-defined digital audio. │ │ │ │ │ It holds a user\-specified PCM data buffer and information about its │ │ │ │ │ format (data length, depth, frequency, channel configuration). │ │ │ │ │ You can have the same ALLEGRO_SAMPLE playing multiple times │ │ │ ├── ./usr/share/man/man3/ALLEGRO_SAMPLE_ID.3alleg5.gz │ │ │ │ ├── ALLEGRO_SAMPLE_ID.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_SAMPLE_ID \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_SAMPLE_ID ALLEGRO_SAMPLE_ID; │ │ │ │ │ -typedef struct ALLEGRO_SAMPLE_ID ALLEGRO_SAMPLE_ID; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An ALLEGRO_SAMPLE_ID represents a sample being played via │ │ │ │ │ al_play_sample(3alleg5). │ │ │ │ │ It can be used to later stop the sample with al_stop_sample(3alleg5). │ │ │ │ │ The underlying ALLEGRO_SAMPLE_INSTANCE can be extracted using │ │ │ │ │ al_lock_sample_id(3alleg5). │ │ │ ├── ./usr/share/man/man3/ALLEGRO_SAMPLE_INSTANCE.3alleg5.gz │ │ │ │ ├── ALLEGRO_SAMPLE_INSTANCE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_SAMPLE_INSTANCE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_SAMPLE_INSTANCE ALLEGRO_SAMPLE_INSTANCE; │ │ │ │ │ -typedef struct ALLEGRO_SAMPLE_INSTANCE ALLEGRO_SAMPLE_INSTANCE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An ALLEGRO_SAMPLE_INSTANCE object represents a playable instance of a │ │ │ │ │ predefined sound effect. │ │ │ │ │ It holds information about how the effect should be played: These │ │ │ │ │ playback parameters consist of the looping mode, loop start/end points, │ │ │ │ │ playing position, speed, gain, pan and the playmode. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_SEEK.3alleg5.gz │ │ │ │ ├── ALLEGRO_SEEK.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_SEEK \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_SEEK │ │ │ │ │ -typedef enum ALLEGRO_SEEK │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_SEEK_SET \- seek relative to beginning of file │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_SEEK_CUR \- seek relative to current file position │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_SHADER.3alleg5.gz │ │ │ │ ├── ALLEGRO_SHADER.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_SHADER \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_SHADER ALLEGRO_SHADER; │ │ │ │ │ -typedef struct ALLEGRO_SHADER ALLEGRO_SHADER; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An ALLEGRO_SHADER(3alleg5) is a program that runs on the GPU. │ │ │ │ │ It combines both a vertex and a pixel shader. │ │ │ │ │ (In OpenGL terms, an ALLEGRO_SHADER(3alleg5) is actually a │ │ │ │ │ \f[I]program\f[R] which has one or more \f[I]shaders\f[R] attached. │ │ │ │ │ This can be confusing.) │ │ │ ├── ./usr/share/man/man3/ALLEGRO_SHADER_PLATFORM.3alleg5.gz │ │ │ │ ├── ALLEGRO_SHADER_PLATFORM.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_SHADER_PLATFORM \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM; │ │ │ │ │ -typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ The underlying platform which the ALLEGRO_SHADER(3alleg5) is built on │ │ │ │ │ top of, which dictates the language used to program the shader. │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_SHADER_AUTO \- Pick a platform automatically given the current │ │ │ │ │ display flags. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_SHADER_TYPE.3alleg5.gz │ │ │ │ ├── ALLEGRO_SHADER_TYPE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_SHADER_TYPE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE; │ │ │ │ │ -typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Used with al_attach_shader_source(3alleg5) and │ │ │ │ │ al_attach_shader_source_file(3alleg5) to specify how to interpret the │ │ │ │ │ attached source. │ │ │ │ │ .TP │ │ │ │ │ ALLEGRO_VERTEX_SHADER │ │ │ ├── ./usr/share/man/man3/ALLEGRO_STATE.3alleg5.gz │ │ │ │ ├── ALLEGRO_STATE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_STATE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_STATE ALLEGRO_STATE; │ │ │ │ │ -typedef struct ALLEGRO_STATE ALLEGRO_STATE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Opaque type which is passed to │ │ │ │ │ al_store_state(3alleg5)/al_restore_state(3alleg5). │ │ │ │ │ .PP │ │ │ │ │ The various state kept internally by Allegro can be displayed like this: │ │ │ │ │ .IP │ │ │ ├── ./usr/share/man/man3/ALLEGRO_STATE_FLAGS.3alleg5.gz │ │ │ │ ├── ALLEGRO_STATE_FLAGS.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ ALLEGRO_STATE_FLAGS \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_STATE_FLAGS │ │ │ │ │ -typedef enum ALLEGRO_STATE_FLAGS │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Flags which can be passed to │ │ │ │ │ al_store_state(3alleg5)/al_restore_state(3alleg5) as bit combinations. │ │ │ │ │ See al_store_state(3alleg5) for the list of flags. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_SYSTEM_ID.3alleg5.gz │ │ │ │ ├── ALLEGRO_SYSTEM_ID.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_SYSTEM_ID \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ enum ALLEGRO_SYSTEM_ID { │ │ │ │ │ -enum ALLEGRO_SYSTEM_ID { │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ The system Allegro is running on. │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_SYSTEM_ID_UNKNOWN \- Unknown system. │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_SYSTEM_ID_XGLX \- Xglx │ │ │ ├── ./usr/share/man/man3/ALLEGRO_TEXTLOG.3alleg5.gz │ │ │ │ ├── ALLEGRO_TEXTLOG.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_TEXTLOG \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG; │ │ │ │ │ -typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Opaque handle to a text log window. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_THREAD.3alleg5.gz │ │ │ │ ├── ALLEGRO_THREAD.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_THREAD \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_THREAD ALLEGRO_THREAD; │ │ │ │ │ -typedef struct ALLEGRO_THREAD ALLEGRO_THREAD; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An opaque structure representing a thread. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_TIMER.3alleg5.gz │ │ │ │ ├── ALLEGRO_TIMER.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_TIMER \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_TIMER ALLEGRO_TIMER; │ │ │ │ │ -typedef struct ALLEGRO_TIMER ALLEGRO_TIMER; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This is an abstract data type representing a timer object. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT.3alleg5.gz │ │ │ │ ├── ALLEGRO_TOUCH_INPUT.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ ALLEGRO_TOUCH_INPUT \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT; │ │ │ │ │ -typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An abstract data type representing a physical touch screen or touch pad. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT.3alleg5.gz │ │ │ │ ├── ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT 16 │ │ │ │ │ -#define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT 16 │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ The maximum amount of simultaneous touches that can be detected. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_STATE.3alleg5.gz │ │ │ │ ├── ALLEGRO_TOUCH_INPUT_STATE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_TOUCH_INPUT_STATE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE; │ │ │ │ │ -typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This is a structure that holds a snapshot of all simultaneous touches at │ │ │ │ │ a particular instant. │ │ │ │ │ .PP │ │ │ │ │ Public fields (read only): │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_TOUCH_STATE.3alleg5.gz │ │ │ │ ├── ALLEGRO_TOUCH_STATE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_TOUCH_STATE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE; │ │ │ │ │ -typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This is a structure that is used to hold a \[lq]snapshot\[rq] of a touch │ │ │ │ │ at a particular instant. │ │ │ │ │ .PP │ │ │ │ │ Public fields (read only): │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_TRANSFORM.3alleg5.gz │ │ │ │ ├── ALLEGRO_TRANSFORM.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_TRANSFORM \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM; │ │ │ │ │ -typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Defines the generic transformation type, a 4x4 matrix. │ │ │ │ │ 2D transforms use only a small subsection of this matrix, namely the top │ │ │ │ │ left 2x2 matrix, and the right most 2x1 matrix, for a total of 6 values. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Fields:\f[R] │ │ │ ├── ./usr/share/man/man3/ALLEGRO_USECS_TO_SECS.3alleg5.gz │ │ │ │ ├── ALLEGRO_USECS_TO_SECS.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ ALLEGRO_USECS_TO_SECS \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define ALLEGRO_USECS_TO_SECS(x) ((x) / 1000000.0) │ │ │ │ │ -#define ALLEGRO_USECS_TO_SECS(x) ((x) / 1000000.0) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert microseconds to seconds. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_USER_EVENT.3alleg5.gz │ │ │ │ ├── ALLEGRO_USER_EVENT.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_USER_EVENT \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_USER_EVENT ALLEGRO_USER_EVENT; │ │ │ │ │ -typedef struct ALLEGRO_USER_EVENT ALLEGRO_USER_EVENT; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An event structure that can be emitted by user event sources. │ │ │ │ │ These are the public fields: │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_EVENT_SOURCE *source; │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_USTR.3alleg5.gz │ │ │ │ ├── ALLEGRO_USTR.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ ALLEGRO_USTR \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct _al_tagbstring ALLEGRO_USTR; │ │ │ │ │ -typedef struct _al_tagbstring ALLEGRO_USTR; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ An opaque type representing a string. │ │ │ │ │ ALLEGRO_USTRs normally contain UTF\-8 encoded strings, but they may be │ │ │ │ │ used to hold any byte sequences, including NULs. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_USTR_INFO.3alleg5.gz │ │ │ │ ├── ALLEGRO_USTR_INFO.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_USTR_INFO \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct _al_tagbstring ALLEGRO_USTR_INFO; │ │ │ │ │ -typedef struct _al_tagbstring ALLEGRO_USTR_INFO; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A type that holds additional information for an ALLEGRO_USTR(3alleg5) │ │ │ │ │ that references an external memory buffer. │ │ │ │ │ You can convert it back to ALLEGRO_USTR(3alleg5) via │ │ │ │ │ al_ref_info(3alleg5). │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/ALLEGRO_VERTEX.3alleg5.gz │ │ │ │ ├── ALLEGRO_VERTEX.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_VERTEX \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX; │ │ │ │ │ -typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Defines the generic vertex type, with a 3D position, color and texture │ │ │ │ │ coordinates for a single texture. │ │ │ │ │ Note that at this time, the software driver for this addon cannot render │ │ │ │ │ 3D primitives. │ │ │ │ │ If you want a 2D only primitive, set z to 0. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_VERTEX_BUFFER.3alleg5.gz │ │ │ │ ├── ALLEGRO_VERTEX_BUFFER.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_VERTEX_BUFFER \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER; │ │ │ │ │ -typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A GPU vertex buffer that you can use to store vertices on the GPU │ │ │ │ │ instead of uploading them afresh during every drawing operation. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.3 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/ALLEGRO_VERTEX_CACHE_SIZE.3alleg5.gz │ │ │ │ ├── ALLEGRO_VERTEX_CACHE_SIZE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_VERTEX_CACHE_SIZE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define ALLEGRO_VERTEX_CACHE_SIZE 256 │ │ │ │ │ -#define ALLEGRO_VERTEX_CACHE_SIZE 256 │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Defines the size of the transformation vertex cache for the software │ │ │ │ │ renderer. │ │ │ │ │ If you pass less than this many vertices to the primitive rendering │ │ │ │ │ functions you will get a speed boost. │ │ │ │ │ This also defines the size of the cache vertex buffer, used for the │ │ │ ├── ./usr/share/man/man3/ALLEGRO_VERTEX_DECL.3alleg5.gz │ │ │ │ ├── ALLEGRO_VERTEX_DECL.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_VERTEX_DECL \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL; │ │ │ │ │ -typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A vertex declaration. │ │ │ │ │ This opaque structure is responsible for describing the format and │ │ │ │ │ layout of a user defined custom vertex. │ │ │ │ │ It is created and destroyed by specialized functions. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/ALLEGRO_VERTEX_ELEMENT.3alleg5.gz │ │ │ │ ├── ALLEGRO_VERTEX_ELEMENT.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_VERTEX_ELEMENT \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT; │ │ │ │ │ -typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A small structure describing a certain element of a vertex. │ │ │ │ │ E.g. │ │ │ │ │ the position of the vertex, or its color. │ │ │ │ │ These structures are used by the al_create_vertex_decl(3alleg5) function │ │ │ │ │ to create the vertex declaration. │ │ │ ├── ./usr/share/man/man3/ALLEGRO_VIDEO_EVENT_TYPE.3alleg5.gz │ │ │ │ ├── ALLEGRO_VIDEO_EVENT_TYPE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_VIDEO_EVENT_TYPE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ enum ALLEGRO_VIDEO_EVENT_TYPE │ │ │ │ │ -enum ALLEGRO_VIDEO_EVENT_TYPE │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Events sent by al_get_video_event_source(3alleg5). │ │ │ │ │ .SS ALLEGRO_EVENT_VIDEO_FRAME_SHOW │ │ │ │ │ This event is sent when it is time to show a new frame. │ │ │ │ │ Once you receive this event, you can draw the current frame (as returned │ │ │ │ │ by al_get_video_frame(3alleg5)). │ │ │ ├── ./usr/share/man/man3/ALLEGRO_VIDEO_POSITION_TYPE.3alleg5.gz │ │ │ │ ├── ALLEGRO_VIDEO_POSITION_TYPE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_VIDEO_POSITION_TYPE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE; │ │ │ │ │ -typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Used with al_get_video_position(3alleg5) to specify which position to │ │ │ │ │ retrieve. │ │ │ │ │ If these get out of sync, audio and video may be out of sync in the │ │ │ │ │ display of the video. │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/ALLEGRO_VOICE.3alleg5.gz │ │ │ │ ├── ALLEGRO_VOICE.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_VOICE \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef struct ALLEGRO_VOICE ALLEGRO_VOICE; │ │ │ │ │ -typedef struct ALLEGRO_VOICE ALLEGRO_VOICE; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A voice represents an audio device on the system, which may be a real │ │ │ │ │ device, or an abstract device provided by the operating system. │ │ │ │ │ To play back audio, you would attach a mixer, sample instance or audio │ │ │ │ │ stream to a voice. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/ALLEGRO_WRITE_MASK_FLAGS.3alleg5.gz │ │ │ │ ├── ALLEGRO_WRITE_MASK_FLAGS.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ ALLEGRO_WRITE_MASK_FLAGS \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef enum ALLEGRO_WRITE_MASK_FLAGS { │ │ │ │ │ -typedef enum ALLEGRO_WRITE_MASK_FLAGS { │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Each enabled bit means the corresponding value is written, a disabled │ │ │ │ │ bit means it is not. │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ ALLEGRO_MASK_RED │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/al_append_menu_item.3alleg5.gz │ │ │ │ ├── al_append_menu_item.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id, │ │ │ │ │ int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu) │ │ │ │ │ -int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id, │ │ │ │ │ - int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Appends a menu item to the end of the menu. │ │ │ │ │ See al_insert_menu_item(3alleg5) for more information. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_append_native_text_log.3alleg5.gz │ │ │ │ ├── al_append_native_text_log.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog, │ │ │ │ │ char const *format, ...) │ │ │ │ │ -void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog, │ │ │ │ │ - char const *format, ...) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Appends a line of text to the message log window and scrolls to the │ │ │ │ │ bottom (if the line would not be visible otherwise). │ │ │ │ │ This works like printf. │ │ │ │ │ A line is continued until you add a newline character. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_attach_audio_stream_to_mixer.3alleg5.gz │ │ │ │ ├── al_attach_audio_stream_to_mixer.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_attach_audio_stream_to_mixer \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_attach_audio_stream_to_mixer(ALLEGRO_AUDIO_STREAM *stream, ALLEGRO_MIXER *mixer) │ │ │ │ │ -bool al_attach_audio_stream_to_mixer(ALLEGRO_AUDIO_STREAM *stream, ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Attach an audio stream to a mixer. │ │ │ │ │ The stream must not already be attached to anything. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_attach_audio_stream_to_voice.3alleg5.gz │ │ │ │ ├── al_attach_audio_stream_to_voice.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_attach_audio_stream_to_voice(ALLEGRO_AUDIO_STREAM *stream, │ │ │ │ │ ALLEGRO_VOICE *voice) │ │ │ │ │ -bool al_attach_audio_stream_to_voice(ALLEGRO_AUDIO_STREAM *stream, │ │ │ │ │ - ALLEGRO_VOICE *voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Attaches an audio stream to a voice. │ │ │ │ │ The same rules as al_attach_sample_instance_to_voice(3alleg5) apply. │ │ │ │ │ This may fail if the driver can\[cq]t create a voice with the buffer │ │ │ │ │ count and buffer size the stream uses. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_attach_mixer_to_mixer.3alleg5.gz │ │ │ │ ├── al_attach_mixer_to_mixer.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_attach_mixer_to_mixer \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_attach_mixer_to_mixer(ALLEGRO_MIXER *stream, ALLEGRO_MIXER *mixer) │ │ │ │ │ -bool al_attach_mixer_to_mixer(ALLEGRO_MIXER *stream, ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Attaches the mixer passed as the first argument onto the mixer passed as │ │ │ │ │ the second argument. │ │ │ │ │ The first mixer (that is going to be attached) must not already be │ │ │ │ │ attached to anything. │ │ │ │ │ Both mixers must use the same frequency, audio depth and channel │ │ │ ├── ./usr/share/man/man3/al_attach_mixer_to_voice.3alleg5.gz │ │ │ │ ├── al_attach_mixer_to_voice.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_attach_mixer_to_voice \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_attach_mixer_to_voice(ALLEGRO_MIXER *mixer, ALLEGRO_VOICE *voice) │ │ │ │ │ -bool al_attach_mixer_to_voice(ALLEGRO_MIXER *mixer, ALLEGRO_VOICE *voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Attaches a mixer to a voice. │ │ │ │ │ It must have the same frequency and channel configuration, but the depth │ │ │ │ │ may be different. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ ├── ./usr/share/man/man3/al_attach_sample_instance_to_mixer.3alleg5.gz │ │ │ │ ├── al_attach_sample_instance_to_mixer.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_attach_sample_instance_to_mixer(ALLEGRO_SAMPLE_INSTANCE *spl, │ │ │ │ │ ALLEGRO_MIXER *mixer) │ │ │ │ │ -bool al_attach_sample_instance_to_mixer(ALLEGRO_SAMPLE_INSTANCE *spl, │ │ │ │ │ - ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Attach a sample instance to a mixer. │ │ │ │ │ The instance must not already be attached to anything. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_attach_sample_instance_to_voice.3alleg5.gz │ │ │ │ ├── al_attach_sample_instance_to_voice.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_attach_sample_instance_to_voice(ALLEGRO_SAMPLE_INSTANCE *spl, │ │ │ │ │ ALLEGRO_VOICE *voice) │ │ │ │ │ -bool al_attach_sample_instance_to_voice(ALLEGRO_SAMPLE_INSTANCE *spl, │ │ │ │ │ - ALLEGRO_VOICE *voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Attaches a sample instance to a voice, and allows it to play. │ │ │ │ │ The instance\[cq]s gain and loop mode will be ignored, and it must have │ │ │ │ │ the same frequency, channel configuration and depth (including │ │ │ │ │ signed\-ness) as the voice. │ │ │ │ │ This function may fail if the selected driver doesn\[cq]t support │ │ │ ├── ./usr/share/man/man3/al_build_menu.3alleg5.gz │ │ │ │ ├── al_build_menu.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_build_menu \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info) │ │ │ │ │ -ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Builds a menu based on the specifications of a sequence of │ │ │ │ │ \f[CR]ALLEGRO_MENU_INFO\f[R] elements. │ │ │ │ │ .PP │ │ │ │ │ Returns a pointer to the root \f[CR]ALLEGRO_MENU\f[R], or │ │ │ │ │ \f[CR]NULL\f[R] on failure. │ │ │ ├── ./usr/share/man/man3/al_calculate_arc.3alleg5.gz │ │ │ │ ├── al_calculate_arc.3alleg5 │ │ │ │ │ @@ -5,16 +5,14 @@ │ │ │ │ │ al_calculate_arc \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_calculate_arc(float* dest, int stride, float cx, float cy, │ │ │ │ │ - int num_points) │ │ │ │ │ -void al_calculate_arc(float* dest, int stride, float cx, float cy, │ │ │ │ │ float rx, float ry, float start_theta, float delta_theta, float thickness, │ │ │ │ │ int num_points) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ When \f[CR]thickness <= 0\f[R] this function computes positions of │ │ │ │ │ \f[CR]num_points\f[R] regularly spaced points on an elliptical arc. │ │ │ │ │ When \f[CR]thickness > 0\f[R] this function computes two sets of points, │ │ │ ├── ./usr/share/man/man3/al_calculate_ribbon.3alleg5.gz │ │ │ │ ├── al_calculate_ribbon.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_calculate_ribbon(float* dest, int dest_stride, const float *points, │ │ │ │ │ int points_stride, float thickness, int num_segments) │ │ │ │ │ -void al_calculate_ribbon(float* dest, int dest_stride, const float *points, │ │ │ │ │ - int points_stride, float thickness, int num_segments) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Calculates a ribbon given an array of points. │ │ │ │ │ The ribbon will go through all of the passed points. │ │ │ │ │ If \f[CR]thickness <= 0\f[R], then \f[CR]num_segments\f[R] of points are │ │ │ │ │ required in the destination buffer, otherwise twice as many are needed. │ │ │ │ │ The destination and the points buffer should consist of regularly spaced │ │ │ ├── ./usr/share/man/man3/al_calculate_spline.3alleg5.gz │ │ │ │ ├── al_calculate_spline.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_calculate_spline(float* dest, int stride, const float points[8], │ │ │ │ │ float thickness, int num_segments) │ │ │ │ │ -void al_calculate_spline(float* dest, int stride, const float points[8], │ │ │ │ │ - float thickness, int num_segments) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Calculates a Bézier spline given 4 control points. │ │ │ │ │ If \f[CR]thickness <= 0\f[R], then \f[CR]num_segments\f[R] of points are │ │ │ │ │ required in the destination, otherwise twice as many are needed. │ │ │ │ │ The destination buffer should consist of regularly spaced (by distance │ │ │ │ │ of stride bytes) doublets of floats, corresponding to x and y │ │ │ ├── ./usr/share/man/man3/al_calloc.3alleg5.gz │ │ │ │ ├── al_calloc.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define al_calloc(c, n) \[rs] │ │ │ │ │ (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__)) │ │ │ │ │ -#define al_calloc(c, n) \[rs] │ │ │ │ │ - (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like calloc() in the C standard library, but the implementation may be │ │ │ │ │ overridden. │ │ │ │ │ .PP │ │ │ │ │ This is a macro. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_clone_menu.3alleg5.gz │ │ │ │ ├── al_clone_menu.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_clone_menu \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu) │ │ │ │ │ -ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Makes a copy of a menu so that it can be reused on another display. │ │ │ │ │ The menu being cloned can be anything: a regular menu, a popup menu, or │ │ │ │ │ a sub\-menu. │ │ │ │ │ .PP │ │ │ │ │ Returns the cloned menu. │ │ │ ├── ./usr/share/man/man3/al_clone_menu_for_popup.3alleg5.gz │ │ │ │ ├── al_clone_menu_for_popup.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_clone_menu_for_popup \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu) │ │ │ │ │ -ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Exactly like al_clone_menu(3alleg5), except that the copy is for a popup │ │ │ │ │ menu. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_close_native_text_log.3alleg5.gz │ │ │ │ ├── al_close_native_text_log.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_close_native_text_log \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog) │ │ │ │ │ -void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Closes a message log window opened with al_open_native_text_log(3alleg5) │ │ │ │ │ earlier. │ │ │ │ │ .PP │ │ │ │ │ Does nothing if passed NULL. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_close_video.3alleg5.gz │ │ │ │ ├── al_close_video.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_close_video \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_close_video(ALLEGRO_VIDEO *video) │ │ │ │ │ -void al_close_video(ALLEGRO_VIDEO *video) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Closes the video and frees all allocated resources. │ │ │ │ │ The video pointer is invalid after the function returns. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_color_cmyk.3alleg5.gz │ │ │ │ ├── al_color_cmyk.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_color_cmyk \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR al_color_cmyk(float c, float m, float y, float k) │ │ │ │ │ -ALLEGRO_COLOR al_color_cmyk(float c, float m, float y, float k) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return an ALLEGRO_COLOR(3alleg5) structure from CMYK values (cyan, │ │ │ │ │ magenta, yellow, black). │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_cmyk_to_rgb(3alleg5), al_color_rgb_to_cmyk(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_cmyk_to_rgb.3alleg5.gz │ │ │ │ ├── al_color_cmyk_to_rgb.3alleg5 │ │ │ │ │ @@ -6,14 +6,12 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_cmyk_to_rgb(float cyan, float magenta, float yellow, │ │ │ │ │ float key, float *red, float *green, float *blue) │ │ │ │ │ -void al_color_cmyk_to_rgb(float cyan, float magenta, float yellow, │ │ │ │ │ - float key, float *red, float *green, float *blue) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert CMYK values to RGB values. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_cmyk(3alleg5), al_color_rgb_to_cmyk(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_distance_ciede2000.3alleg5.gz │ │ │ │ ├── al_color_distance_ciede2000.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ double al_color_distance_ciede2000(ALLEGRO_COLOR color1, │ │ │ │ │ ALLEGRO_COLOR color2) { │ │ │ │ │ -double al_color_distance_ciede2000(ALLEGRO_COLOR color1, │ │ │ │ │ - ALLEGRO_COLOR color2) { │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This function computes the CIEDE2000 color difference between two RGB │ │ │ │ │ colors. │ │ │ │ │ This is a visually uniform color difference, unlike for example the RGB │ │ │ │ │ distance. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_color_hsl.3alleg5.gz │ │ │ │ ├── al_color_hsl.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_color_hsl \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR al_color_hsl(float h, float s, float l) │ │ │ │ │ -ALLEGRO_COLOR al_color_hsl(float h, float s, float l) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return an ALLEGRO_COLOR(3alleg5) structure from HSL (hue, saturation, │ │ │ │ │ lightness) values. │ │ │ │ │ .PP │ │ │ │ │ Parameters: │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/al_color_hsl_to_rgb.3alleg5.gz │ │ │ │ ├── al_color_hsl_to_rgb.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_hsl_to_rgb(float hue, float saturation, float lightness, │ │ │ │ │ float *red, float *green, float *blue) │ │ │ │ │ -void al_color_hsl_to_rgb(float hue, float saturation, float lightness, │ │ │ │ │ - float *red, float *green, float *blue) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert values in HSL color model to RGB color model. │ │ │ │ │ .PP │ │ │ │ │ Parameters: │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ hue \- Color hue angle in the range 0..360 │ │ │ ├── ./usr/share/man/man3/al_color_hsv.3alleg5.gz │ │ │ │ ├── al_color_hsv.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_color_hsv \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR al_color_hsv(float h, float s, float v) │ │ │ │ │ -ALLEGRO_COLOR al_color_hsv(float h, float s, float v) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return an ALLEGRO_COLOR(3alleg5) structure from HSV (hue, saturation, │ │ │ │ │ value) values. │ │ │ │ │ .PP │ │ │ │ │ Parameters: │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/al_color_hsv_to_rgb.3alleg5.gz │ │ │ │ ├── al_color_hsv_to_rgb.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_hsv_to_rgb(float hue, float saturation, float value, │ │ │ │ │ float *red, float *green, float *blue) │ │ │ │ │ -void al_color_hsv_to_rgb(float hue, float saturation, float value, │ │ │ │ │ - float *red, float *green, float *blue) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert values in HSV color model to RGB color model. │ │ │ │ │ .PP │ │ │ │ │ Parameters: │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ hue \- Color hue angle in the range 0..360 │ │ │ ├── ./usr/share/man/man3/al_color_html.3alleg5.gz │ │ │ │ ├── al_color_html.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_color_html \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR al_color_html(char const *string) │ │ │ │ │ -ALLEGRO_COLOR al_color_html(char const *string) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Interprets an HTML\-style hex number (e.g.\ #00faff) as a color. │ │ │ │ │ The accepted format is the same as al_color_html_to_rgb(3alleg5). │ │ │ │ │ .PP │ │ │ │ │ Returns the interpreted color, or \f[CR]al_map_rgba(0, 0, 0, 0)\f[R] if │ │ │ │ │ the string could not be parsed. │ │ │ ├── ./usr/share/man/man3/al_color_html_to_rgb.3alleg5.gz │ │ │ │ ├── al_color_html_to_rgb.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_color_html_to_rgb(char const *string, │ │ │ │ │ float *red, float *green, float *blue) │ │ │ │ │ -bool al_color_html_to_rgb(char const *string, │ │ │ │ │ - float *red, float *green, float *blue) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Interprets an HTML\-style hex number (e.g.\ #00faff) as a color. │ │ │ │ │ The only accepted formats are \[lq]#RRGGBB\[rq] and \[lq]RRGGBB\[rq] │ │ │ │ │ where R, G, B are hexadecimal digits [0\-9A\-Fa\-f]. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ ├── ./usr/share/man/man3/al_color_lab.3alleg5.gz │ │ │ │ ├── al_color_lab.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_color_lab \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR al_color_lab(float l, float a, float b) │ │ │ │ │ -ALLEGRO_COLOR al_color_lab(float l, float a, float b) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return an ALLEGRO_COLOR(3alleg5) structure from CIE L*a*b* values. │ │ │ │ │ The L* component corresponds to luminance from 0..1. │ │ │ │ │ The a* and b* components are in the range \-1..+1. │ │ │ │ │ .RS │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_color_lab_to_rgb.3alleg5.gz │ │ │ │ ├── al_color_lab_to_rgb.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_lab_to_rgb(float l, float a, float b, │ │ │ │ │ float *red, float *green, float *blue) │ │ │ │ │ -void al_color_lab_to_rgb(float l, float a, float b, │ │ │ │ │ - float *red, float *green, float *blue) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert CIE L*a*b* color values to RGB color space. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.3 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_lab(3alleg5), al_color_rgb_to_lab(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_lch.3alleg5.gz │ │ │ │ ├── al_color_lch.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_color_lch \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR al_color_lch(float l, float c, float h) │ │ │ │ │ -ALLEGRO_COLOR al_color_lch(float l, float c, float h) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return an ALLEGRO_COLOR(3alleg5) structure from CIE LCH values. │ │ │ │ │ LCH colors are very similar to HSL, with the same meaning of L and H and │ │ │ │ │ C corresponding to S. However LCH is more visually uniform. │ │ │ │ │ Furthermore, this function expects the angle for H in radians and not in │ │ │ │ │ degree. │ │ │ ├── ./usr/share/man/man3/al_color_lch_to_rgb.3alleg5.gz │ │ │ │ ├── al_color_lch_to_rgb.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_lch_to_rgb(float l, float c, float h, │ │ │ │ │ float *red, float *green, float *blue) │ │ │ │ │ -void al_color_lch_to_rgb(float l, float c, float h, │ │ │ │ │ - float *red, float *green, float *blue) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert CIE LCH color values to RGB color space. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.3 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_lch(3alleg5), al_color_rgb_to_lch(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_linear.3alleg5.gz │ │ │ │ ├── al_color_linear.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_color_linear \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR al_color_linear(float r, float g, float b) │ │ │ │ │ -ALLEGRO_COLOR al_color_linear(float r, float g, float b) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return an ALLEGRO_COLOR(3alleg5) structure from linear sRGB values. │ │ │ │ │ Allegro RGB values are assumed to be sRGB. │ │ │ │ │ The sRGB standard is in wide use by various display devices. │ │ │ │ │ It accounts for a standard gamma correction applied to RGB colors before │ │ │ │ │ they get displayed. │ │ │ ├── ./usr/share/man/man3/al_color_linear_to_rgb.3alleg5.gz │ │ │ │ ├── al_color_linear_to_rgb.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_linear_to_rgb(float r, float g, float b, │ │ │ │ │ float *red, float *green, float *blue) │ │ │ │ │ -void al_color_linear_to_rgb(float r, float g, float b, │ │ │ │ │ - float *red, float *green, float *blue) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert linear sRGB color values to gamma corrected (i.e.\ normal) RGB │ │ │ │ │ values. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.8 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_color_name.3alleg5.gz │ │ │ │ ├── al_color_name.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_color_name \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR al_color_name(char const *name) │ │ │ │ │ -ALLEGRO_COLOR al_color_name(char const *name) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return an ALLEGRO_COLOR(3alleg5) with the given name. │ │ │ │ │ If the color is not found then black is returned. │ │ │ │ │ .PP │ │ │ │ │ See al_color_name_to_rgb(3alleg5) for the list of names. │ │ │ ├── ./usr/share/man/man3/al_color_name_to_rgb.3alleg5.gz │ │ │ │ ├── al_color_name_to_rgb.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_color_name_to_rgb \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_color_name_to_rgb(char const *name, float *r, float *g, float *b) │ │ │ │ │ -bool al_color_name_to_rgb(char const *name, float *r, float *g, float *b) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Parameters: │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ name \- The (lowercase) name of the color. │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ r, g, b \- If one of the recognized color names below is passed, the │ │ │ ├── ./usr/share/man/man3/al_color_oklab.3alleg5.gz │ │ │ │ ├── al_color_oklab.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_color_oklab \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR al_color_oklab(float l, float a, float b) │ │ │ │ │ -ALLEGRO_COLOR al_color_oklab(float l, float a, float b) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return an ALLEGRO_COLOR(3alleg5) structure from Oklab values. │ │ │ │ │ The L component corresponds to luminance from 0..1. │ │ │ │ │ The a and b components are in the range \-1..+1. │ │ │ │ │ .RS │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_color_oklab_to_rgb.3alleg5.gz │ │ │ │ ├── al_color_oklab_to_rgb.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_oklab_to_rgb(float ol, float oa, float ob, │ │ │ │ │ float *red, float *green, float *blue) │ │ │ │ │ -void al_color_oklab_to_rgb(float ol, float oa, float ob, │ │ │ │ │ - float *red, float *green, float *blue) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert Oklab color values to RGB. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.8 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_oklab(3alleg5), al_color_rgb_to_oklab(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_rgb_to_cmyk.3alleg5.gz │ │ │ │ ├── al_color_rgb_to_cmyk.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_rgb_to_cmyk(float red, float green, float blue, │ │ │ │ │ float *cyan, float *magenta, float *yellow, float *key) │ │ │ │ │ -void al_color_rgb_to_cmyk(float red, float green, float blue, │ │ │ │ │ - float *cyan, float *magenta, float *yellow, float *key) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Each RGB color can be represented in CMYK with a K component of 0 with │ │ │ │ │ the following formula: │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ C = 1 \- R │ │ │ ├── ./usr/share/man/man3/al_color_rgb_to_hsl.3alleg5.gz │ │ │ │ ├── al_color_rgb_to_hsl.3alleg5 │ │ │ │ │ @@ -6,15 +6,13 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_rgb_to_hsl(float red, float green, float blue, │ │ │ │ │ float *hue, float *saturation, float *lightness) │ │ │ │ │ -void al_color_rgb_to_hsl(float red, float green, float blue, │ │ │ │ │ - float *hue, float *saturation, float *lightness) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Given an RGB triplet with components in the range 0..1, return the hue │ │ │ │ │ in degrees from 0..360 and saturation and lightness in the range 0..1. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_hsl_to_rgb(3alleg5), al_color_hsl(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_rgb_to_hsv.3alleg5.gz │ │ │ │ ├── al_color_rgb_to_hsv.3alleg5 │ │ │ │ │ @@ -6,15 +6,13 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_rgb_to_hsv(float red, float green, float blue, │ │ │ │ │ float *hue, float *saturation, float *value) │ │ │ │ │ -void al_color_rgb_to_hsv(float red, float green, float blue, │ │ │ │ │ - float *hue, float *saturation, float *value) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Given an RGB triplet with components in the range 0..1, return the hue │ │ │ │ │ in degrees from 0..360 and saturation and value in the range 0..1. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_hsv_to_rgb(3alleg5), al_color_hsv(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_rgb_to_html.3alleg5.gz │ │ │ │ ├── al_color_rgb_to_html.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_rgb_to_html(float red, float green, float blue, │ │ │ │ │ char *string) │ │ │ │ │ -void al_color_rgb_to_html(float red, float green, float blue, │ │ │ │ │ - char *string) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Create an HTML\-style string representation of an │ │ │ │ │ ALLEGRO_COLOR(3alleg5), e.g.\ #00faff. │ │ │ │ │ .PP │ │ │ │ │ Parameters: │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/al_color_rgb_to_lab.3alleg5.gz │ │ │ │ ├── al_color_rgb_to_lab.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_rgb_to_lab(float red, float green, float blue, │ │ │ │ │ float *l, float *a, float *b) │ │ │ │ │ -void al_color_rgb_to_lab(float red, float green, float blue, │ │ │ │ │ - float *l, float *a, float *b) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert RGB values to L*a*b* color space. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.3 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_lab(3alleg5), al_color_lab_to_rgb(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_rgb_to_lch.3alleg5.gz │ │ │ │ ├── al_color_rgb_to_lch.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_rgb_to_lch(float red, float green, float blue, │ │ │ │ │ float *l, float *c, float *h) │ │ │ │ │ -void al_color_rgb_to_lch(float red, float green, float blue, │ │ │ │ │ - float *l, float *c, float *h) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert RGB values to CIE LCH color space. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.3 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_lch(3alleg5), al_color_lch_to_rgb(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_rgb_to_linear.3alleg5.gz │ │ │ │ ├── al_color_rgb_to_linear.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_rgb_to_linear(float red, float green, float blue, │ │ │ │ │ float *r, float *g, float *b) │ │ │ │ │ -void al_color_rgb_to_linear(float red, float green, float blue, │ │ │ │ │ - float *r, float *g, float *b) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert gamma corrected sRGB values (i.e.\ normal RGB) to linear sRGB │ │ │ │ │ space. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.8 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_color_rgb_to_name.3alleg5.gz │ │ │ │ ├── al_color_rgb_to_name.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_color_rgb_to_name \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ char const *al_color_rgb_to_name(float r, float g, float b) │ │ │ │ │ -char const *al_color_rgb_to_name(float r, float g, float b) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Given an RGB triplet with components in the range 0..1, find a color │ │ │ │ │ name describing it approximately. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_name_to_rgb(3alleg5), al_color_name(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_rgb_to_oklab.3alleg5.gz │ │ │ │ ├── al_color_rgb_to_oklab.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_rgb_to_oklab(float red, float green, float blue, │ │ │ │ │ float *ol, float *oa, float *ob) │ │ │ │ │ -void al_color_rgb_to_oklab(float red, float green, float blue, │ │ │ │ │ - float *ol, float *oa, float *ob) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert RGB values to the Oklab color space. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.8 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_oklab(3alleg5), al_color_oklab_to_rgb(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_rgb_to_xyy.3alleg5.gz │ │ │ │ ├── al_color_rgb_to_xyy.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_rgb_to_xyy(float red, float green, float blue, │ │ │ │ │ float *x, float *y, float *y2) │ │ │ │ │ -void al_color_rgb_to_xyy(float red, float green, float blue, │ │ │ │ │ - float *x, float *y, float *y2) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert RGB values to xyY color space. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.3 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_xyy(3alleg5), al_color_xyy_to_rgb(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_rgb_to_xyz.3alleg5.gz │ │ │ │ ├── al_color_rgb_to_xyz.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_rgb_to_xyz(float red, float green, float blue, │ │ │ │ │ float *x, float *y, float *z) │ │ │ │ │ -void al_color_rgb_to_xyz(float red, float green, float blue, │ │ │ │ │ - float *x, float *y, float *z) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert RGB values to XYZ color space. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.3 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_xyz(3alleg5), al_color_xyz_to_rgb(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_rgb_to_yuv.3alleg5.gz │ │ │ │ ├── al_color_rgb_to_yuv.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_color_rgb_to_yuv \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_rgb_to_yuv(float red, float green, float blue, │ │ │ │ │ -void al_color_rgb_to_yuv(float red, float green, float blue, │ │ │ │ │ float *y, float *u, float *v) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert RGB values to YUV color space. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_yuv(3alleg5), al_color_yuv_to_rgb(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_xyy.3alleg5.gz │ │ │ │ ├── al_color_xyy.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_color_xyy \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR al_color_xyy(float x, float y, float y2) │ │ │ │ │ -ALLEGRO_COLOR al_color_xyy(float x, float y, float y2) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return an ALLEGRO_COLOR(3alleg5) structure from xyY values. │ │ │ │ │ The Y component in the xyY color space is the same as the Y in XYZ. │ │ │ │ │ .PP │ │ │ │ │ However the x and y values are computed from XYZ like this: │ │ │ │ │ .IP │ │ │ ├── ./usr/share/man/man3/al_color_xyy_to_rgb.3alleg5.gz │ │ │ │ ├── al_color_xyy_to_rgb.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_xyy_to_rgb(float x, float y, float y2, │ │ │ │ │ float *red, float *green, float *blue) │ │ │ │ │ -void al_color_xyy_to_rgb(float x, float y, float y2, │ │ │ │ │ - float *red, float *green, float *blue) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert xyY color values to RGB color space. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.3 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_xyy(3alleg5), al_color_rgb_to_xyy(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_xyz.3alleg5.gz │ │ │ │ ├── al_color_xyz.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_color_xyz \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR al_color_xyz(float x, float y, float z) │ │ │ │ │ -ALLEGRO_COLOR al_color_xyz(float x, float y, float z) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return an ALLEGRO_COLOR(3alleg5) structure from XYZ values. │ │ │ │ │ The CIE 1931 XYZ color space consists of three components in the range │ │ │ │ │ 0..1. │ │ │ │ │ The Y component corresponds to luminance and the X and Z components │ │ │ │ │ define the color. │ │ │ ├── ./usr/share/man/man3/al_color_xyz_to_rgb.3alleg5.gz │ │ │ │ ├── al_color_xyz_to_rgb.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_xyz_to_rgb(float x, float y, float z, │ │ │ │ │ float *red, float *green, float *blue) │ │ │ │ │ -void al_color_xyz_to_rgb(float x, float y, float z, │ │ │ │ │ - float *red, float *green, float *blue) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert XYZ color values to RGB color space. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.3 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_xyz(3alleg5), al_color_rgb_to_xyz(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_yuv.3alleg5.gz │ │ │ │ ├── al_color_yuv.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_color_yuv \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_COLOR al_color_yuv(float y, float u, float v) │ │ │ │ │ -ALLEGRO_COLOR al_color_yuv(float y, float u, float v) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return an ALLEGRO_COLOR(3alleg5) structure from YUV values. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_yuv_to_rgb(3alleg5), al_color_rgb_to_yuv(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_color_yuv_to_rgb.3alleg5.gz │ │ │ │ ├── al_color_yuv_to_rgb.3alleg5 │ │ │ │ │ @@ -6,14 +6,12 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_color_yuv_to_rgb(float y, float u, float v, │ │ │ │ │ float *red, float *green, float *blue) │ │ │ │ │ -void al_color_yuv_to_rgb(float y, float u, float v, │ │ │ │ │ - float *red, float *green, float *blue) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Convert YUV color values to RGB color space. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_color_yuv(3alleg5), al_color_rgb_to_yuv(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_create_audio_recorder.3alleg5.gz │ │ │ │ ├── al_create_audio_recorder.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_AUDIO_RECORDER *al_create_audio_recorder(size_t fragment_count, │ │ │ │ │ unsigned int samples, unsigned int frequency, │ │ │ │ │ ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf) │ │ │ │ │ -ALLEGRO_AUDIO_RECORDER *al_create_audio_recorder(size_t fragment_count, │ │ │ │ │ - unsigned int samples, unsigned int frequency, │ │ │ │ │ - ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates an audio recorder using the system\[cq]s default recording │ │ │ │ │ device. │ │ │ │ │ (So if the returned device does not work, try updating the system\[cq]s │ │ │ │ │ default recording device.) │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_create_audio_stream.3alleg5.gz │ │ │ │ ├── al_create_audio_stream.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_AUDIO_STREAM *al_create_audio_stream(size_t fragment_count, │ │ │ │ │ unsigned int frag_samples, unsigned int freq, ALLEGRO_AUDIO_DEPTH depth, │ │ │ │ │ ALLEGRO_CHANNEL_CONF chan_conf) │ │ │ │ │ -ALLEGRO_AUDIO_STREAM *al_create_audio_stream(size_t fragment_count, │ │ │ │ │ - unsigned int frag_samples, unsigned int freq, ALLEGRO_AUDIO_DEPTH depth, │ │ │ │ │ - ALLEGRO_CHANNEL_CONF chan_conf) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates an ALLEGRO_AUDIO_STREAM(3alleg5). │ │ │ │ │ The stream will be set to play by default. │ │ │ │ │ It will feed audio data from a buffer, which is split into a number of │ │ │ │ │ fragments. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_create_builtin_font.3alleg5.gz │ │ │ │ ├── al_create_builtin_font.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_create_builtin_font \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_FONT *al_create_builtin_font(void) │ │ │ │ │ -ALLEGRO_FONT *al_create_builtin_font(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates a monochrome bitmap font (8x8 pixels per character). │ │ │ │ │ .PP │ │ │ │ │ This font is primarily intended to be used for displaying information in │ │ │ │ │ environments or during early runtime states where no external font data │ │ │ │ │ is available or loaded (e.g.\ for debugging). │ │ │ ├── ./usr/share/man/man3/al_create_index_buffer.3alleg5.gz │ │ │ │ ├── al_create_index_buffer.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_INDEX_BUFFER* al_create_index_buffer(int index_size, │ │ │ │ │ const void* initial_data, int num_indices, int flags) │ │ │ │ │ -ALLEGRO_INDEX_BUFFER* al_create_index_buffer(int index_size, │ │ │ │ │ - const void* initial_data, int num_indices, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates a index buffer. │ │ │ │ │ Can return NULL if the buffer could not be created (e.g.\ the system │ │ │ │ │ only supports write\-only buffers). │ │ │ │ │ .RS │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_create_menu.3alleg5.gz │ │ │ │ ├── al_create_menu.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_create_menu \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_MENU *al_create_menu(void) │ │ │ │ │ -ALLEGRO_MENU *al_create_menu(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates a menu container that can hold menu items. │ │ │ │ │ .PP │ │ │ │ │ Returns \f[CR]NULL\f[R] on failure. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_create_mixer.3alleg5.gz │ │ │ │ ├── al_create_mixer.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_MIXER *al_create_mixer(unsigned int freq, │ │ │ │ │ ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf) │ │ │ │ │ -ALLEGRO_MIXER *al_create_mixer(unsigned int freq, │ │ │ │ │ - ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates a mixer to attach sample instances, audio streams, or other │ │ │ │ │ mixers to. │ │ │ │ │ It will mix into a buffer at the requested frequency (in Hz) and channel │ │ │ │ │ count. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_create_native_file_dialog.3alleg5.gz │ │ │ │ ├── al_create_native_file_dialog.3alleg5 │ │ │ │ │ @@ -9,19 +9,14 @@ │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_FILECHOOSER *al_create_native_file_dialog( │ │ │ │ │ char const *initial_path, │ │ │ │ │ char const *title, │ │ │ │ │ char const *patterns, │ │ │ │ │ int mode) │ │ │ │ │ -ALLEGRO_FILECHOOSER *al_create_native_file_dialog( │ │ │ │ │ - char const *initial_path, │ │ │ │ │ - char const *title, │ │ │ │ │ - char const *patterns,eta, float delta_theta, float thickness, │ │ │ │ │ - int mode) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates a new native file dialog. │ │ │ │ │ You should only have one such dialog opened at a time. │ │ │ │ │ .PP │ │ │ │ │ Parameters: │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/al_create_popup_menu.3alleg5.gz │ │ │ │ ├── al_create_popup_menu.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_create_popup_menu \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_MENU *al_create_popup_menu(void) │ │ │ │ │ -ALLEGRO_MENU *al_create_popup_menu(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates a menu container for popup menus. │ │ │ │ │ Only the root (outermost) menu should be created with this function. │ │ │ │ │ Sub menus of popups should be created with al_create_menu(3alleg5). │ │ │ │ │ .PP │ │ │ │ │ Returns \f[CR]NULL\f[R] on failure. │ │ │ ├── ./usr/share/man/man3/al_create_sample.3alleg5.gz │ │ │ │ ├── al_create_sample.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples, │ │ │ │ │ unsigned int freq, ALLEGRO_AUDIO_DEPTH depth, │ │ │ │ │ ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf) │ │ │ │ │ -ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples, │ │ │ │ │ - unsigned int freq, ALLEGRO_AUDIO_DEPTH depth, │ │ │ │ │ - ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Create a sample data structure from the supplied buffer. │ │ │ │ │ If \f[CR]free_buf\f[R] is true then the buffer will be freed with │ │ │ │ │ al_free(3alleg5) when the sample data structure is destroyed. │ │ │ │ │ For portability (especially Windows), the buffer should have been │ │ │ │ │ allocated with al_malloc(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_create_sample_instance.3alleg5.gz │ │ │ │ ├── al_create_sample_instance.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_create_sample_instance \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data) │ │ │ │ │ -ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates a sample instance, using the supplied sample data. │ │ │ │ │ The instance must be attached to a mixer (or voice) in order to actually │ │ │ │ │ produce output. │ │ │ │ │ .PP │ │ │ │ │ The argument may be NULL. │ │ │ ├── ./usr/share/man/man3/al_create_vertex_buffer.3alleg5.gz │ │ │ │ ├── al_create_vertex_buffer.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_VERTEX_BUFFER* al_create_vertex_buffer(ALLEGRO_VERTEX_DECL* decl, │ │ │ │ │ const void* initial_data, int num_vertices, int flags) │ │ │ │ │ -ALLEGRO_VERTEX_BUFFER* al_create_vertex_buffer(ALLEGRO_VERTEX_DECL* decl, │ │ │ │ │ - const void* initial_data, int num_vertices, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates a vertex buffer. │ │ │ │ │ Can return NULL if the buffer could not be created (e.g.\ the system │ │ │ │ │ only supports write\-only buffers). │ │ │ │ │ .RS │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_create_vertex_decl.3alleg5.gz │ │ │ │ ├── al_create_vertex_decl.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_create_vertex_decl \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* elements, int stride) │ │ │ │ │ -ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* elements, int stride) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates a vertex declaration, which describes a custom vertex format. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ elements \- An array of ALLEGRO_VERTEX_ELEMENT(3alleg5) structures. │ │ │ ├── ./usr/share/man/man3/al_create_voice.3alleg5.gz │ │ │ │ ├── al_create_voice.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_VOICE *al_create_voice(unsigned int freq, │ │ │ │ │ ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf) │ │ │ │ │ -ALLEGRO_VOICE *al_create_voice(unsigned int freq, │ │ │ │ │ - ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates a voice structure and allocates a voice from the digital sound │ │ │ │ │ driver. │ │ │ │ │ The passed frequency (in Hz), sample format and channel configuration │ │ │ │ │ are used as a hint to what kind of data will be sent to the voice. │ │ │ │ │ However, the underlying sound driver is free to use non\-matching │ │ │ ├── ./usr/share/man/man3/al_destroy_audio_recorder.3alleg5.gz │ │ │ │ ├── al_destroy_audio_recorder.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_destroy_audio_recorder \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_destroy_audio_recorder(ALLEGRO_AUDIO_RECORDER *r) │ │ │ │ │ -void al_destroy_audio_recorder(ALLEGRO_AUDIO_RECORDER *r) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Destroys the audio recorder and frees all resources associated with it. │ │ │ │ │ It is safe to destroy a recorder that is recording. │ │ │ │ │ .PP │ │ │ │ │ You may receive events after the recorder has been destroyed. │ │ │ │ │ They must be ignored, as the fragment buffer will no longer be valid. │ │ │ ├── ./usr/share/man/man3/al_destroy_audio_stream.3alleg5.gz │ │ │ │ ├── al_destroy_audio_stream.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_destroy_audio_stream \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Destroy an audio stream which was created with │ │ │ │ │ al_create_audio_stream(3alleg5) or al_load_audio_stream(3alleg5). │ │ │ │ │ .RS │ │ │ │ │ .PP │ │ │ │ │ \f[I]Note:\f[R] If the stream is still attached to a mixer or voice, │ │ │ ├── ./usr/share/man/man3/al_destroy_font.3alleg5.gz │ │ │ │ ├── al_destroy_font.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_destroy_font \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_destroy_font(ALLEGRO_FONT *f) │ │ │ │ │ -void al_destroy_font(ALLEGRO_FONT *f) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Frees the memory being used by a font structure. │ │ │ │ │ Does nothing if passed NULL. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_load_font(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_destroy_index_buffer.3alleg5.gz │ │ │ │ ├── al_destroy_index_buffer.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_destroy_index_buffer \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer) │ │ │ │ │ -void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Destroys a index buffer. │ │ │ │ │ Does nothing if passed NULL. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.8 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_destroy_menu.3alleg5.gz │ │ │ │ ├── al_destroy_menu.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_destroy_menu \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_destroy_menu(ALLEGRO_MENU *menu) │ │ │ │ │ -void al_destroy_menu(ALLEGRO_MENU *menu) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Destroys an entire menu, including its sub\-menus. │ │ │ │ │ Any references to it or a sub\-menu are no longer valid. │ │ │ │ │ It is safe to call this on a menu that is currently being displayed. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_destroy_mixer.3alleg5.gz │ │ │ │ ├── al_destroy_mixer.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_destroy_mixer \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_destroy_mixer(ALLEGRO_MIXER *mixer) │ │ │ │ │ -void al_destroy_mixer(ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Destroys the mixer. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_create_mixer(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_destroy_native_file_dialog.3alleg5.gz │ │ │ │ ├── al_destroy_native_file_dialog.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ al_destroy_native_file_dialog \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ -void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Frees up all resources used by the file dialog. │ │ │ ├── ./usr/share/man/man3/al_destroy_sample.3alleg5.gz │ │ │ │ ├── al_destroy_sample.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_destroy_sample \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_destroy_sample(ALLEGRO_SAMPLE *spl) │ │ │ │ │ -void al_destroy_sample(ALLEGRO_SAMPLE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Free the sample data structure. │ │ │ │ │ If it was created with the \f[CR]free_buf\f[R] parameter set to true, │ │ │ │ │ then the buffer will be freed with al_free(3alleg5). │ │ │ │ │ .PP │ │ │ │ │ This function will stop any sample instances which may be playing the │ │ │ ├── ./usr/share/man/man3/al_destroy_sample_instance.3alleg5.gz │ │ │ │ ├── al_destroy_sample_instance.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_destroy_sample_instance \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Detaches the sample instance from anything it may be attached to and │ │ │ │ │ frees it (the sample data, i.e.\ its ALLEGRO_SAMPLE, is \f[I]not\f[R] │ │ │ │ │ freed!). │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_create_sample_instance(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_destroy_vertex_buffer.3alleg5.gz │ │ │ │ ├── al_destroy_vertex_buffer.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_destroy_vertex_buffer \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer) │ │ │ │ │ -void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Destroys a vertex buffer. │ │ │ │ │ Does nothing if passed NULL. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.3 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_destroy_vertex_decl.3alleg5.gz │ │ │ │ ├── al_destroy_vertex_decl.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_destroy_vertex_decl \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl) │ │ │ │ │ -void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Destroys a vertex declaration. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ decl \- Vertex declaration to destroy │ │ │ ├── ./usr/share/man/man3/al_destroy_voice.3alleg5.gz │ │ │ │ ├── al_destroy_voice.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_destroy_voice \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_destroy_voice(ALLEGRO_VOICE *voice) │ │ │ │ │ -void al_destroy_voice(ALLEGRO_VOICE *voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Destroys the voice and deallocates it from the digital driver. │ │ │ │ │ Does nothing if the voice is NULL. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_create_voice(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_detach_audio_stream.3alleg5.gz │ │ │ │ ├── al_detach_audio_stream.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_detach_audio_stream \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Detach the stream from whatever it\[cq]s attached to, if anything. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_attach_audio_stream_to_mixer(3alleg5), │ │ │ │ │ al_attach_audio_stream_to_voice(3alleg5), │ │ │ │ │ al_get_audio_stream_attached(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_detach_mixer.3alleg5.gz │ │ │ │ ├── al_detach_mixer.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_detach_mixer \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_detach_mixer(ALLEGRO_MIXER *mixer) │ │ │ │ │ -bool al_detach_mixer(ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Detach the mixer from whatever it is attached to, if anything. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_attach_mixer_to_mixer(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_detach_sample_instance.3alleg5.gz │ │ │ │ ├── al_detach_sample_instance.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_detach_sample_instance \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Detach the sample instance from whatever it\[cq]s attached to, if │ │ │ │ │ anything. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_detach_voice.3alleg5.gz │ │ │ │ ├── al_detach_voice.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_detach_voice \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_detach_voice(ALLEGRO_VOICE *voice) │ │ │ │ │ -void al_detach_voice(ALLEGRO_VOICE *voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Detaches the mixer, sample instance or audio stream from the voice. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_attach_mixer_to_voice(3alleg5), │ │ │ │ │ al_attach_sample_instance_to_voice(3alleg5), │ │ │ │ │ al_attach_audio_stream_to_voice(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_disable_menu_event_source.3alleg5.gz │ │ │ │ ├── al_disable_menu_event_source.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_disable_menu_event_source \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_disable_menu_event_source(ALLEGRO_MENU *menu) │ │ │ │ │ -void al_disable_menu_event_source(ALLEGRO_MENU *menu) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Disables a unique event source for the menu, causing it to use the │ │ │ │ │ default event source. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_do_multiline_text.3alleg5.gz │ │ │ │ ├── al_do_multiline_text.3alleg5 │ │ │ │ │ @@ -8,18 +8,14 @@ │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_do_multiline_text(const ALLEGRO_FONT *font, │ │ │ │ │ float max_width, const char *text, │ │ │ │ │ bool (*cb)(int line_num, const char *line, int size, void *extra), │ │ │ │ │ void *extra) │ │ │ │ │ -void al_do_multiline_text(const ALLEGRO_FONT *font, │ │ │ │ │ - float max_width, const char *text, │ │ │ │ │ - bool (*cb)(int line_num, const char *line, int size, void *extra), │ │ │ │ │ - void *extra) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This function processes the \f[CR]text\f[R] and splits it into lines as │ │ │ │ │ al_draw_multiline_text(3alleg5) would, and then calls the callback │ │ │ │ │ \f[CR]cb\f[R] once for every line. │ │ │ │ │ This is useful for custom drawing of multiline text, or for calculating │ │ │ │ │ the size of multiline text ahead of time. │ │ │ ├── ./usr/share/man/man3/al_do_multiline_ustr.3alleg5.gz │ │ │ │ ├── al_do_multiline_ustr.3alleg5 │ │ │ │ │ @@ -8,18 +8,14 @@ │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width, │ │ │ │ │ const ALLEGRO_USTR *ustr, │ │ │ │ │ bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra), │ │ │ │ │ void *extra) │ │ │ │ │ -void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width, │ │ │ │ │ - const ALLEGRO_USTR *ustr, │ │ │ │ │ - bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra), │ │ │ │ │ - void *extra) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_do_multiline_text(3alleg5), but using ALLEGRO_USTR instead of a │ │ │ │ │ NUL\-terminated char array for text. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.9 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_drain_audio_stream.3alleg5.gz │ │ │ │ ├── al_drain_audio_stream.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_drain_audio_stream \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ You should call this to finalise an audio stream that you will no longer │ │ │ │ │ be feeding, to wait for all pending buffers to finish playing. │ │ │ │ │ The stream\[cq]s playing state will change to false. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_destroy_audio_stream(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_draw_arc.3alleg5.gz │ │ │ │ ├── al_draw_arc.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_arc(float cx, float cy, float r, float start_theta, │ │ │ │ │ float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ -void al_draw_arc(float cx, float cy, float r, float start_theta, │ │ │ │ │ - float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws an arc. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ cx, cy \- Center of the arc │ │ │ ├── ./usr/share/man/man3/al_draw_circle.3alleg5.gz │ │ │ │ ├── al_draw_circle.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color, │ │ │ │ │ float thickness) │ │ │ │ │ -void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color, │ │ │ │ │ - float thickness) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws an outlined circle. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ cx, cy \- Center of the circle │ │ │ ├── ./usr/share/man/man3/al_draw_ellipse.3alleg5.gz │ │ │ │ ├── al_draw_ellipse.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_ellipse(float cx, float cy, float rx, float ry, │ │ │ │ │ ALLEGRO_COLOR color, float thickness) │ │ │ │ │ -void al_draw_ellipse(float cx, float cy, float rx, float ry, │ │ │ │ │ - ALLEGRO_COLOR color, float thickness) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws an outlined ellipse. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ cx, cy \- Center of the ellipse │ │ │ ├── ./usr/share/man/man3/al_draw_elliptical_arc.3alleg5.gz │ │ │ │ ├── al_draw_elliptical_arc.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float start_theta, │ │ │ │ │ float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ -void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float start_theta, │ │ │ │ │ - float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws an elliptical arc. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ cx, cy \- Center of the arc │ │ │ ├── ./usr/share/man/man3/al_draw_filled_circle.3alleg5.gz │ │ │ │ ├── al_draw_filled_circle.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_draw_filled_circle \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color) │ │ │ │ │ -void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a filled circle. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ cx, cy \- Center of the circle │ │ │ ├── ./usr/share/man/man3/al_draw_filled_ellipse.3alleg5.gz │ │ │ │ ├── al_draw_filled_ellipse.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_filled_ellipse(float cx, float cy, float rx, float ry, │ │ │ │ │ ALLEGRO_COLOR color) │ │ │ │ │ -void al_draw_filled_ellipse(float cx, float cy, float rx, float ry, │ │ │ │ │ - ALLEGRO_COLOR color) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a filled ellipse. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ cx, cy \- Center of the ellipse │ │ │ ├── ./usr/share/man/man3/al_draw_filled_pieslice.3alleg5.gz │ │ │ │ ├── al_draw_filled_pieslice.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta, │ │ │ │ │ float delta_theta, ALLEGRO_COLOR color) │ │ │ │ │ -void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta, │ │ │ │ │ - float delta_theta, ALLEGRO_COLOR color) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a filled pieslice (filled circular sector). │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ cx, cy \- Center of the pieslice │ │ │ ├── ./usr/share/man/man3/al_draw_filled_polygon.3alleg5.gz │ │ │ │ ├── al_draw_filled_polygon.3alleg5 │ │ │ │ │ @@ -4,17 +4,15 @@ │ │ │ │ │ .SH NAME │ │ │ │ │ al_draw_filled_polygon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ -void al_draw_filled_polygon(const float *vertices, int vertex_cou │ │ │ │ │ - ALLEGRO_COLOR color) │ │ │ │ │ -void al_draw_filled_polygon(const float *vertices, int vertex_court, int end, int type) │ │ │ │ │ +void al_draw_filled_polygon(const float *vertices, int vertex_count, │ │ │ │ │ ALLEGRO_COLOR color) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draw a filled, simple polygon. │ │ │ │ │ Simple means it does not have to be convex but must not be │ │ │ │ │ self\-overlapping. │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/al_draw_filled_polygon_with_holes.3alleg5.gz │ │ │ │ ├── al_draw_filled_polygon_with_holes.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_filled_polygon_with_holes(const float *vertices, │ │ │ │ │ const int *vertex_counts, ALLEGRO_COLOR color) │ │ │ │ │ -void al_draw_filled_polygon_with_holes(const float *vertices, │ │ │ │ │ - const int *vertex_counts, ALLEGRO_COLOR color) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a filled simple polygon with zero or more other simple polygons │ │ │ │ │ subtracted from it \- the holes. │ │ │ │ │ The holes cannot touch or intersect with the outline of the filled │ │ │ │ │ polygon. │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/al_draw_filled_rectangle.3alleg5.gz │ │ │ │ ├── al_draw_filled_rectangle.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_filled_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ ALLEGRO_COLOR color) │ │ │ │ │ -void al_draw_filled_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ - ALLEGRO_COLOR color) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a filled rectangle. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ x1, y1, x2, y2 \- Upper left and lower right points of the rectangle │ │ │ ├── ./usr/share/man/man3/al_draw_filled_rounded_rectangle.3alleg5.gz │ │ │ │ ├── al_draw_filled_rounded_rectangle.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ float rx, float ry, ALLEGRO_COLOR color) │ │ │ │ │ -void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ - float rx, float ry, ALLEGRO_COLOR color) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws an filled rounded rectangle. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ x1, y1, x2, y2 \- Upper left and lower right points of the rectangle │ │ │ ├── ./usr/share/man/man3/al_draw_filled_triangle.3alleg5.gz │ │ │ │ ├── al_draw_filled_triangle.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_filled_triangle(float x1, float y1, float x2, float y2, │ │ │ │ │ float x3, float y3, ALLEGRO_COLOR color) │ │ │ │ │ -void al_draw_filled_triangle(float x1, float y1, float x2, float y2, │ │ │ │ │ - float x3, float y3, ALLEGRO_COLOR color) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a filled triangle. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ x1, y1, x2, y2, x3, y3 \- Three points of the triangle │ │ │ ├── ./usr/share/man/man3/al_draw_glyph.3alleg5.gz │ │ │ │ ├── al_draw_glyph.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_glyph(const ALLEGRO_FONT *f, ALLEGRO_COLOR color, float x, float y, │ │ │ │ │ int codepoint) │ │ │ │ │ -void al_draw_glyph(const ALLEGRO_FONT *f, ALLEGRO_COLOR color, float x, float y, │ │ │ │ │ - int codepoint) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws the glyph that corresponds with \f[CR]codepoint\f[R] in the given │ │ │ │ │ \f[CR]color\f[R] using the given \f[CR]font\f[R]. │ │ │ │ │ If \f[CR]font\f[R] does not have such a glyph, nothing will be drawn. │ │ │ │ │ .PP │ │ │ │ │ To draw a string as left to right horizontal text you will need to use │ │ │ ├── ./usr/share/man/man3/al_draw_indexed_buffer.3alleg5.gz │ │ │ │ ├── al_draw_indexed_buffer.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer, │ │ │ │ │ ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer, │ │ │ │ │ int start, int end, int type) │ │ │ │ │ -int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer, │ │ │ │ │ - ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer, │ │ │ │ │ - int start, int end, int type) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a subset of the passed vertex buffer. │ │ │ │ │ This function uses an index buffer to specify which vertices to use. │ │ │ │ │ Both buffers must not be locked. │ │ │ │ │ Additionally, to draw onto memory bitmaps or with memory bitmap textures │ │ │ │ │ both buffers must support reading (i.e.\ they must be created with the │ │ │ ├── ./usr/share/man/man3/al_draw_indexed_prim.3alleg5.gz │ │ │ │ ├── al_draw_indexed_prim.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl, │ │ │ │ │ ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type) │ │ │ │ │ -int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl, │ │ │ │ │ - ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a subset of the passed vertex array. │ │ │ │ │ This function uses an index array to specify which vertices to use. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ ├── ./usr/share/man/man3/al_draw_justified_text.3alleg5.gz │ │ │ │ ├── al_draw_justified_text.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_justified_text(const ALLEGRO_FONT *font, │ │ │ │ │ ALLEGRO_COLOR color, float x1, float x2, │ │ │ │ │ float y, float diff, int flags, const char *text) │ │ │ │ │ -void al_draw_justified_text(const ALLEGRO_FONT *font, │ │ │ │ │ - ALLEGRO_COLOR color, float x1, float x2, │ │ │ │ │ - float y, float diff, int flags, const char *text) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_draw_text(3alleg5), but justifies the string to the region │ │ │ │ │ x1\-x2. │ │ │ │ │ .PP │ │ │ │ │ The \f[CR]diff\f[R] parameter is the maximum amount of horizontal space │ │ │ │ │ to allow between words. │ │ │ ├── ./usr/share/man/man3/al_draw_justified_textf.3alleg5.gz │ │ │ │ ├── al_draw_justified_textf.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_justified_textf(const ALLEGRO_FONT *f, │ │ │ │ │ ALLEGRO_COLOR color, float x1, float x2, float y, │ │ │ │ │ float diff, int flags, const char *format, ...) │ │ │ │ │ -void al_draw_justified_textf(const ALLEGRO_FONT *f, │ │ │ │ │ - ALLEGRO_COLOR color, float x1, float x2, float y, │ │ │ │ │ - float diff, int flags, const char *format, ...) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Formatted text output, using a printf() style format string. │ │ │ │ │ All parameters have the same meaning as with │ │ │ │ │ al_draw_justified_text(3alleg5) otherwise. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_draw_justified_text(3alleg5), al_draw_justified_ustr(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_draw_justified_ustr.3alleg5.gz │ │ │ │ ├── al_draw_justified_ustr.3alleg5 │ │ │ │ │ @@ -7,16 +7,13 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_justified_ustr(const ALLEGRO_FONT *font, │ │ │ │ │ ALLEGRO_COLOR color, float x1, float x2, │ │ │ │ │ float y, float diff, int flags, const ALLEGRO_USTR *ustr) │ │ │ │ │ -void al_draw_justified_ustr(const ALLEGRO_FONT *font, │ │ │ │ │ - ALLEGRO_COLOR color, float x1, float x2, │ │ │ │ │ - float y, float diff, int flags, const ALLEGRO_USTR *ustr) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_draw_justified_text(3alleg5), except the text is passed as an │ │ │ │ │ ALLEGRO_USTR instead of a NUL\-terminated char array. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_draw_justified_text(3alleg5), al_draw_justified_textf(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_draw_line.3alleg5.gz │ │ │ │ ├── al_draw_line.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_line(float x1, float y1, float x2, float y2, │ │ │ │ │ ALLEGRO_COLOR color, float thickness) │ │ │ │ │ -void al_draw_line(float x1, float y1, float x2, float y2, │ │ │ │ │ - ALLEGRO_COLOR color, float thickness) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a line segment between two points. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ x1, y1, x2, y2 \- Start and end points of the line │ │ │ ├── ./usr/share/man/man3/al_draw_multiline_text.3alleg5.gz │ │ │ │ ├── al_draw_multiline_text.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_multiline_text(const ALLEGRO_FONT *font, │ │ │ │ │ ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ int flags, const char *text) │ │ │ │ │ -void al_draw_multiline_text(const ALLEGRO_FONT *font, │ │ │ │ │ - ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ - int flags, const char *text) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_draw_text(3alleg5), but this function supports drawing multiple │ │ │ │ │ lines of text. │ │ │ │ │ It will break \f[CR]text\f[R] in lines based on its contents and the │ │ │ │ │ \f[CR]max_width\f[R] parameter. │ │ │ │ │ The lines are then layed out vertically depending on the │ │ │ ├── ./usr/share/man/man3/al_draw_multiline_textf.3alleg5.gz │ │ │ │ ├── al_draw_multiline_textf.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_multiline_textf(const ALLEGRO_FONT *font, │ │ │ │ │ ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ int flags, const char *format, ...) │ │ │ │ │ -void al_draw_multiline_textf(const ALLEGRO_FONT *font, │ │ │ │ │ - ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ - int flags, const char *format, ...) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Formatted text output, using a printf() style format string. │ │ │ │ │ All parameters have the same meaning as with │ │ │ │ │ al_draw_multiline_text(3alleg5) otherwise. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.9 │ │ │ ├── ./usr/share/man/man3/al_draw_multiline_ustr.3alleg5.gz │ │ │ │ ├── al_draw_multiline_ustr.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_multiline_ustr(const ALLEGRO_FONT *font, │ │ │ │ │ ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ int flags, const ALLEGRO_USTR *ustr) │ │ │ │ │ -void al_draw_multiline_ustr(const ALLEGRO_FONT *font, │ │ │ │ │ - ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ - int flags, const ALLEGRO_USTR *ustr) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_draw_multiline_text(3alleg5), except the text is passed as an │ │ │ │ │ ALLEGRO_USTR instead of a NUL\-terminated char array. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.9 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_draw_pieslice.3alleg5.gz │ │ │ │ ├── al_draw_pieslice.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_pieslice(float cx, float cy, float r, float start_theta, │ │ │ │ │ float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ -void al_draw_pieslice(float cx, float cy, float r, float start_theta, │ │ │ │ │ - float delta_theta, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a pieslice (outlined circular sector). │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ cx, cy \- Center of the pieslice │ │ │ ├── ./usr/share/man/man3/al_draw_polygon.3alleg5.gz │ │ │ │ ├── al_draw_polygon.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_polygon(const float *vertices, int vertex_count, │ │ │ │ │ int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit) │ │ │ │ │ -void al_draw_polygon(const float *vertices, int vertex_count, │ │ │ │ │ - int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draw an unfilled polygon. │ │ │ │ │ This is the same as passing \f[CR]ALLEGRO_LINE_CAP_CLOSED\f[R] to │ │ │ │ │ al_draw_polyline(3alleg5). │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ vertex \- Interleaved array of (x, y) vertex coordinates │ │ │ ├── ./usr/share/man/man3/al_draw_polyline.3alleg5.gz │ │ │ │ ├── al_draw_polyline.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_polyline(const float* vertices, int vertex_stride, │ │ │ │ │ int vertex_count, int join_style, int cap_style, │ │ │ │ │ ALLEGRO_COLOR color, float thickness, float miter_limit) │ │ │ │ │ -void al_draw_polyline(const float* vertices, int vertex_stride, │ │ │ │ │ - int vertex_count, int join_style, int cap_style, │ │ │ │ │ - ALLEGRO_COLOR color, float thickness, float miter_limit) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draw a series of line segments. │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ vertices \- Interleaved array of (x, y) vertex coordinates │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ vertex_stride \- the number of bytes between pairs of vertices (the │ │ │ ├── ./usr/share/man/man3/al_draw_prim.3alleg5.gz │ │ │ │ ├── al_draw_prim.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl, │ │ │ │ │ ALLEGRO_BITMAP* texture, int start, int end, int type) │ │ │ │ │ -int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl, │ │ │ │ │ - ALLEGRO_BITMAP* texture, int start, int end, int type) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a subset of the passed vertex array. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ texture \- Texture to use, pass NULL to use only color shaded primitves │ │ │ ├── ./usr/share/man/man3/al_draw_rectangle.3alleg5.gz │ │ │ │ ├── al_draw_rectangle.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ ALLEGRO_COLOR color, float thickness) │ │ │ │ │ -void al_draw_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ - ALLEGRO_COLOR color, float thickness) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws an outlined rectangle. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ x1, y1, x2, y2 \- Upper left and lower right points of the rectangle │ │ │ ├── ./usr/share/man/man3/al_draw_ribbon.3alleg5.gz │ │ │ │ ├── al_draw_ribbon.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR color, │ │ │ │ │ float thickness, int num_segments) │ │ │ │ │ -void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR color, │ │ │ │ │ - float thickness, int num_segments) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a ribbon given an array of points. │ │ │ │ │ The ribbon will go through all of the passed points. │ │ │ │ │ The points buffer should consist of regularly spaced doublets of floats, │ │ │ │ │ corresponding to x and y coordinates of the vertices. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_draw_rounded_rectangle.3alleg5.gz │ │ │ │ ├── al_draw_rounded_rectangle.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ float rx, float ry, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ -void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2, │ │ │ │ │ - float rx, float ry, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws an outlined rounded rectangle. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ x1, y1, x2, y2 \- Upper left and lower right points of the rectangle │ │ │ ├── ./usr/share/man/man3/al_draw_soft_line.3alleg5.gz │ │ │ │ ├── al_draw_soft_line.3alleg5 │ │ │ │ │ @@ -8,18 +8,14 @@ │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state, │ │ │ │ │ void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*), │ │ │ │ │ void (*step)(uintptr_t, int), │ │ │ │ │ void (*draw)(uintptr_t, int, int)) │ │ │ │ │ -void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state, │ │ │ │ │ - void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*), │ │ │ │ │ - void (*step)(uintptr_t, int), │ │ │ │ │ - void (*draw)(uintptr_t, int, int)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a line using the software rasterizer and user supplied pixel │ │ │ │ │ functions. │ │ │ │ │ For help in understanding what these functions do, see the │ │ │ │ │ implementation of the various shading routines in │ │ │ │ │ addons/primitives/line_soft.c. │ │ │ ├── ./usr/share/man/man3/al_draw_soft_triangle.3alleg5.gz │ │ │ │ ├── al_draw_soft_triangle.3alleg5 │ │ │ │ │ @@ -10,20 +10,14 @@ │ │ │ │ │ │ │ │ │ │ void al_draw_soft_triangle( │ │ │ │ │ ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, ALLEGRO_VERTEX* v3, uintptr_t state, │ │ │ │ │ void (*init)(uintptr_t, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*), │ │ │ │ │ void (*first)(uintptr_t, int, int, int, int), │ │ │ │ │ void (*step)(uintptr_t, int), │ │ │ │ │ void (*draw)(uintptr_t, int, int, int)) │ │ │ │ │ -void al_draw_soft_triangle( │ │ │ │ │ - ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, ALLEGRO_VERTEX* v3, uintptr_t state, │ │ │ │ │ - void (*init)(uintptr_t, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*), │ │ │ │ │ - void (*first)(uintptr_t, int, int, int, int), │ │ │ │ │ - void (*step)(uintptr_t, int), │ │ │ │ │ - void (*draw)(uintptr_t, int, int, int)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a triangle using the software rasterizer and user supplied pixel │ │ │ │ │ functions. │ │ │ │ │ For help in understanding what these functions do, see the │ │ │ │ │ implementation of the various shading routines in │ │ │ │ │ addons/primitives/tri_soft.c. │ │ │ ├── ./usr/share/man/man3/al_draw_spline.3alleg5.gz │ │ │ │ ├── al_draw_spline.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_draw_spline \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_spline(const float points[8], ALLEGRO_COLOR color, float thickness) │ │ │ │ │ -void al_draw_spline(const float points[8], ALLEGRO_COLOR color, float thickness) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a Bézier spline given 4 control points. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ points \- An array of 4 pairs of coordinates of the 4 control points │ │ │ ├── ./usr/share/man/man3/al_draw_text.3alleg5.gz │ │ │ │ ├── al_draw_text.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_text(const ALLEGRO_FONT *font, │ │ │ │ │ ALLEGRO_COLOR color, float x, float y, int flags, │ │ │ │ │ char const *text) │ │ │ │ │ -void al_draw_text(const ALLEGRO_FONT *font, │ │ │ │ │ - ALLEGRO_COLOR color, float x, float y, int flags, │ │ │ │ │ - char const *text) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Writes the NUL\-terminated string \f[CR]text\f[R] onto the target bitmap │ │ │ │ │ at position \f[CR]x\f[R], \f[CR]y\f[R], using the specified │ │ │ │ │ \f[CR]font\f[R]. │ │ │ │ │ .PP │ │ │ │ │ The \f[CR]flags\f[R] parameter can be 0 or one of the following flags: │ │ │ ├── ./usr/share/man/man3/al_draw_textf.3alleg5.gz │ │ │ │ ├── al_draw_textf.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_textf(const ALLEGRO_FONT *font, ALLEGRO_COLOR color, │ │ │ │ │ float x, float y, int flags, │ │ │ │ │ const char *format, ...) │ │ │ │ │ -void al_draw_textf(const ALLEGRO_FONT *font, ALLEGRO_COLOR color, │ │ │ │ │ - float x, float y, int flags, │ │ │ │ │ - const char *format, ...) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Formatted text output, using a printf() style format string. │ │ │ │ │ All parameters have the same meaning as with al_draw_text(3alleg5) │ │ │ │ │ otherwise. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_draw_text(3alleg5), al_draw_ustr(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_draw_triangle.3alleg5.gz │ │ │ │ ├── al_draw_triangle.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_triangle(float x1, float y1, float x2, float y2, │ │ │ │ │ float x3, float y3, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ -void al_draw_triangle(float x1, float y1, float x2, float y2, │ │ │ │ │ - float x3, float y3, ALLEGRO_COLOR color, float thickness) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws an outlined triangle. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ │ │ .IP \[bu] 2 │ │ │ │ │ x1, y1, x2, y2, x3, y3 \- Three points of the triangle │ │ │ ├── ./usr/share/man/man3/al_draw_ustr.3alleg5.gz │ │ │ │ ├── al_draw_ustr.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_draw_ustr(const ALLEGRO_FONT *font, │ │ │ │ │ ALLEGRO_COLOR color, float x, float y, int flags, │ │ │ │ │ const ALLEGRO_USTR *ustr) │ │ │ │ │ -void al_draw_ustr(const ALLEGRO_FONT *font, │ │ │ │ │ - ALLEGRO_COLOR color, float x, float y, int flags, │ │ │ │ │ - const ALLEGRO_USTR *ustr) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_draw_text(3alleg5), except the text is passed as an ALLEGRO_USTR │ │ │ │ │ instead of a NUL\-terminated char array. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_draw_text(3alleg5), al_draw_justified_ustr(3alleg5), │ │ │ │ │ al_draw_multiline_ustr(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_draw_vertex_buffer.3alleg5.gz │ │ │ │ ├── al_draw_vertex_buffer.3alleg5 │ │ │ │ │ @@ -5,16 +5,14 @@ │ │ │ │ │ al_draw_vertex_buffer \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_draw_vertex_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer, │ │ │ │ │ - ALLEGRO_BITMAP* texture, int sta) │ │ │ │ │ -int al_draw_vertex_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer, │ │ │ │ │ ALLEGRO_BITMAP* texture, int start, int end, int type) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Draws a subset of the passed vertex buffer. │ │ │ │ │ The vertex buffer must not be locked. │ │ │ │ │ Additionally, to draw onto memory bitmaps or with memory bitmap textures │ │ │ │ │ the vertex buffer must support reading (i.e. │ │ │ ├── ./usr/share/man/man3/al_enable_menu_event_source.3alleg5.gz │ │ │ │ ├── al_enable_menu_event_source.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_enable_menu_event_source \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu) │ │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Enables a unique event source for this menu. │ │ │ │ │ It and all of its sub\-menus will use this event source. │ │ │ │ │ (It is safe to call this multiple times on the same menu.) │ │ │ │ │ .PP │ │ │ │ │ Returns the event source. │ │ │ ├── ./usr/share/man/man3/al_fill_silence.3alleg5.gz │ │ │ │ ├── al_fill_silence.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_fill_silence(void *buf, unsigned int samples, │ │ │ │ │ ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf) │ │ │ │ │ -void al_fill_silence(void *buf, unsigned int samples, │ │ │ │ │ - ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Fill a buffer with silence, for the given format and channel │ │ │ │ │ configuration. │ │ │ │ │ The buffer must have enough space for the given number of samples, and │ │ │ │ │ be properly aligned. │ │ │ │ │ .SH SINCE │ │ │ ├── ./usr/share/man/man3/al_find_menu.3alleg5.gz │ │ │ │ ├── al_find_menu.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_find_menu \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id) │ │ │ │ │ -ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Searches in the \f[CR]haystack\f[R] menu for any submenu with the given │ │ │ │ │ \f[CR]id\f[R]. │ │ │ │ │ (Note that this only represents a literal ID, and cannot be used as an │ │ │ │ │ index.) │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_find_menu_item.3alleg5.gz │ │ │ │ ├── al_find_menu_item.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU **menu, │ │ │ │ │ int *index) │ │ │ │ │ -bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU **menu, │ │ │ │ │ - int *index) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Searches in the \f[CR]haystack\f[R] menu for an item with the given │ │ │ │ │ \f[CR]id\f[R]. │ │ │ │ │ (Note that this only represents a literal ID, and cannot be used as an │ │ │ │ │ index.) │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_fixed.3alleg5.gz │ │ │ │ ├── al_fixed.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_fixed \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ typedef int32_t al_fixed; │ │ │ │ │ -typedef int32_t al_fixed; │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ A fixed point number. │ │ │ │ │ .PP │ │ │ │ │ Allegro provides some routines for working with fixed point numbers, and │ │ │ │ │ defines the type \f[CR]al_fixed\f[R] to be a signed 32\-bit integer. │ │ │ │ │ The high word is used for the integer part and the low word for the │ │ │ ├── ./usr/share/man/man3/al_free.3alleg5.gz │ │ │ │ ├── al_free.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define al_free(p) \[rs] │ │ │ │ │ (al_free_with_context((p), __LINE__, __FILE__, __func__)) │ │ │ │ │ -#define al_free(p) \[rs] │ │ │ │ │ - (al_free_with_context((p), __LINE__, __FILE__, __func__)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like free() in the C standard library, but the implementation may be │ │ │ │ │ overridden. │ │ │ │ │ .PP │ │ │ │ │ Additionally, on Windows, a memory block allocated by one DLL must be │ │ │ │ │ freed from the same DLL. │ │ │ ├── ./usr/share/man/man3/al_get_allegro_audio_version.3alleg5.gz │ │ │ │ ├── al_get_allegro_audio_version.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ al_get_allegro_audio_version \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ uint32_t al_get_allegro_audio_version(void) │ │ │ │ │ -uint32_t al_get_allegro_audio_version(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as │ │ │ │ │ al_get_allegro_version(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_allegro_color_version.3alleg5.gz │ │ │ │ ├── al_get_allegro_color_version.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ al_get_allegro_color_version \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ uint32_t al_get_allegro_color_version(void) │ │ │ │ │ -uint32_t al_get_allegro_color_version(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as │ │ │ │ │ al_get_allegro_version(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_allegro_font_version.3alleg5.gz │ │ │ │ ├── al_get_allegro_font_version.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ al_get_allegro_font_version \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ uint32_t al_get_allegro_font_version(void) │ │ │ │ │ -uint32_t al_get_allegro_font_version(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as │ │ │ │ │ al_get_allegro_version(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_allegro_image_version.3alleg5.gz │ │ │ │ ├── al_get_allegro_image_version.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ al_get_allegro_image_version \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ uint32_t al_get_allegro_image_version(void) │ │ │ │ │ -uint32_t al_get_allegro_image_version(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as │ │ │ │ │ al_get_allegro_version(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_allegro_memfile_version.3alleg5.gz │ │ │ │ ├── al_get_allegro_memfile_version.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ al_get_allegro_memfile_version \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ uint32_t al_get_allegro_memfile_version(void) │ │ │ │ │ -uint32_t al_get_allegro_memfile_version(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as │ │ │ │ │ al_get_allegro_version(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_allegro_native_dialog_version.3alleg5.gz │ │ │ │ ├── al_get_allegro_native_dialog_version.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ al_get_allegro_native_dialog_version \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ uint32_t al_get_allegro_native_dialog_version(void) │ │ │ │ │ -uint32_t al_get_allegro_native_dialog_version(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as │ │ │ │ │ al_get_allegro_version(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_allegro_physfs_version.3alleg5.gz │ │ │ │ ├── al_get_allegro_physfs_version.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ al_get_allegro_physfs_version \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ uint32_t al_get_allegro_physfs_version(void) │ │ │ │ │ -uint32_t al_get_allegro_physfs_version(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as │ │ │ │ │ al_get_allegro_version(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_allegro_primitives_version.3alleg5.gz │ │ │ │ ├── al_get_allegro_primitives_version.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ al_get_allegro_primitives_version \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ uint32_t al_get_allegro_primitives_version(void) │ │ │ │ │ -uint32_t al_get_allegro_primitives_version(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as │ │ │ │ │ al_get_allegro_version(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_allegro_ttf_version.3alleg5.gz │ │ │ │ ├── al_get_allegro_ttf_version.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ al_get_allegro_ttf_version \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ uint32_t al_get_allegro_ttf_version(void) │ │ │ │ │ -uint32_t al_get_allegro_ttf_version(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as │ │ │ │ │ al_get_allegro_version(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_allegro_video_version.3alleg5.gz │ │ │ │ ├── al_get_allegro_video_version.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_get_allegro_video_version \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ uint32_t al_get_allegro_video_version(void) │ │ │ │ │ -uint32_t al_get_allegro_video_version(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as │ │ │ │ │ al_get_allegro_version(3alleg5). │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.12 │ │ │ ├── ./usr/share/man/man3/al_get_audio_depth_size.3alleg5.gz │ │ │ │ ├── al_get_audio_depth_size.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_audio_depth_size \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ size_t al_get_audio_depth_size(ALLEGRO_AUDIO_DEPTH depth) │ │ │ │ │ -size_t al_get_audio_depth_size(ALLEGRO_AUDIO_DEPTH depth) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the size of a sample, in bytes, for the given format. │ │ │ │ │ The format is one of the values listed under │ │ │ │ │ ALLEGRO_AUDIO_DEPTH(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_audio_device_name.3alleg5.gz │ │ │ │ ├── al_get_audio_device_name.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_audio_device_name \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ const char* al_get_audio_device_name(const ALLEGRO_AUDIO_DEVICE * device) │ │ │ │ │ -const char* al_get_audio_device_name(const ALLEGRO_AUDIO_DEVICE * device) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Get the user friendly display name of the device. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.8 │ │ │ ├── ./usr/share/man/man3/al_get_audio_output_device.3alleg5.gz │ │ │ │ ├── al_get_audio_output_device.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_audio_output_device \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ const ALLEGRO_AUDIO_DEVICE* al_get_audio_output_device(int index) │ │ │ │ │ -const ALLEGRO_AUDIO_DEVICE* al_get_audio_output_device(int index) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Get the output audio device of the specified index. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.8 │ │ │ ├── ./usr/share/man/man3/al_get_audio_recorder_event.3alleg5.gz │ │ │ │ ├── al_get_audio_recorder_event.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_audio_recorder_event \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_AUDIO_RECORDER_EVENT *al_get_audio_recorder_event(ALLEGRO_EVENT *event) │ │ │ │ │ -ALLEGRO_AUDIO_RECORDER_EVENT *al_get_audio_recorder_event(ALLEGRO_EVENT *event) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the event as an ALLEGRO_AUDIO_RECORDER_EVENT(3alleg5). │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.1 │ │ │ │ │ .RS │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_get_audio_recorder_event_source.3alleg5.gz │ │ │ │ ├── al_get_audio_recorder_event_source.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_audio_recorder_event_source \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_audio_recorder_event_source(ALLEGRO_AUDIO_RECORDER *r) │ │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_get_audio_recorder_event_source(ALLEGRO_AUDIO_RECORDER *r) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the event source for the recorder that generates the various │ │ │ │ │ recording events. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.1 │ │ │ │ │ .RS │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_attached.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_attached.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_audio_stream_attached \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return whether the stream is attached to something. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_attach_audio_stream_to_mixer(3alleg5), │ │ │ │ │ al_attach_audio_stream_to_voice(3alleg5), │ │ │ │ │ al_detach_audio_stream(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_channels.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_channels.3alleg5 │ │ │ │ │ @@ -6,14 +6,12 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_CHANNEL_CONF al_get_audio_stream_channels( │ │ │ │ │ const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -ALLEGRO_CHANNEL_CONF al_get_audio_stream_channels( │ │ │ │ │ - const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the stream channel configuration. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_CHANNEL_CONF(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_depth.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_depth.3alleg5 │ │ │ │ │ @@ -6,14 +6,12 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_AUDIO_DEPTH al_get_audio_stream_depth( │ │ │ │ │ const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -ALLEGRO_AUDIO_DEPTH al_get_audio_stream_depth( │ │ │ │ │ - const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the stream audio depth. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_AUDIO_DEPTH(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_event_source.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_event_source.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_audio_stream_event_source( │ │ │ │ │ ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_get_audio_stream_event_source( │ │ │ │ │ - ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Retrieve the associated event source. │ │ │ │ │ .PP │ │ │ │ │ See al_get_audio_stream_fragment(3alleg5) for a description of the │ │ │ │ │ ALLEGRO_EVENT_AUDIO_STREAM_FRAGMENT(3alleg5) event that audio streams │ │ │ │ │ emit. │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_fragment.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_fragment.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_audio_stream_fragment \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ When using Allegro\[cq]s audio streaming, you will use this function to │ │ │ │ │ continuously provide new sample data to a stream. │ │ │ │ │ .PP │ │ │ │ │ If the stream is ready for new data, the function will return the │ │ │ │ │ address of an internal buffer to be filled with audio data. │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_fragments.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_fragments.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_audio_stream_fragments \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the number of fragments this stream uses. │ │ │ │ │ This is the same value as passed to al_create_audio_stream(3alleg5) when │ │ │ │ │ a new stream is created. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_available_audio_stream_fragments(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_frequency.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_frequency.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ al_get_audio_stream_frequency \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the stream frequency (in Hz). │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_gain.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_gain.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_audio_stream_gain \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the playback gain of the stream. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_audio_stream_gain(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_length.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_length.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ al_get_audio_stream_length \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the stream length in samples. │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_length_secs.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_length_secs.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_audio_stream_length_secs \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the length of the stream in seconds, if known. │ │ │ │ │ Otherwise returns zero. │ │ │ │ │ .PP │ │ │ │ │ Currently this can only be called on streams created with │ │ │ │ │ al_load_audio_stream(3alleg5), al_play_audio_stream(3alleg5), │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_pan.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_pan.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_audio_stream_pan \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Get the pan value of the stream. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_audio_stream_pan(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_played_samples.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_played_samples.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_get_audio_stream_played_samples \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ uint64_t al_get_audio_stream_played_samples(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -uint64_t al_get_audio_stream_played_samples(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Get the number of samples consumed by the parent since the audio stream │ │ │ │ │ was started. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.8 │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_playing.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_playing.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_audio_stream_playing \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return true if the stream is playing. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_audio_stream_playing(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_playmode.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_playmode.3alleg5 │ │ │ │ │ @@ -6,14 +6,12 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_PLAYMODE al_get_audio_stream_playmode( │ │ │ │ │ const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -ALLEGRO_PLAYMODE al_get_audio_stream_playmode( │ │ │ │ │ - const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the playback mode of the stream. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_PLAYMODE(3alleg5), al_set_audio_stream_playmode(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_position_secs.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_position_secs.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_audio_stream_position_secs \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the position of the stream in seconds. │ │ │ │ │ Currently this can only be called on streams created with │ │ │ │ │ al_load_audio_stream(3alleg5), al_play_audio_stream(3alleg5), │ │ │ │ │ al_load_audio_stream_f(3alleg5) or al_play_audio_stream_f(3alleg5). │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_get_audio_stream_speed.3alleg5.gz │ │ │ │ ├── al_get_audio_stream_speed.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_audio_stream_speed \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the relative playback speed of the stream. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_audio_stream_speed(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_available_audio_stream_fragments.3alleg5.gz │ │ │ │ ├── al_get_available_audio_stream_fragments.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ unsigned int al_get_available_audio_stream_fragments( │ │ │ │ │ const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -unsigned int al_get_available_audio_stream_fragments( │ │ │ │ │ - const ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the number of available fragments in the stream, that is, │ │ │ │ │ fragments which are not currently filled with data for playback. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_audio_stream_fragment(3alleg5), │ │ │ │ │ al_get_audio_stream_fragments(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_channel_count.3alleg5.gz │ │ │ │ ├── al_get_channel_count.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ al_get_channel_count \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ size_t al_get_channel_count(ALLEGRO_CHANNEL_CONF conf) │ │ │ │ │ -size_t al_get_channel_count(ALLEGRO_CHANNEL_CONF conf) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the number of channels for the given channel configuration, which │ │ │ │ │ is one of the values listed under ALLEGRO_CHANNEL_CONF(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_default_menu_event_source.3alleg5.gz │ │ │ │ ├── al_get_default_menu_event_source.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_default_menu_event_source \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void) │ │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the default event source used for menu clicks. │ │ │ │ │ If a menu was not given its own event source via │ │ │ │ │ al_enable_menu_event_source(3alleg5), then it will use this default │ │ │ │ │ source. │ │ │ │ │ .SH SINCE │ │ │ ├── ./usr/share/man/man3/al_get_default_mixer.3alleg5.gz │ │ │ │ ├── al_get_default_mixer.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_default_mixer \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_MIXER *al_get_default_mixer(void) │ │ │ │ │ -ALLEGRO_MIXER *al_get_default_mixer(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the default mixer, or NULL if one has not been set. │ │ │ │ │ Although different configurations of mixers and voices can be used, in │ │ │ │ │ most cases a single mixer attached to a voice is what you want. │ │ │ │ │ The default mixer is used by al_play_sample(3alleg5). │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_get_default_voice.3alleg5.gz │ │ │ │ ├── al_get_default_voice.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_default_voice \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_VOICE *al_get_default_voice(void) │ │ │ │ │ -ALLEGRO_VOICE *al_get_default_voice(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the default voice or NULL if there is none. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.13 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_default_mixer(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_display_menu.3alleg5.gz │ │ │ │ ├── al_get_display_menu.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_display_menu \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *display) │ │ │ │ │ -ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *displaynt, │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the menu associated with the \f[CR]display\f[R], or │ │ │ │ │ \f[CR]NULL\f[R] if it does not have a menu. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_get_fallback_font.3alleg5.gz │ │ │ │ ├── al_get_fallback_font.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_fallback_font \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font) │ │ │ │ │ -ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Retrieves the fallback font for this font or NULL. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.12 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_fallback_font(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_font_ascent.3alleg5.gz │ │ │ │ ├── al_get_font_ascent.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_font_ascent \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_font_ascent(const ALLEGRO_FONT *f) │ │ │ │ │ -int al_get_font_ascent(const ALLEGRO_FONT *f) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the ascent of the specified font. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_font_descent(3alleg5), al_get_font_line_height(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_font_descent.3alleg5.gz │ │ │ │ ├── al_get_font_descent.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_font_descent \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_font_descent(const ALLEGRO_FONT *f) │ │ │ │ │ -int al_get_font_descent(const ALLEGRO_FONT *f) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the descent of the specified font. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_font_ascent(3alleg5), al_get_font_line_height(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_font_line_height.3alleg5.gz │ │ │ │ ├── al_get_font_line_height.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_font_line_height \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_font_line_height(const ALLEGRO_FONT *f) │ │ │ │ │ -int al_get_font_line_height(const ALLEGRO_FONT *f) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the usual height of a line of text in the specified font. │ │ │ │ │ For bitmap fonts this is simply the height of all glyph bitmaps. │ │ │ │ │ For truetype fonts it is whatever the font file specifies. │ │ │ │ │ In particular, some special glyphs may be higher than the height │ │ │ │ │ returned here. │ │ │ ├── ./usr/share/man/man3/al_get_font_ranges.3alleg5.gz │ │ │ │ ├── al_get_font_ranges.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_font_ranges \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges) │ │ │ │ │ -int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Gets information about all glyphs contained in a font, as a list of │ │ │ │ │ ranges. │ │ │ │ │ Ranges have the same format as with al_grab_font_from_bitmap(3alleg5). │ │ │ │ │ .PP │ │ │ │ │ \f[CR]ranges_count\f[R] is the maximum number of ranges that will be │ │ │ ├── ./usr/share/man/man3/al_get_glyph.3alleg5.gz │ │ │ │ ├── al_get_glyph.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_glyph \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint, ALLEGRO_GLYPH *glyph) │ │ │ │ │ -bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint, ALLEGRO_GLYPH *glyph) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Gets all the information about a glyph, including the bitmap, needed to │ │ │ │ │ draw it yourself. │ │ │ │ │ prev_codepoint is the codepoint in the string before the one you want to │ │ │ │ │ draw and is used for kerning. │ │ │ │ │ codepoint is the character you want to get info about. │ │ │ ├── ./usr/share/man/man3/al_get_glyph_advance.3alleg5.gz │ │ │ │ ├── al_get_glyph_advance.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_glyph_advance \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2) │ │ │ │ │ -int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This function returns by how much the x position should be advanced for │ │ │ │ │ left to right text drawing when the glyph that corresponds to codepoint1 │ │ │ │ │ has been drawn, and the glyph that corresponds to codepoint2 will be the │ │ │ │ │ next to be drawn. │ │ │ │ │ This takes into consideration the horizontal advance width of the glyph │ │ │ ├── ./usr/share/man/man3/al_get_glyph_dimensions.3alleg5.gz │ │ │ │ ├── al_get_glyph_dimensions.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_get_glyph_dimensions(const ALLEGRO_FONT *f, │ │ │ │ │ int codepoint, int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │ │ -bool al_get_glyph_dimensions(const ALLEGRO_FONT *f, │ │ │ │ │ - int codepoint, int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Sometimes, the al_get_glyph_width(3alleg5) or │ │ │ │ │ al_get_glyph_advance(3alleg5) functions are not enough for exact glyph │ │ │ │ │ placement, so this function returns some additional information, │ │ │ │ │ particularly if you want to draw the font vertically. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_get_glyph_width.3alleg5.gz │ │ │ │ ├── al_get_glyph_width.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_glyph_width \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint) │ │ │ │ │ -int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This function returns the width in pixels of the glyph that corresponds │ │ │ │ │ with \f[CR]codepoint\f[R] in the font \f[CR]font\f[R]. │ │ │ │ │ Returns zero if the font does not have such a glyph. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.12 │ │ │ ├── ./usr/share/man/man3/al_get_index_buffer_size.3alleg5.gz │ │ │ │ ├── al_get_index_buffer_size.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_index_buffer_size \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer) │ │ │ │ │ -int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the size of the index buffer │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.8 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_INDEX_BUFFER(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_menu_item_caption.3alleg5.gz │ │ │ │ ├── al_get_menu_item_caption.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_menu_item_caption \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ -const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the caption associated with the menu item. │ │ │ │ │ It is valid as long as the caption is not modified. │ │ │ │ │ .PP │ │ │ │ │ Returns \f[CR]NULL\f[R] if the item was not found. │ │ │ │ │ .SH SINCE │ │ │ ├── ./usr/share/man/man3/al_get_menu_item_flags.3alleg5.gz │ │ │ │ ├── al_get_menu_item_flags.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_menu_item_flags \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ -int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the currently set flags. │ │ │ │ │ See al_insert_menu_item(3alleg5) for a description of the available │ │ │ │ │ flags. │ │ │ │ │ .PP │ │ │ │ │ Returns \-1 if the item was not found. │ │ │ ├── ./usr/share/man/man3/al_get_menu_item_icon.3alleg5.gz │ │ │ │ ├── al_get_menu_item_icon.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_menu_item_icon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ -ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the icon associated with the menu. │ │ │ │ │ It is safe to draw to the returned bitmap, but you must call │ │ │ │ │ al_set_menu_item_icon(3alleg5) in order for the changes to be applied. │ │ │ │ │ .PP │ │ │ │ │ Returns \f[CR]NULL\f[R] if the item was not found or if it has no icon. │ │ │ ├── ./usr/share/man/man3/al_get_mixer_attached.3alleg5.gz │ │ │ │ ├── al_get_mixer_attached.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_mixer_attached \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_get_mixer_attached(const ALLEGRO_MIXER *mixer) │ │ │ │ │ -bool al_get_mixer_attached(const ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return true if the mixer is attached to something. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_mixer_has_attachments(3alleg5), │ │ │ │ │ al_attach_sample_instance_to_mixer(3alleg5), │ │ │ │ │ al_attach_audio_stream_to_mixer(3alleg5), │ │ │ ├── ./usr/share/man/man3/al_get_mixer_channels.3alleg5.gz │ │ │ │ ├── al_get_mixer_channels.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_mixer_channels \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_CHANNEL_CONF al_get_mixer_channels(const ALLEGRO_MIXER *mixer) │ │ │ │ │ -ALLEGRO_CHANNEL_CONF al_get_mixer_channels(const ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the mixer channel configuration. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_CHANNEL_CONF(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_mixer_depth.3alleg5.gz │ │ │ │ ├── al_get_mixer_depth.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_mixer_depth \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_AUDIO_DEPTH al_get_mixer_depth(const ALLEGRO_MIXER *mixer) │ │ │ │ │ -ALLEGRO_AUDIO_DEPTH al_get_mixer_depth(const ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the mixer audio depth. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_AUDIO_DEPTH(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_mixer_frequency.3alleg5.gz │ │ │ │ ├── al_get_mixer_frequency.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_mixer_frequency \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ unsigned int al_get_mixer_frequency(const ALLEGRO_MIXER *mixer) │ │ │ │ │ -unsigned int al_get_mixer_frequency(const ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the mixer frequency (in Hz). │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_mixer_frequency(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_mixer_gain.3alleg5.gz │ │ │ │ ├── al_get_mixer_gain.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_mixer_gain \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ float al_get_mixer_gain(const ALLEGRO_MIXER *mixer) │ │ │ │ │ -float al_get_mixer_gain(const ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the mixer gain (amplification factor). │ │ │ │ │ The default is 1.0. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.0.6, 5.1.0 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_get_mixer_playing.3alleg5.gz │ │ │ │ ├── al_get_mixer_playing.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_mixer_playing \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_get_mixer_playing(const ALLEGRO_MIXER *mixer) │ │ │ │ │ -bool al_get_mixer_playing(const ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return true if the mixer is playing. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_mixer_playing(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_mixer_quality.3alleg5.gz │ │ │ │ ├── al_get_mixer_quality.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_mixer_quality \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_MIXER_QUALITY al_get_mixer_quality(const ALLEGRO_MIXER *mixer) │ │ │ │ │ -ALLEGRO_MIXER_QUALITY al_get_mixer_quality(const ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the mixer quality. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_MIXER_QUALITY(3alleg5), al_set_mixer_quality(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_native_file_dialog_count.3alleg5.gz │ │ │ │ ├── al_get_native_file_dialog_count.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ al_get_native_file_dialog_count \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ -int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the number of files selected, or 0 if the dialog was cancelled. │ │ │ ├── ./usr/share/man/man3/al_get_native_file_dialog_path.3alleg5.gz │ │ │ │ ├── al_get_native_file_dialog_path.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ const char *al_get_native_file_dialog_path( │ │ │ │ │ const ALLEGRO_FILECHOOSER *dialog, size_t i) │ │ │ │ │ -const char *al_get_native_file_dialog_path( │ │ │ │ │ - const ALLEGRO_FILECHOOSER *dialog, size_t i) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns one of the selected paths with index \f[CR]i\f[R]. │ │ │ │ │ The index should range from \f[CR]0\f[R] to the return value of │ │ │ │ │ al_get_native_file_dialog_count(3alleg5) \f[CR]\-1\f[R]. │ │ │ │ │ .RS │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_get_native_text_log_event_source.3alleg5.gz │ │ │ │ ├── al_get_native_text_log_event_source.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source( │ │ │ │ │ ALLEGRO_TEXTLOG *textlog) │ │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source( │ │ │ │ │ - ALLEGRO_TEXTLOG *textlog) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Get an event source for a text log window. │ │ │ │ │ The possible events are: │ │ │ │ │ .TP │ │ │ │ │ ALLEGRO_EVENT_NATIVE_DIALOG_CLOSE │ │ │ │ │ The window was requested to be closed, either by pressing the close │ │ │ ├── ./usr/share/man/man3/al_get_num_audio_output_devices.3alleg5.gz │ │ │ │ ├── al_get_num_audio_output_devices.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_num_audio_output_devices \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_num_audio_output_devices() │ │ │ │ │ -int al_get_num_audio_output_devices() │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Get the number of available audio output devices on the system. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.8 │ │ │ │ │ .PP │ │ │ │ │ return \-1 for unsupported drivers. │ │ │ ├── ./usr/share/man/man3/al_get_sample.3alleg5.gz │ │ │ │ ├── al_get_sample.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_sample \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the sample data that the sample instance plays. │ │ │ │ │ .PP │ │ │ │ │ Note this returns a pointer to an internal structure, \f[I]not\f[R] the │ │ │ │ │ ALLEGRO_SAMPLE(3alleg5) that you may have passed to │ │ │ │ │ al_set_sample(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_sample_channels.3alleg5.gz │ │ │ │ ├── al_get_sample_channels.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_sample_channels \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl) │ │ │ │ │ -ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the channel configuration of the sample. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_CHANNEL_CONF(3alleg5), al_get_sample_depth(3alleg5), │ │ │ │ │ al_get_sample_frequency(3alleg5), al_get_sample_length(3alleg5), │ │ │ │ │ al_get_sample_data(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_sample_data.3alleg5.gz │ │ │ │ ├── al_get_sample_data.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_get_sample_data \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void *al_get_sample_data(const ALLEGRO_SAMPLE *spl) │ │ │ │ │ -void *al_get_sample_data(const ALLEGRO_SAMPLE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return a pointer to the raw sample data. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_sample_channels(3alleg5), al_get_sample_depth(3alleg5), │ │ │ │ │ al_get_sample_frequency(3alleg5), al_get_sample_length(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_sample_depth.3alleg5.gz │ │ │ │ ├── al_get_sample_depth.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_sample_depth \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl) │ │ │ │ │ -ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the audio depth of the sample. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_AUDIO_DEPTH(3alleg5), al_get_sample_channels(3alleg5), │ │ │ │ │ al_get_sample_frequency(3alleg5), al_get_sample_length(3alleg5), │ │ │ │ │ al_get_sample_data(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_sample_frequency.3alleg5.gz │ │ │ │ ├── al_get_sample_frequency.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_get_sample_frequency \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl) │ │ │ │ │ -unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the frequency (in Hz) of the sample. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_sample_channels(3alleg5), al_get_sample_depth(3alleg5), │ │ │ │ │ al_get_sample_length(3alleg5), al_get_sample_data(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_sample_instance_attached.3alleg5.gz │ │ │ │ ├── al_get_sample_instance_attached.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_sample_instance_attached \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return whether the sample instance is attached to something. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_attach_sample_instance_to_mixer(3alleg5), │ │ │ │ │ al_attach_sample_instance_to_voice(3alleg5), │ │ │ │ │ al_detach_sample_instance(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_sample_instance_channels.3alleg5.gz │ │ │ │ ├── al_get_sample_instance_channels.3alleg5 │ │ │ │ │ @@ -6,15 +6,13 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_CHANNEL_CONF al_get_sample_instance_channels( │ │ │ │ │ const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -ALLEGRO_CHANNEL_CONF al_get_sample_instance_channels( │ │ │ │ │ - const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the channel configuration of the sample instance\[cq]s sample │ │ │ │ │ data. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_CHANNEL_CONF(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_sample_instance_depth.3alleg5.gz │ │ │ │ ├── al_get_sample_instance_depth.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_sample_instance_depth \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the audio depth of the sample instance\[cq]s sample data. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_AUDIO_DEPTH(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_sample_instance_frequency.3alleg5.gz │ │ │ │ ├── al_get_sample_instance_frequency.3alleg5 │ │ │ │ │ @@ -5,11 +5,10 @@ │ │ │ │ │ al_get_sample_instance_frequency \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the frequency (in Hz) of the sample instance\[cq]s sample data. │ │ │ ├── ./usr/share/man/man3/al_get_sample_instance_gain.3alleg5.gz │ │ │ │ ├── al_get_sample_instance_gain.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_sample_instance_gain \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the playback gain of the sample instance. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_sample_instance_gain(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_sample_instance_length.3alleg5.gz │ │ │ │ ├── al_get_sample_instance_length.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_sample_instance_length \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the length of the sample instance in sample values. │ │ │ │ │ This property may differ from the length of the instance\[cq]s sample │ │ │ │ │ data. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_sample_instance_length(3alleg5), │ │ │ ├── ./usr/share/man/man3/al_get_sample_instance_pan.3alleg5.gz │ │ │ │ ├── al_get_sample_instance_pan.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_sample_instance_pan \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Get the pan value of the sample instance. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_sample_instance_pan(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_sample_instance_playing.3alleg5.gz │ │ │ │ ├── al_get_sample_instance_playing.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_get_sample_instance_playing \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return true if the sample instance is in the playing state. │ │ │ │ │ This may be true even if the instance is not attached to anything. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_sample_instance_playing(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_sample_instance_playmode.3alleg5.gz │ │ │ │ ├── al_get_sample_instance_playmode.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_sample_instance_playmode \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the playback mode of the sample instance. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_PLAYMODE(3alleg5), al_set_sample_instance_playmode(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_sample_instance_position.3alleg5.gz │ │ │ │ ├── al_get_sample_instance_position.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_sample_instance_position \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Get the playback position of a sample instance. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_sample_instance_position(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_sample_instance_speed.3alleg5.gz │ │ │ │ ├── al_get_sample_instance_speed.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_sample_instance_speed \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the relative playback speed of the sample instance. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_sample_instance_speed(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_sample_instance_time.3alleg5.gz │ │ │ │ ├── al_get_sample_instance_time.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_get_sample_instance_time \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the length of the sample instance in seconds, assuming a playback │ │ │ │ │ speed of 1.0. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_sample_instance_length(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_sample_length.3alleg5.gz │ │ │ │ ├── al_get_sample_length.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_get_sample_length \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl) │ │ │ │ │ -unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the length of the sample in sample values. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_sample_channels(3alleg5), al_get_sample_depth(3alleg5), │ │ │ │ │ al_get_sample_frequency(3alleg5), al_get_sample_data(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_text_dimensions.3alleg5.gz │ │ │ │ ├── al_get_text_dimensions.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_get_text_dimensions(const ALLEGRO_FONT *f, │ │ │ │ │ char const *text, │ │ │ │ │ int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │ │ -void al_get_text_dimensions(const ALLEGRO_FONT *f, │ │ │ │ │ - char const *text, │ │ │ │ │ - int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Sometimes, the al_get_text_width(3alleg5) and │ │ │ │ │ al_get_font_line_height(3alleg5) functions are not enough for exact text │ │ │ │ │ placement, so this function returns some additional information. │ │ │ │ │ .PP │ │ │ │ │ Returned variables (all in pixels): │ │ │ ├── ./usr/share/man/man3/al_get_text_width.3alleg5.gz │ │ │ │ ├── al_get_text_width.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_get_text_width \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_text_width(const ALLEGRO_FONT *f, const char *str) │ │ │ │ │ -int al_get_text_width(const ALLEGRO_FONT *f, const char *str) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Calculates the length of a string in a particular font, in pixels. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_ustr_width(3alleg5), al_get_font_line_height(3alleg5), │ │ │ │ │ al_get_text_dimensions(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_ustr_dimensions.3alleg5.gz │ │ │ │ ├── al_get_ustr_dimensions.3alleg5 │ │ │ │ │ @@ -7,16 +7,13 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_get_ustr_dimensions(const ALLEGRO_FONT *f, │ │ │ │ │ ALLEGRO_USTR const *ustr, │ │ │ │ │ int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │ │ -void al_get_ustr_dimensions(const ALLEGRO_FONT *f, │ │ │ │ │ - ALLEGRO_USTR const *ustr, │ │ │ │ │ - int *bbx, int *bby, int *bbw, int *bbh) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_get_text_dimensions(3alleg5), except the text is passed as an │ │ │ │ │ ALLEGRO_USTR instead of a NUL\-terminated char array. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_text_dimensions(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_ustr_width.3alleg5.gz │ │ │ │ ├── al_get_ustr_width.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_ustr_width \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr) │ │ │ │ │ -int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_get_text_width(3alleg5) but expects an ALLEGRO_USTR. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_text_width(3alleg5), al_get_ustr_dimensions(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_vertex_buffer_size.3alleg5.gz │ │ │ │ ├── al_get_vertex_buffer_size.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_vertex_buffer_size \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer) │ │ │ │ │ -int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the size of the vertex buffer │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.8 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_VERTEX_BUFFER(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_video_audio_rate.3alleg5.gz │ │ │ │ ├── al_get_video_audio_rate.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_video_audio_rate \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ double al_get_video_audio_rate(ALLEGRO_VIDEO *video) │ │ │ │ │ -double al_get_video_audio_rate(ALLEGRO_VIDEO *video) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the audio rate of the video, in Hz. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_get_video_event_source.3alleg5.gz │ │ │ │ ├── al_get_video_event_source.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_video_event_source \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video) │ │ │ │ │ -ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Get an event source for the video. │ │ │ │ │ The possible events are described under │ │ │ │ │ ALLEGRO_VIDEO_EVENT_TYPE(3alleg5). │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_get_video_fps.3alleg5.gz │ │ │ │ ├── al_get_video_fps.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_get_video_fps \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ double al_get_video_fps(ALLEGRO_VIDEO *video) │ │ │ │ │ -double al_get_video_fps(ALLEGRO_VIDEO *video) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the speed of the video in frames per second. │ │ │ │ │ Often this will not be an integer value. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_get_video_frame.3alleg5.gz │ │ │ │ ├── al_get_video_frame.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_video_frame \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video) │ │ │ │ │ -ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the current video frame. │ │ │ │ │ The bitmap is owned by the video so do not attempt to free it. │ │ │ │ │ The bitmap will stay valid until the next call to al_get_video_frame. │ │ │ │ │ .PP │ │ │ │ │ Videos often do not use square pixels so the recommended way to draw a │ │ │ ├── ./usr/share/man/man3/al_get_video_position.3alleg5.gz │ │ │ │ ├── al_get_video_position.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_video_position \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE which) │ │ │ │ │ -double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE which) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the current position of the video stream in seconds since the │ │ │ │ │ beginning. │ │ │ │ │ The parameter is one of the ALLEGRO_VIDEO_POSITION_TYPE(3alleg5) │ │ │ │ │ constants. │ │ │ │ │ .SH SINCE │ │ │ ├── ./usr/share/man/man3/al_get_video_scaled_height.3alleg5.gz │ │ │ │ ├── al_get_video_scaled_height.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_video_scaled_height \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ float al_get_video_scaled_height(ALLEGRO_VIDEO *video) │ │ │ │ │ -float al_get_video_scaled_height(ALLEGRO_VIDEO *video) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the height with which the video frame should be drawn. │ │ │ │ │ Videos often do not use square pixels, so this will may return a value │ │ │ │ │ larger than the height of the frame bitmap. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_video_frame(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_video_scaled_width.3alleg5.gz │ │ │ │ ├── al_get_video_scaled_width.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_video_scaled_width \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ float al_get_video_scaled_width(ALLEGRO_VIDEO *video) │ │ │ │ │ -float al_get_video_scaled_width(ALLEGRO_VIDEO *video) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns the width with which the video frame should be drawn. │ │ │ │ │ Videos often do not use square pixels, so this will may return a value │ │ │ │ │ larger than the width of the frame bitmap. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.12 │ │ │ ├── ./usr/share/man/man3/al_get_voice_channels.3alleg5.gz │ │ │ │ ├── al_get_voice_channels.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_voice_channels \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_CHANNEL_CONF al_get_voice_channels(const ALLEGRO_VOICE *voice) │ │ │ │ │ -ALLEGRO_CHANNEL_CONF al_get_voice_channels(const ALLEGRO_VOICE *voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the channel configuration of the voice. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_CHANNEL_CONF(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_voice_depth.3alleg5.gz │ │ │ │ ├── al_get_voice_depth.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_voice_depth \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_AUDIO_DEPTH al_get_voice_depth(const ALLEGRO_VOICE *voice) │ │ │ │ │ -ALLEGRO_AUDIO_DEPTH al_get_voice_depth(const ALLEGRO_VOICE *voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the audio depth of the voice. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_AUDIO_DEPTH(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_get_voice_frequency.3alleg5.gz │ │ │ │ ├── al_get_voice_frequency.3alleg5 │ │ │ │ │ @@ -4,11 +4,11 @@ │ │ │ │ │ .SH NAME │ │ │ │ │ al_get_voice_frequency \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ -unsigned int al_get_voical_get_allegro_acodec_version │ │ │ │ │ +unsigned int al_get_voice_frequency(const ALLEGRO_VOICE *voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return the frequency of the voice (in Hz), e.g.\ 44100. │ │ │ ├── ./usr/share/man/man3/al_get_voice_playing.3alleg5.gz │ │ │ │ ├── al_get_voice_playing.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_get_voice_playing \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_get_voice_playing(const ALLEGRO_VOICE *voice) │ │ │ │ │ -bool al_get_voice_playing(const ALLEGRO_VOICE *voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Return true if the voice is currently playing. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_voice_playing(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_get_voice_position.3alleg5.gz │ │ │ │ ├── al_get_voice_position.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_get_voice_position \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ unsigned int al_get_voice_position(const ALLEGRO_VOICE *voice) │ │ │ │ │ -unsigned int al_get_voice_position(const ALLEGRO_VOICE *voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ When the voice has a non\-streaming object attached to it, e.g.\ a │ │ │ │ │ sample, returns the voice\[cq]s current sample position. │ │ │ │ │ Otherwise, returns zero. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_set_voice_position(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_grab_font_from_bitmap.3alleg5.gz │ │ │ │ ├── al_grab_font_from_bitmap.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp, │ │ │ │ │ int ranges_n, const int ranges[]) │ │ │ │ │ -ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp, │ │ │ │ │ - int ranges_n, const int ranges[]) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Creates a new font from an Allegro bitmap. │ │ │ │ │ You can delete the bitmap after the function returns as the font will │ │ │ │ │ contain a copy for itself. │ │ │ │ │ .PP │ │ │ │ │ Parameters: │ │ │ ├── ./usr/share/man/man3/al_identify_sample.3alleg5.gz │ │ │ │ ├── al_identify_sample.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_identify_sample \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ char const *al_identify_sample(char const *filename) │ │ │ │ │ -char const *al_identify_sample(char const *filename) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This works exactly as al_identify_sample_f(3alleg5) but you specify the │ │ │ │ │ filename of the file for which to detect the type and not a file handle. │ │ │ │ │ The extension, if any, of the passed filename is not taken into account │ │ │ │ │ \- only the file contents. │ │ │ │ │ .SH SINCE │ │ │ ├── ./usr/share/man/man3/al_identify_sample_f.3alleg5.gz │ │ │ │ ├── al_identify_sample_f.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_identify_sample_f \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ char const *al_identify_sample_f(ALLEGRO_FILE *fp) │ │ │ │ │ -char const *al_identify_sample_f(ALLEGRO_FILE *fp) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Tries to guess the audio file type of the open ALLEGRO_FILE by reading │ │ │ │ │ the first few bytes. │ │ │ │ │ By default Allegro cannot recognize any file types, but calling │ │ │ │ │ al_init_acodec_addon(3alleg5) will add detection of the types it can │ │ │ │ │ read. │ │ │ ├── ./usr/share/man/man3/al_identify_video.3alleg5.gz │ │ │ │ ├── al_identify_video.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_identify_video \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ char const *al_identify_video(char const *filename) │ │ │ │ │ -char const *al_identify_video(char const *filename) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This works exactly as al_identify_video_f(3alleg5) but you specify the │ │ │ │ │ filename of the file for which to detect the type and not a file handle. │ │ │ │ │ The extension, if any, of the passed filename is not taken into account │ │ │ │ │ \- only the file contents. │ │ │ │ │ .SH SINCE │ │ │ ├── ./usr/share/man/man3/al_identify_video_f.3alleg5.gz │ │ │ │ ├── al_identify_video_f.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_identify_video_f \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ char const *al_identify_video_f(ALLEGRO_FILE *fp) │ │ │ │ │ -char const *al_identify_video_f(ALLEGRO_FILE *fp) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Tries to guess the video file type of the open ALLEGRO_FILE by reading │ │ │ │ │ the first few bytes. │ │ │ │ │ By default Allegro cannot recognize any file types, but calling │ │ │ │ │ al_init_video_addon(3alleg5) will add detection of the types it can │ │ │ │ │ read. │ │ │ ├── ./usr/share/man/man3/al_init.3alleg5.gz │ │ │ │ ├── al_init.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_init \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define al_init() (al_install_system(ALLEGRO_VERSION_INT, atexit)) │ │ │ │ │ -#define al_init() (al_install_system(ALLEGRO_VERSION_INT, atexit)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_install_system(3alleg5), but automatically passes in the version │ │ │ │ │ and uses the atexit function visible in the current binary. │ │ │ │ │ .RS │ │ │ │ │ .PP │ │ │ │ │ Note: It is typically wrong to call al_init anywhere except the final │ │ │ ├── ./usr/share/man/man3/al_init_acodec_addon.3alleg5.gz │ │ │ │ ├── al_init_acodec_addon.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_init_acodec_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_init_acodec_addon(void) │ │ │ │ │ -bool al_init_acodec_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This function registers all the known audio file type handlers for │ │ │ │ │ al_load_sample(3alleg5), al_save_sample(3alleg5), │ │ │ │ │ al_load_audio_stream(3alleg5), etc. │ │ │ │ │ .PP │ │ │ │ │ Depending on what libraries are available, the full set of recognised │ │ │ ├── ./usr/share/man/man3/al_init_font_addon.3alleg5.gz │ │ │ │ ├── al_init_font_addon.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_init_font_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_init_font_addon(void) │ │ │ │ │ -bool al_init_font_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Initialise the font addon. │ │ │ │ │ .PP │ │ │ │ │ Note that if you intend to load bitmap fonts, you will need to │ │ │ │ │ initialise allegro_image separately (unless you are using another │ │ │ │ │ library to load images). │ │ │ ├── ./usr/share/man/man3/al_init_image_addon.3alleg5.gz │ │ │ │ ├── al_init_image_addon.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_init_image_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_init_image_addon(void) │ │ │ │ │ -bool al_init_image_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Initializes the image addon. │ │ │ │ │ This registers bitmap format handlers for al_load_bitmap(3alleg5), │ │ │ │ │ al_load_bitmap_f(3alleg5), al_save_bitmap(3alleg5), │ │ │ │ │ al_save_bitmap_f(3alleg5). │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_init_native_dialog_addon.3alleg5.gz │ │ │ │ ├── al_init_native_dialog_addon.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_init_native_dialog_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_init_native_dialog_addon(void) │ │ │ │ │ -bool al_init_native_dialog_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Initialise the native dialog addon. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on error. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.0.9, 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_init_primitives_addon.3alleg5.gz │ │ │ │ ├── al_init_primitives_addon.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_init_primitives_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_init_primitives_addon(void) │ │ │ │ │ -bool al_init_primitives_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Initializes the primitives addon. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Returns:\f[R] True on success, false on failure. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_shutdown_primitives_addon(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_init_ttf_addon.3alleg5.gz │ │ │ │ ├── al_init_ttf_addon.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_init_ttf_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_init_ttf_addon(void) │ │ │ │ │ -bool al_init_ttf_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Call this after al_init_font_addon(3alleg5) to make │ │ │ │ │ al_load_font(3alleg5) recognize \[lq].ttf\[rq] and other formats │ │ │ │ │ supported by al_load_ttf_font(3alleg5). │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ ├── ./usr/share/man/man3/al_init_video_addon.3alleg5.gz │ │ │ │ ├── al_init_video_addon.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_init_video_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_init_video_addon(void) │ │ │ │ │ -bool al_init_video_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Initializes the video addon. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.12 │ │ │ ├── ./usr/share/man/man3/al_insert_menu_item.3alleg5.gz │ │ │ │ ├── al_insert_menu_item.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title, │ │ │ │ │ uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu) │ │ │ │ │ -int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title, │ │ │ │ │ - uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Inserts a menu item at the spot specified. │ │ │ │ │ See the introductory text for a detailed explanation of how the │ │ │ │ │ \f[CR]pos\f[R] parameter is interpreted. │ │ │ │ │ .PP │ │ │ │ │ The \f[CR]parent\f[R] menu can be a popup menu or a regular menu. │ │ │ ├── ./usr/share/man/man3/al_install_audio.3alleg5.gz │ │ │ │ ├── al_install_audio.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_install_audio \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_install_audio(void) │ │ │ │ │ -bool al_install_audio(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Install the audio subsystem. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ .RS │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_is_acodec_addon_initialized.3alleg5.gz │ │ │ │ ├── al_is_acodec_addon_initialized.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_is_acodec_addon_initialized \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_is_acodec_addon_initialized(void) │ │ │ │ │ -bool al_is_acodec_addon_initialized(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns true if the acodec addon is initialized, otherwise returns │ │ │ │ │ false. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.6 │ │ │ ├── ./usr/share/man/man3/al_is_audio_installed.3alleg5.gz │ │ │ │ ├── al_is_audio_installed.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ al_is_audio_installed \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_is_audio_installed(void) │ │ │ │ │ -bool al_is_audio_installed(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns true if al_install_audio(3alleg5) was called previously and │ │ │ │ │ returned successfully. │ │ │ ├── ./usr/share/man/man3/al_is_audio_recorder_recording.3alleg5.gz │ │ │ │ ├── al_is_audio_recorder_recording.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_is_audio_recorder_recording \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_is_audio_recorder_recording(ALLEGRO_AUDIO_RECORDER *r) │ │ │ │ │ -bool al_is_audio_recorder_recording(ALLEGRO_AUDIO_RECORDER *r) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns true if the audio recorder is currently capturing data and │ │ │ │ │ generating events. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.1 │ │ │ │ │ .RS │ │ │ ├── ./usr/share/man/man3/al_is_font_addon_initialized.3alleg5.gz │ │ │ │ ├── al_is_font_addon_initialized.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_is_font_addon_initialized \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_is_font_addon_initialized(void) │ │ │ │ │ -bool al_is_font_addon_initialized(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns true if the font addon is initialized, otherwise returns false. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.6 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_init_font_addon(3alleg5), al_shutdown_font_addon(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_is_image_addon_initialized.3alleg5.gz │ │ │ │ ├── al_is_image_addon_initialized.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_is_image_addon_initialized \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_is_image_addon_initialized(void) │ │ │ │ │ -bool al_is_image_addon_initialized(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns true if the image addon is initialized, otherwise returns false. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.6 │ │ │ ├── ./usr/share/man/man3/al_is_native_dialog_addon_initialized.3alleg5.gz │ │ │ │ ├── al_is_native_dialog_addon_initialized.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_is_native_dialog_addon_initialized \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_is_native_dialog_addon_initialized(void) │ │ │ │ │ -bool al_is_native_dialog_addon_initialized(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns true if the native dialog addon is initialized, otherwise │ │ │ │ │ returns false. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.6 │ │ │ ├── ./usr/share/man/man3/al_is_primitives_addon_initialized.3alleg5.gz │ │ │ │ ├── al_is_primitives_addon_initialized.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_is_primitives_addon_initialized \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_is_primitives_addon_initialized(void) │ │ │ │ │ -bool al_is_primitives_addon_initialized(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns true if the primitives addon is initialized, otherwise returns │ │ │ │ │ false. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.6 │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_is_ttf_addon_initialized.3alleg5.gz │ │ │ │ ├── al_is_ttf_addon_initialized.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_is_ttf_addon_initialized \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_is_ttf_addon_initialized(void) │ │ │ │ │ -bool al_is_ttf_addon_initialized(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns true if the TTF addon is initialized, otherwise returns false. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.6 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_init_ttf_addon(3alleg5), al_shutdown_ttf_addon(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_is_video_addon_initialized.3alleg5.gz │ │ │ │ ├── al_is_video_addon_initialized.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_is_video_addon_initialized \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_is_video_addon_initialized(void) │ │ │ │ │ -bool al_is_video_addon_initialized(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns true if the video addon is initialized, otherwise returns false. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.2.6 │ │ │ ├── ./usr/share/man/man3/al_is_video_playing.3alleg5.gz │ │ │ │ ├── al_is_video_playing.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_is_video_playing \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_is_video_playing(ALLEGRO_VIDEO *video) │ │ │ │ │ -bool al_is_video_playing(ALLEGRO_VIDEO *video) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns true if the video is currently playing. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.12 │ │ │ ├── ./usr/share/man/man3/al_load_audio_stream.3alleg5.gz │ │ │ │ ├── al_load_audio_stream.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_AUDIO_STREAM *al_load_audio_stream(const char *filename, │ │ │ │ │ size_t buffer_count, unsigned int samples) │ │ │ │ │ -ALLEGRO_AUDIO_STREAM *al_load_audio_stream(const char *filename, │ │ │ │ │ - size_t buffer_count, unsigned int samples) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Loads an audio file from disk as it is needed. │ │ │ │ │ .PP │ │ │ │ │ Unlike regular streams, the one returned by this function need not be │ │ │ │ │ fed by the user; the library will automatically read more of the file as │ │ │ │ │ it is needed. │ │ │ ├── ./usr/share/man/man3/al_load_audio_stream_f.3alleg5.gz │ │ │ │ ├── al_load_audio_stream_f.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_AUDIO_STREAM *al_load_audio_stream_f(ALLEGRO_FILE* fp, const char *ident, │ │ │ │ │ size_t buffer_count, unsigned int samples) │ │ │ │ │ -ALLEGRO_AUDIO_STREAM *al_load_audio_stream_f(ALLEGRO_FILE* fp, const char *ident, │ │ │ │ │ - size_t buffer_count, unsigned int samples) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Loads an audio file from ALLEGRO_FILE(3alleg5) stream as it is needed. │ │ │ │ │ .PP │ │ │ │ │ Unlike regular streams, the one returned by this function need not be │ │ │ │ │ fed by the user; the library will automatically read more of the file as │ │ │ │ │ it is needed. │ │ │ ├── ./usr/share/man/man3/al_load_bitmap_font.3alleg5.gz │ │ │ │ ├── al_load_bitmap_font.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_load_bitmap_font \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_FONT *al_load_bitmap_font(const char *fname) │ │ │ │ │ -ALLEGRO_FONT *al_load_bitmap_font(const char *fname) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Load a bitmap font from a file. │ │ │ │ │ This is done by first calling al_load_bitmap_flags(3alleg5) and then │ │ │ │ │ al_grab_font_from_bitmap(3alleg5). │ │ │ │ │ .PP │ │ │ │ │ If you wanted to load an old A4 font, for example, it would be better to │ │ │ ├── ./usr/share/man/man3/al_load_bitmap_font_flags.3alleg5.gz │ │ │ │ ├── al_load_bitmap_font_flags.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_load_bitmap_font_flags \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags) │ │ │ │ │ -ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_load_bitmap_font(3alleg5) but additionally takes a flags │ │ │ │ │ parameter which is a bitfield containing a combination of the following: │ │ │ │ │ .TP │ │ │ │ │ ALLEGRO_NO_PREMULTIPLIED_ALPHA │ │ │ │ │ The same meaning as for al_load_bitmap_flags(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_load_font.3alleg5.gz │ │ │ │ ├── al_load_font.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_load_font \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags) │ │ │ │ │ -ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Loads a font from disk. │ │ │ │ │ This will use al_load_bitmap_font_flags(3alleg5) if you pass the name of │ │ │ │ │ a known bitmap format, or else al_load_ttf_font(3alleg5). │ │ │ │ │ .PP │ │ │ │ │ The flags parameter is passed through to either of those functions. │ │ │ ├── ./usr/share/man/man3/al_load_sample.3alleg5.gz │ │ │ │ ├── al_load_sample.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_load_sample \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_SAMPLE *al_load_sample(const char *filename) │ │ │ │ │ -ALLEGRO_SAMPLE *al_load_sample(const char *filename) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Loads a few different audio file formats based on their extension. │ │ │ │ │ .PP │ │ │ │ │ Note that this stores the entire file in memory at once, which may be │ │ │ │ │ time consuming. │ │ │ │ │ To read the file as it is needed, use al_load_audio_stream(3alleg5) or │ │ │ ├── ./usr/share/man/man3/al_load_sample_f.3alleg5.gz │ │ │ │ ├── al_load_sample_f.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_load_sample_f \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_SAMPLE *al_load_sample_f(ALLEGRO_FILE* fp, const char *ident) │ │ │ │ │ -ALLEGRO_SAMPLE *al_load_sample_f(ALLEGRO_FILE* fp, const char *ident) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Loads an audio file from an ALLEGRO_FILE(3alleg5) stream into an │ │ │ │ │ ALLEGRO_SAMPLE(3alleg5). │ │ │ │ │ The file type is determined by the passed `ident' parameter, which is a │ │ │ │ │ file name extension including the leading dot. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_load_ttf_font.3alleg5.gz │ │ │ │ ├── al_load_ttf_font.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_load_ttf_font \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags) │ │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Loads a TrueType font from a file using the FreeType library. │ │ │ │ │ Quoting from the FreeType FAQ this means support for many different font │ │ │ │ │ formats: │ │ │ │ │ .PP │ │ │ │ │ \f[I]TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF, and │ │ │ ├── ./usr/share/man/man3/al_load_ttf_font_f.3alleg5.gz │ │ │ │ ├── al_load_ttf_font_f.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file, │ │ │ │ │ char const *filename, int size, int flags) │ │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file, │ │ │ │ │ - char const *filename, int size, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_load_ttf_font(3alleg5), but the font is read from the file │ │ │ │ │ handle. │ │ │ │ │ The filename is only used to find possible additional files next to a │ │ │ │ │ font file. │ │ │ │ │ .RS │ │ │ ├── ./usr/share/man/man3/al_load_ttf_font_stretch.3alleg5.gz │ │ │ │ ├── al_load_ttf_font_stretch.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h, │ │ │ │ │ int flags) │ │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h, │ │ │ │ │ - int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_load_ttf_font(3alleg5), except it takes separate width and │ │ │ │ │ height parameters instead of a single size parameter. │ │ │ │ │ .PP │ │ │ │ │ If the height is a positive value, and the width zero or positive, then │ │ │ │ │ font will be stretched according to those parameters. │ │ │ ├── ./usr/share/man/man3/al_load_ttf_font_stretch_f.3alleg5.gz │ │ │ │ ├── al_load_ttf_font_stretch_f.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file, │ │ │ │ │ char const *filename, int w, int h, int flags) │ │ │ │ │ -ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file, │ │ │ │ │ - char const *filename, int w, int h, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_load_ttf_font_stretch(3alleg5), but the font is read from the │ │ │ │ │ file handle. │ │ │ │ │ The filename is only used to find possible additional files next to a │ │ │ │ │ font file. │ │ │ │ │ .RS │ │ │ ├── ./usr/share/man/man3/al_lock_index_buffer.3alleg5.gz │ │ │ │ ├── al_lock_index_buffer.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void* al_lock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer, int offset, │ │ │ │ │ int length, int flags) │ │ │ │ │ -void* al_lock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer, int offset, │ │ │ │ │ - int length, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Locks a index buffer so you can access its data. │ │ │ │ │ Will return NULL if the parameters are invalid, if reading is requested │ │ │ │ │ from a write only buffer and if the buffer is already locked. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ ├── ./usr/share/man/man3/al_lock_sample_id.3alleg5.gz │ │ │ │ ├── al_lock_sample_id.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_lock_sample_id \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id) │ │ │ │ │ -ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Locks a ALLEGRO_SAMPLE_ID(3alleg5), returning the underlying │ │ │ │ │ ALLEGRO_SAMPLE_INSTANCE(3alleg5). │ │ │ │ │ This allows you to adjust the various properties of the instance (such │ │ │ │ │ as volume, pan, etc) while the sound is playing. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_lock_vertex_buffer.3alleg5.gz │ │ │ │ ├── al_lock_vertex_buffer.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void* al_lock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer, int offset, │ │ │ │ │ int length, int flags) │ │ │ │ │ -void* al_lock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer, int offset, │ │ │ │ │ - int length, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Locks a vertex buffer so you can access its data. │ │ │ │ │ Will return NULL if the parameters are invalid, if reading is requested │ │ │ │ │ from a write only buffer, or if the buffer is already locked. │ │ │ │ │ .PP │ │ │ │ │ \f[I]Parameters:\f[R] │ │ │ ├── ./usr/share/man/man3/al_malloc.3alleg5.gz │ │ │ │ ├── al_malloc.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define al_malloc(n) \[rs] │ │ │ │ │ (al_malloc_with_context((n), __LINE__, __FILE__, __func__)) │ │ │ │ │ -#define al_malloc(n) \[rs] │ │ │ │ │ - (al_malloc_with_context((n), __LINE__, __FILE__, __func__)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like malloc() in the C standard library, but the implementation may be │ │ │ │ │ overridden. │ │ │ │ │ .PP │ │ │ │ │ This is a macro. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_mixer_has_attachments.3alleg5.gz │ │ │ │ ├── al_mixer_has_attachments.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_mixer_has_attachments \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_mixer_has_attachments(const ALLEGRO_MIXER* mixer) │ │ │ │ │ -bool al_mixer_has_attachments(const ALLEGRO_MIXER* mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns true if the mixer has something attached to it. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_mixer_attached(3alleg5), │ │ │ │ │ al_attach_sample_instance_to_mixer(3alleg5), │ │ │ │ │ al_attach_audio_stream_to_mixer(3alleg5), │ │ │ ├── ./usr/share/man/man3/al_open_memfile.3alleg5.gz │ │ │ │ ├── al_open_memfile.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_open_memfile \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode) │ │ │ │ │ -ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns a file handle to the block of memory. │ │ │ │ │ All read and write operations act upon the memory directly, so it must │ │ │ │ │ not be freed while the file remains open. │ │ │ │ │ .PP │ │ │ │ │ The mode can be any combination of \[lq]r\[rq] (readable) and │ │ │ ├── ./usr/share/man/man3/al_open_native_text_log.3alleg5.gz │ │ │ │ ├── al_open_native_text_log.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_open_native_text_log \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags) │ │ │ │ │ -ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Opens a window to which you can append log messages with │ │ │ │ │ al_append_native_text_log(3alleg5). │ │ │ │ │ This can be useful for debugging if you don\[cq]t want to depend on a │ │ │ │ │ console being available. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_open_video.3alleg5.gz │ │ │ │ ├── al_open_video.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_open_video \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_VIDEO *al_open_video(char const *filename) │ │ │ │ │ -ALLEGRO_VIDEO *al_open_video(char const *filename) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Reads a video file. │ │ │ │ │ This does not start playing yet but reads the meta info so you can query │ │ │ │ │ e.g.\ the size or audio rate. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_play_audio_stream.3alleg5.gz │ │ │ │ ├── al_play_audio_stream.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_play_audio_stream \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_AUDIO_STREAM *al_play_audio_stream(const char *filename) │ │ │ │ │ -ALLEGRO_AUDIO_STREAM *al_play_audio_stream(const char *filename) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Loads and plays an audio file, streaming from disk as it is needed. │ │ │ │ │ This API can only play one audio stream at a time. │ │ │ │ │ This requires a default mixer to be set, which is typically done via │ │ │ │ │ al_reserve_samples(3alleg5), but can also be done via │ │ │ │ │ al_set_default_mixer(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_play_audio_stream_f.3alleg5.gz │ │ │ │ ├── al_play_audio_stream_f.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_play_audio_stream_f \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_AUDIO_STREAM *al_play_audio_stream_f(ALLEGRO_FILE *fp, const char *ident) │ │ │ │ │ -ALLEGRO_AUDIO_STREAM *al_play_audio_stream_f(ALLEGRO_FILE *fp, const char *ident) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Loads and plays an audio file from ALLEGRO_FILE(3alleg5) stream, │ │ │ │ │ streaming it is needed. │ │ │ │ │ This API can only play one audio stream at a time. │ │ │ │ │ This requires a default mixer to be set, which is typically done via │ │ │ │ │ al_reserve_samples(3alleg5), but can also be done via │ │ │ ├── ./usr/share/man/man3/al_play_sample.3alleg5.gz │ │ │ │ ├── al_play_sample.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed, │ │ │ │ │ ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id) │ │ │ │ │ -bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed, │ │ │ │ │ - ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Plays a sample on one of the sample instances created by │ │ │ │ │ al_reserve_samples(3alleg5). │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ Playback may fail because all the reserved sample instances are │ │ │ │ │ currently used. │ │ │ ├── ./usr/share/man/man3/al_play_sample_instance.3alleg5.gz │ │ │ │ ├── al_play_sample_instance.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_play_sample_instance \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Play the sample instance. │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_stop_sample_instance(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_popup_menu.3alleg5.gz │ │ │ │ ├── al_popup_menu.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_popup_menu \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display) │ │ │ │ │ -bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Displays a context menu next to the mouse cursor. │ │ │ │ │ The menu must have been created with al_create_popup_menu(3alleg5). │ │ │ │ │ It generates events just like a regular display menu does. │ │ │ │ │ It is possible that the menu will be canceled without any selection │ │ │ │ │ being made. │ │ │ ├── ./usr/share/man/man3/al_realloc.3alleg5.gz │ │ │ │ ├── al_realloc.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ #define al_realloc(p, n) \[rs] │ │ │ │ │ (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__)) │ │ │ │ │ -#define al_realloc(p, n) \[rs] │ │ │ │ │ - (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like realloc() in the C standard library, but the implementation may be │ │ │ │ │ overridden. │ │ │ │ │ .PP │ │ │ │ │ This is a macro. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_register_audio_stream_loader.3alleg5.gz │ │ │ │ ├── al_register_audio_stream_loader.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_register_audio_stream_loader(const char *ext, │ │ │ │ │ ALLEGRO_AUDIO_STREAM *(*stream_loader)(const char *filename, │ │ │ │ │ size_t buffer_count, unsigned int samples)) │ │ │ │ │ -bool al_register_audio_stream_loader(const char *ext, │ │ │ │ │ - ALLEGRO_AUDIO_STREAM *(*stream_loader)(const char *filename, │ │ │ │ │ - size_t buffer_count, unsigned int samples)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Register a handler for al_load_audio_stream(3alleg5) and │ │ │ │ │ al_play_audio_stream(3alleg5). │ │ │ │ │ The given function will be used to open streams from files with the │ │ │ │ │ given extension. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_register_audio_stream_loader_f.3alleg5.gz │ │ │ │ ├── al_register_audio_stream_loader_f.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_register_audio_stream_loader_f(const char *ext, │ │ │ │ │ ALLEGRO_AUDIO_STREAM *(*stream_loader)(ALLEGRO_FILE* fp, │ │ │ │ │ size_t buffer_count, unsigned int samples)) │ │ │ │ │ -bool al_register_audio_stream_loader_f(const char *ext, │ │ │ │ │ - ALLEGRO_AUDIO_STREAM *(*stream_loader)(ALLEGRO_FILE* fp, │ │ │ │ │ - size_t buffer_count, unsigned int samples)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Register a handler for al_load_audio_stream_f(3alleg5) and │ │ │ │ │ al_play_audio_stream_f(3alleg5). │ │ │ │ │ The given function will be used to open streams from files with the │ │ │ │ │ given extension. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_register_font_loader.3alleg5.gz │ │ │ │ ├── al_register_font_loader.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_register_font_loader(char const *extension, │ │ │ │ │ ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags)) │ │ │ │ │ -bool al_register_font_loader(char const *extension, │ │ │ │ │ - ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Informs Allegro of a new font file type, telling it how to load files of │ │ │ │ │ this format. │ │ │ │ │ .PP │ │ │ │ │ The \f[CR]extension\f[R] should include the leading dot (`.') character. │ │ │ │ │ It will be matched case\-insensitively. │ │ │ ├── ./usr/share/man/man3/al_register_sample_identifier.3alleg5.gz │ │ │ │ ├── al_register_sample_identifier.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_register_sample_identifier(const char *ext, │ │ │ │ │ bool (*identifier)(ALLEGRO_FILE* fp)) │ │ │ │ │ -bool al_register_sample_identifier(const char *ext, │ │ │ │ │ - bool (*identifier)(ALLEGRO_FILE* fp)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Register an identify handler for al_identify_sample(3alleg5). │ │ │ │ │ The given function will be used to detect files for the given extension. │ │ │ │ │ It will be called with a single argument of type ALLEGRO_FILE(3alleg5) │ │ │ │ │ which is a file handle opened for reading and located at the first byte │ │ │ │ │ of the file. │ │ │ ├── ./usr/share/man/man3/al_register_sample_loader.3alleg5.gz │ │ │ │ ├── al_register_sample_loader.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_register_sample_loader(const char *ext, │ │ │ │ │ ALLEGRO_SAMPLE *(*loader)(const char *filename)) │ │ │ │ │ -bool al_register_sample_loader(const char *ext, │ │ │ │ │ - ALLEGRO_SAMPLE *(*loader)(const char *filename)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Register a handler for al_load_sample(3alleg5). │ │ │ │ │ The given function will be used to handle the loading of sample files │ │ │ │ │ with the given extension. │ │ │ │ │ .PP │ │ │ │ │ The extension should include the leading dot (`.') character. │ │ │ ├── ./usr/share/man/man3/al_register_sample_loader_f.3alleg5.gz │ │ │ │ ├── al_register_sample_loader_f.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_register_sample_loader_f(const char *ext, │ │ │ │ │ ALLEGRO_SAMPLE *(*loader)(ALLEGRO_FILE* fp)) │ │ │ │ │ -bool al_register_sample_loader_f(const char *ext, │ │ │ │ │ - ALLEGRO_SAMPLE *(*loader)(ALLEGRO_FILE* fp)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Register a handler for al_load_sample_f(3alleg5). │ │ │ │ │ The given function will be used to handle the loading of sample files │ │ │ │ │ with the given extension. │ │ │ │ │ .PP │ │ │ │ │ The extension should include the leading dot (`.') character. │ │ │ ├── ./usr/share/man/man3/al_register_sample_saver.3alleg5.gz │ │ │ │ ├── al_register_sample_saver.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_register_sample_saver(const char *ext, │ │ │ │ │ bool (*saver)(const char *filename, ALLEGRO_SAMPLE *spl)) │ │ │ │ │ -bool al_register_sample_saver(const char *ext, │ │ │ │ │ - bool (*saver)(const char *filename, ALLEGRO_SAMPLE *spl)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Register a handler for al_save_sample(3alleg5). │ │ │ │ │ The given function will be used to handle the saving of sample files │ │ │ │ │ with the given extension. │ │ │ │ │ .PP │ │ │ │ │ The extension should include the leading dot (`.') character. │ │ │ ├── ./usr/share/man/man3/al_register_sample_saver_f.3alleg5.gz │ │ │ │ ├── al_register_sample_saver_f.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_register_sample_saver_f(const char *ext, │ │ │ │ │ bool (*saver)(ALLEGRO_FILE* fp, ALLEGRO_SAMPLE *spl)) │ │ │ │ │ -bool al_register_sample_saver_f(const char *ext, │ │ │ │ │ - bool (*saver)(ALLEGRO_FILE* fp, ALLEGRO_SAMPLE *spl)) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Register a handler for al_save_sample_f(3alleg5). │ │ │ │ │ The given function will be used to handle the saving of sample files │ │ │ │ │ with the given extension. │ │ │ │ │ .PP │ │ │ │ │ The extension should include the leading dot (`.') character. │ │ │ ├── ./usr/share/man/man3/al_remove_display_menu.3alleg5.gz │ │ │ │ ├── al_remove_display_menu.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_remove_display_menu \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display) │ │ │ │ │ -ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Detaches the menu associated with the display and returns it. │ │ │ │ │ The menu can then be used on a different display. │ │ │ │ │ .PP │ │ │ │ │ If you simply want to destroy the active menu, you can call │ │ │ │ │ al_set_display_menu(3alleg5) with a \f[CR]NULL\f[R] menu. │ │ │ ├── ./usr/share/man/man3/al_remove_menu_item.3alleg5.gz │ │ │ │ ├── al_remove_menu_item.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_remove_menu_item \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ -bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Removes the specified item from the menu and destroys it. │ │ │ │ │ If the item contains a sub\-menu, it too is destroyed. │ │ │ │ │ Any references to it are invalidated. │ │ │ │ │ If you want to preserve that sub\-menu, you should first make a copy │ │ │ │ │ with al_clone_menu(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_reserve_samples.3alleg5.gz │ │ │ │ ├── al_reserve_samples.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_reserve_samples \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_reserve_samples(int reserve_samples) │ │ │ │ │ -bool al_reserve_samples(int reserve_samples) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Reserves a number of sample instances, attaching them to the default │ │ │ │ │ mixer. │ │ │ │ │ If no default mixer is set when this function is called, then it will │ │ │ │ │ create one and attach it to the default voice. │ │ │ │ │ If no default voice has been set, it, too, will be created. │ │ │ ├── ./usr/share/man/man3/al_restore_default_mixer.3alleg5.gz │ │ │ │ ├── al_restore_default_mixer.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_restore_default_mixer \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_restore_default_mixer(void) │ │ │ │ │ -bool al_restore_default_mixer(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Restores Allegro\[cq]s default mixer and attaches it to the default │ │ │ │ │ voice. │ │ │ │ │ If the default mixer hasn\[cq]t been created before, it will be created. │ │ │ │ │ If the default voice hasn\[cq]t been set via │ │ │ │ │ al_set_default_voice(3alleg5) or created before, it will also be │ │ │ ├── ./usr/share/man/man3/al_rewind_audio_stream.3alleg5.gz │ │ │ │ ├── al_rewind_audio_stream.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_rewind_audio_stream \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ -bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the streaming file playing position to the beginning. │ │ │ │ │ Returns true on success. │ │ │ │ │ Currently this can only be called on streams created with │ │ │ │ │ al_load_audio_stream(3alleg5), al_play_audio_stream(3alleg5), │ │ │ │ │ al_load_audio_stream_f(3alleg5) or al_play_audio_stream_f(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_save_sample.3alleg5.gz │ │ │ │ ├── al_save_sample.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_save_sample \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl) │ │ │ │ │ -bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Writes a sample into a file. │ │ │ │ │ Currently, wav is the only supported format, and the extension must be │ │ │ │ │ \[lq].wav\[rq]. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on error. │ │ │ ├── ./usr/share/man/man3/al_save_sample_f.3alleg5.gz │ │ │ │ ├── al_save_sample_f.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_save_sample_f \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl) │ │ │ │ │ -bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Writes a sample into a ALLEGRO_FILE(3alleg5) filestream. │ │ │ │ │ Currently, wav is the only supported format, and the extension must be │ │ │ │ │ \[lq].wav\[rq]. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on error. │ │ │ ├── ./usr/share/man/man3/al_seek_audio_stream_secs.3alleg5.gz │ │ │ │ ├── al_seek_audio_stream_secs.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_seek_audio_stream_secs \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time) │ │ │ │ │ -bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the streaming file playing position to time. │ │ │ │ │ Returns true on success. │ │ │ │ │ Currently this can only be called on streams created with │ │ │ │ │ al_load_audio_stream(3alleg5), al_play_audio_stream(3alleg5), │ │ │ │ │ al_load_audio_stream_f(3alleg5) or al_play_audio_stream_f(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_seek_video.3alleg5.gz │ │ │ │ ├── al_seek_video.3alleg5 │ │ │ │ │ @@ -5,14 +5,13 @@ │ │ │ │ │ al_seek_video \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds) │ │ │ │ │ -bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Seek to a different position in the video. │ │ │ │ │ Currently only seeking to the beginning of the video is supported. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_set_audio_stream_fragment.3alleg5.gz │ │ │ │ ├── al_set_audio_stream_fragment.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_audio_stream_fragment \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val) │ │ │ │ │ -bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This function needs to be called for every successful call of │ │ │ │ │ al_get_audio_stream_fragment(3alleg5) to indicate that the buffer │ │ │ │ │ (pointed to by \f[CR]val\f[R]) is filled with new data. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_audio_stream_fragment(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_set_audio_stream_gain.3alleg5.gz │ │ │ │ ├── al_set_audio_stream_gain.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_audio_stream_gain \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val) │ │ │ │ │ -bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the playback gain of the stream. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ Will fail if the audio stream is attached directly to a voice. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_set_audio_stream_loop_secs.3alleg5.gz │ │ │ │ ├── al_set_audio_stream_loop_secs.3alleg5 │ │ │ │ │ @@ -6,15 +6,13 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_audio_stream_loop_secs(ALLEGRO_AUDIO_STREAM *stream, │ │ │ │ │ double start, double end) │ │ │ │ │ -bool al_set_audio_stream_loop_secs(ALLEGRO_AUDIO_STREAM *stream, │ │ │ │ │ - double start, double end) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Sets the loop points for the stream in seconds. │ │ │ │ │ Currently this can only be called on streams created with │ │ │ │ │ al_load_audio_stream(3alleg5), al_play_audio_stream(3alleg5), │ │ │ │ │ al_load_audio_stream_f(3alleg5) or al_play_audio_stream_f(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_set_audio_stream_pan.3alleg5.gz │ │ │ │ ├── al_set_audio_stream_pan.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_audio_stream_pan \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val) │ │ │ │ │ -bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the pan value on an audio stream. │ │ │ │ │ A value of \-1.0 means to play the stream only through the left speaker; │ │ │ │ │ +1.0 means only through the right speaker; 0.0 means the sample is │ │ │ │ │ centre balanced. │ │ │ │ │ A special value ALLEGRO_AUDIO_PAN_NONE(3alleg5) disables panning and │ │ │ ├── ./usr/share/man/man3/al_set_audio_stream_playing.3alleg5.gz │ │ │ │ ├── al_set_audio_stream_playing.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_audio_stream_playing \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val) │ │ │ │ │ -bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Change whether the stream is playing. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_audio_stream_playing(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_set_audio_stream_playmode.3alleg5.gz │ │ │ │ ├── al_set_audio_stream_playmode.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_audio_stream_playmode(ALLEGRO_AUDIO_STREAM *stream, │ │ │ │ │ ALLEGRO_PLAYMODE val) │ │ │ │ │ -bool al_set_audio_stream_playmode(ALLEGRO_AUDIO_STREAM *stream, │ │ │ │ │ - ALLEGRO_PLAYMODE val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the playback mode of the stream. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_PLAYMODE(3alleg5), al_get_audio_stream_playmode(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_set_audio_stream_speed.3alleg5.gz │ │ │ │ ├── al_set_audio_stream_speed.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_audio_stream_speed \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val) │ │ │ │ │ -bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the relative playback speed of the stream. │ │ │ │ │ 1.0 means normal speed. │ │ │ │ │ .PP │ │ │ │ │ Return true on success, false on failure. │ │ │ │ │ Will fail if the audio stream is attached directly to a voice. │ │ │ ├── ./usr/share/man/man3/al_set_default_mixer.3alleg5.gz │ │ │ │ ├── al_set_default_mixer.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_default_mixer \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_default_mixer(ALLEGRO_MIXER *mixer) │ │ │ │ │ -bool al_set_default_mixer(ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Sets the default mixer. │ │ │ │ │ All samples started with al_play_sample(3alleg5) will be stopped and all │ │ │ │ │ sample instances returned by al_lock_sample_id(3alleg5) will be │ │ │ │ │ invalidated. │ │ │ │ │ If you are using your own mixer, this should be called before │ │ │ ├── ./usr/share/man/man3/al_set_default_voice.3alleg5.gz │ │ │ │ ├── al_set_default_voice.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_default_voice \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_set_default_voice(ALLEGRO_VOICE *voice) │ │ │ │ │ -void al_set_default_voice(ALLEGRO_VOICE *voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ You can call this before calling al_restore_default_mixer to provide the │ │ │ │ │ voice which should be used. │ │ │ │ │ Any previous voice will be destroyed. │ │ │ │ │ You can also pass NULL to destroy the current default voice. │ │ │ │ │ .SH SINCE │ │ │ ├── ./usr/share/man/man3/al_set_display_menu.3alleg5.gz │ │ │ │ ├── al_set_display_menu.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_display_menu \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu) │ │ │ │ │ -bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Associates the \f[CR]menu\f[R] with the \f[CR]display\f[R] and shows it. │ │ │ │ │ If there was a previous menu associated with the display, it will be │ │ │ │ │ destroyed. │ │ │ │ │ If you don\[cq]t want that to happen, you should first remove the menu │ │ │ │ │ with al_remove_display_menu(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_set_fallback_font.3alleg5.gz │ │ │ │ ├── al_set_fallback_font.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_fallback_font \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback) │ │ │ │ │ -void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Sets a font which is used instead if a character is not present. │ │ │ │ │ Can be chained, but make sure there is no loop as that would crash the │ │ │ │ │ application! │ │ │ │ │ Pass NULL to remove a fallback font again. │ │ │ │ │ .SH SINCE │ │ │ ├── ./usr/share/man/man3/al_set_menu_item_caption.3alleg5.gz │ │ │ │ ├── al_set_menu_item_caption.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_menu_item_caption \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption) │ │ │ │ │ -void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Updates the menu item caption with the new \f[CR]caption\f[R]. │ │ │ │ │ This will invalidate any previous calls to │ │ │ │ │ al_get_menu_item_caption(3alleg5). │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_set_menu_item_flags.3alleg5.gz │ │ │ │ ├── al_set_menu_item_flags.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_menu_item_flags \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags) │ │ │ │ │ -void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Updates the menu item\[cq]s flags. │ │ │ │ │ See al_insert_menu_item(3alleg5) for a description of the available │ │ │ │ │ flags. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_set_menu_item_icon.3alleg5.gz │ │ │ │ ├── al_set_menu_item_icon.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_menu_item_icon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon) │ │ │ │ │ -void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Sets the icon for the specified menu item. │ │ │ │ │ The menu assumes ownership of the \f[CR]ALLEGRO_BITMAP\f[R] and may │ │ │ │ │ invalidate the pointer, so you must clone it if you wish to continue │ │ │ │ │ using it. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_set_mixer_frequency.3alleg5.gz │ │ │ │ ├── al_set_mixer_frequency.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_mixer_frequency \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_mixer_frequency(ALLEGRO_MIXER *mixer, unsigned int val) │ │ │ │ │ -bool al_set_mixer_frequency(ALLEGRO_MIXER *mixer, unsigned int val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the mixer frequency (in Hz). │ │ │ │ │ This will only work if the mixer is not attached to anything. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_set_mixer_gain.3alleg5.gz │ │ │ │ ├── al_set_mixer_gain.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_mixer_gain \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_mixer_gain(ALLEGRO_MIXER *mixer, float new_gain) │ │ │ │ │ -bool al_set_mixer_gain(ALLEGRO_MIXER *mixer, float new_gain) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the mixer gain (amplification factor). │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.0.6, 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_set_mixer_playing.3alleg5.gz │ │ │ │ ├── al_set_mixer_playing.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_mixer_playing \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_mixer_playing(ALLEGRO_MIXER *mixer, bool val) │ │ │ │ │ -bool al_set_mixer_playing(ALLEGRO_MIXER *mixer, bool val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Change whether the mixer is playing. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_mixer_playing(3alleg5). │ │ │ ├── ./usr/share/man/man3/al_set_mixer_postprocess_callback.3alleg5.gz │ │ │ │ ├── al_set_mixer_postprocess_callback.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_mixer_postprocess_callback(ALLEGRO_MIXER *mixer, │ │ │ │ │ void (*pp_callback)(void *buf, unsigned int samples, void *data), │ │ │ │ │ void *pp_callback_userdata) │ │ │ │ │ -bool al_set_mixer_postprocess_callback(ALLEGRO_MIXER *mixer, │ │ │ │ │ - void (*pp_callback)(void *buf, unsigned int samples, void *data), │ │ │ │ │ - void *pp_callback_userdata) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Sets a post\-processing filter function that\[cq]s called after the │ │ │ │ │ attached streams have been mixed. │ │ │ │ │ The buffer\[cq]s format will be whatever the mixer was created with. │ │ │ │ │ The sample count and user\-data pointer is also passed. │ │ │ │ │ .RS │ │ │ ├── ./usr/share/man/man3/al_set_mixer_quality.3alleg5.gz │ │ │ │ ├── al_set_mixer_quality.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_mixer_quality \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_mixer_quality(ALLEGRO_MIXER *mixer, ALLEGRO_MIXER_QUALITY new_quality) │ │ │ │ │ -bool al_set_mixer_quality(ALLEGRO_MIXErgb_to_yuv │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the mixer quality. │ │ │ │ │ This can only succeed if the mixer does not have anything attached to │ │ │ │ │ it. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ ├── ./usr/share/man/man3/al_set_physfs_file_interface.3alleg5.gz │ │ │ │ ├── al_set_physfs_file_interface.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_physfs_file_interface \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_set_physfs_file_interface(void) │ │ │ │ │ -void al_set_physfs_file_interface(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ This function sets \f[I]both\f[R] the ALLEGRO_FILE_INTERFACE(3alleg5) │ │ │ │ │ and ALLEGRO_FS_INTERFACE(3alleg5) for the calling thread. │ │ │ │ │ .PP │ │ │ │ │ Subsequent calls to al_fopen(3alleg5) on the calling thread will be │ │ │ │ │ handled by PHYSFS_open(). │ │ │ ├── ./usr/share/man/man3/al_set_sample.3alleg5.gz │ │ │ │ ├── al_set_sample.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_sample \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data) │ │ │ │ │ -bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Change the sample data that a sample instance plays. │ │ │ │ │ This can be quite an involved process. │ │ │ │ │ .PP │ │ │ │ │ First, the sample is stopped if it is not already. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_set_sample_instance_channel_matrix.3alleg5.gz │ │ │ │ ├── al_set_sample_instance_channel_matrix.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_sample_instance_channel_matrix \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE *spl, const float *matrix) │ │ │ │ │ -bool al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE *spl, const float *matrix) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the matrix used to mix the channels coming from this instance into │ │ │ │ │ the mixer it is attached to. │ │ │ │ │ Normally Allegro derives the values of this matrix from the gain and pan │ │ │ │ │ settings, as well as the channel configurations of this instance and the │ │ │ │ │ mixer it is attached to, but this allows you override that default │ │ │ ├── ./usr/share/man/man3/al_set_sample_instance_gain.3alleg5.gz │ │ │ │ ├── al_set_sample_instance_gain.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_sample_instance_gain \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val) │ │ │ │ │ -bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the playback gain of the sample instance. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ Will fail if the sample instance is attached directly to a voice. │ │ │ │ │ .SH SEE ALSO │ │ │ ├── ./usr/share/man/man3/al_set_sample_instance_length.3alleg5.gz │ │ │ │ ├── al_set_sample_instance_length.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_sample_instance_length(ALLEGRO_SAMPLE_INSTANCE *spl, │ │ │ │ │ unsigned int val) │ │ │ │ │ -bool al_set_sample_instance_length(ALLEGRO_SAMPLE_INSTANCE *spl, │ │ │ │ │ - unsigned int val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the length of the sample instance in sample values. │ │ │ │ │ This can be used to play only parts of the underlying sample. │ │ │ │ │ Be careful not to exceed the actual length of the sample data, though. │ │ │ │ │ .PP │ │ │ │ │ Return true on success, false on failure. │ │ │ ├── ./usr/share/man/man3/al_set_sample_instance_pan.3alleg5.gz │ │ │ │ ├── al_set_sample_instance_pan.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_sample_instance_pan \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val) │ │ │ │ │ -bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the pan value on a sample instance. │ │ │ │ │ A value of \-1.0 means to play the sample only through the left speaker; │ │ │ │ │ +1.0 means only through the right speaker; 0.0 means the sample is │ │ │ │ │ centre balanced. │ │ │ │ │ A special value ALLEGRO_AUDIO_PAN_NONE(3alleg5) disables panning and │ │ │ ├── ./usr/share/man/man3/al_set_sample_instance_playing.3alleg5.gz │ │ │ │ ├── al_set_sample_instance_playing.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_sample_instance_playing \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val) │ │ │ │ │ -bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Change whether the sample instance is playing. │ │ │ │ │ .PP │ │ │ │ │ The instance does not need to be attached to anything (since: 5.1.8). │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ ├── ./usr/share/man/man3/al_set_sample_instance_playmode.3alleg5.gz │ │ │ │ ├── al_set_sample_instance_playmode.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_sample_instance_playmode(ALLEGRO_SAMPLE_INSTANCE *spl, │ │ │ │ │ ALLEGRO_PLAYMODE val) │ │ │ │ │ -bool al_set_sample_instance_playmode(ALLEGRO_SAMPLE_INSTANCE *spl, │ │ │ │ │ - ALLEGRO_PLAYMODE val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the playback mode of the sample instance. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_PLAYMODE(3alleg5), al_get_sample_instance_playmode(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_set_sample_instance_position.3alleg5.gz │ │ │ │ ├── al_set_sample_instance_position.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_sample_instance_position(ALLEGRO_SAMPLE_INSTANCE *spl, │ │ │ │ │ unsigned int val) │ │ │ │ │ -bool al_set_sample_instance_position(ALLEGRO_SAMPLE_INSTANCE *spl, │ │ │ │ │ - unsigned int val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the playback position of a sample instance. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_get_sample_instance_position(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_set_sample_instance_speed.3alleg5.gz │ │ │ │ ├── al_set_sample_instance_speed.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_sample_instance_speed \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val) │ │ │ │ │ -bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the relative playback speed of the sample instance. │ │ │ │ │ 1.0 means normal speed. │ │ │ │ │ .PP │ │ │ │ │ Return true on success, false on failure. │ │ │ │ │ Will fail if the sample instance is attached directly to a voice. │ │ │ ├── ./usr/share/man/man3/al_set_video_playing.3alleg5.gz │ │ │ │ ├── al_set_video_playing.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_set_video_playing \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_set_video_playing(ALLEGRO_VIDEO *video, bool play) │ │ │ │ │ -void al_set_video_playing(ALLEGRO_VIDEO *video, bool play) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Paused or resumes playback. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.12 │ │ │ ├── ./usr/share/man/man3/al_set_voice_playing.3alleg5.gz │ │ │ │ ├── al_set_voice_playing.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_voice_playing \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_voice_playing(ALLEGRO_VOICE *voice, bool val) │ │ │ │ │ -bool al_set_voice_playing(ALLEGRO_VOICE *voice, bool val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Change whether a voice is playing or not. │ │ │ │ │ This can only work if the voice has a non\-streaming object attached to │ │ │ │ │ it, e.g.\ a sample instance. │ │ │ │ │ On success the voice\[cq]s current sample position is reset. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_set_voice_position.3alleg5.gz │ │ │ │ ├── al_set_voice_position.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_set_voice_position \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_set_voice_position(ALLEGRO_VOICE *voice, unsigned int val) │ │ │ │ │ -bool al_set_voice_position(ALLEGRO_VOICE *voice, unsigned int val) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Set the voice position. │ │ │ │ │ This can only work if the voice has a non\-streaming object attached to │ │ │ │ │ it, e.g.\ a sample instance. │ │ │ │ │ .PP │ │ │ │ │ Returns true on success, false on failure. │ │ │ ├── ./usr/share/man/man3/al_show_native_file_dialog.3alleg5.gz │ │ │ │ ├── al_show_native_file_dialog.3alleg5 │ │ │ │ │ @@ -6,16 +6,14 @@ │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display, │ │ │ │ │ ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ -bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display, │ │ │ │ │ - ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Show the dialog window. │ │ │ │ │ The display may be NULL, otherwise the given display is treated as the │ │ │ │ │ parent if possible. │ │ │ │ │ .PP │ │ │ │ │ This function blocks the calling thread until it returns, so you may │ │ │ ├── ./usr/share/man/man3/al_show_native_message_box.3alleg5.gz │ │ │ │ ├── al_show_native_message_box.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_show_native_message_box(ALLEGRO_DISPLAY *display, │ │ │ │ │ char const *title, char const *heading, char const *text, │ │ │ │ │ char const *buttons, int flags) │ │ │ │ │ -int al_show_native_message_box(ALLEGRO_DISPLAY *display, │ │ │ │ │ - char const *title, char const *heading, char const *text, │ │ │ │ │ - char const *buttons, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Show a native GUI message box. │ │ │ │ │ This can be used for example to display an error message if creation of │ │ │ │ │ an initial display fails. │ │ │ │ │ The display may be NULL, otherwise the given display is treated as the │ │ │ │ │ parent if possible. │ │ │ ├── ./usr/share/man/man3/al_shutdown_font_addon.3alleg5.gz │ │ │ │ ├── al_shutdown_font_addon.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_shutdown_font_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_shutdown_font_addon(void) │ │ │ │ │ -void al_shutdown_font_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Shut down the font addon. │ │ │ │ │ This is done automatically at program exit, but can be called any time │ │ │ │ │ the user wishes as well. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_init_font_addon(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_shutdown_image_addon.3alleg5.gz │ │ │ │ ├── al_shutdown_image_addon.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_shutdown_image_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_shutdown_image_addon(void) │ │ │ │ │ -void al_shutdown_image_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Shut down the image addon. │ │ │ │ │ This is done automatically at program exit, but can be called any time │ │ │ │ │ the user wishes as well. │ │ │ ├── ./usr/share/man/man3/al_shutdown_native_dialog_addon.3alleg5.gz │ │ │ │ ├── al_shutdown_native_dialog_addon.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_shutdown_native_dialog_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_shutdown_native_dialog_addon(void) │ │ │ │ │ -void al_shutdown_native_dialog_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Shut down the native dialog addon. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.0.9, 5.1.5 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_init_native_dialog_addon(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_shutdown_primitives_addon.3alleg5.gz │ │ │ │ ├── al_shutdown_primitives_addon.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_shutdown_primitives_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_shutdown_primitives_addon(void) │ │ │ │ │ -void al_shutdown_primitives_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Shut down the primitives addon. │ │ │ │ │ This is done automatically at program exit, but can be called any time │ │ │ │ │ the user wishes as well. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_init_primitives_addon(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_shutdown_ttf_addon.3alleg5.gz │ │ │ │ ├── al_shutdown_ttf_addon.3alleg5 │ │ │ │ │ @@ -5,12 +5,11 @@ │ │ │ │ │ al_shutdown_ttf_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_shutdown_ttf_addon(void) │ │ │ │ │ -void al_shutdown_ttf_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Unloads the ttf addon again. │ │ │ │ │ You normally don\[cq]t need to call this. │ │ │ ├── ./usr/share/man/man3/al_shutdown_video_addon.3alleg5.gz │ │ │ │ ├── al_shutdown_video_addon.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_shutdown_video_addon \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_shutdown_video_addon(void) │ │ │ │ │ -void al_shutdown_video_addon(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Shut down the video addon. │ │ │ │ │ This is done automatically at program exit, but can be called any time │ │ │ │ │ the user wishes as well. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.12 │ │ │ ├── ./usr/share/man/man3/al_start_audio_recorder.3alleg5.gz │ │ │ │ ├── al_start_audio_recorder.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_start_audio_recorder \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_start_audio_recorder(ALLEGRO_AUDIO_RECORDER *r) │ │ │ │ │ -bool al_start_audio_recorder(ALLEGRO_AUDIO_RECORDER *r) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Begin recording into the fragment buffer. │ │ │ │ │ Once a complete fragment has been captured (as specified in │ │ │ │ │ al_create_audio_recorder(3alleg5)), an │ │ │ │ │ ALLEGRO_EVENT_AUDIO_RECORDER_FRAGMENT(3alleg5) event will be triggered. │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_start_video.3alleg5.gz │ │ │ │ ├── al_start_video.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_start_video \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer) │ │ │ │ │ -void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Starts playing the video from the beginning. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_start_video_with_voice.3alleg5.gz │ │ │ │ ├── al_start_video_with_voice.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_start_video_with_voice \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice) │ │ │ │ │ -void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Like al_start_video(3alleg5) but audio is routed to the provided voice. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.0 │ │ │ ├── ./usr/share/man/man3/al_stop_audio_recorder.3alleg5.gz │ │ │ │ ├── al_stop_audio_recorder.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_stop_audio_recorder \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_stop_audio_recorder(ALLEGRO_AUDIO_RECORDER *r) │ │ │ │ │ -void al_stop_audio_recorder(ALLEGRO_AUDIO_RECORDER *r) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Stop capturing audio data. │ │ │ │ │ Note that the audio recorder is still active and consuming resources, so │ │ │ │ │ if you are finished recording you should destroy it with │ │ │ │ │ al_destroy_audio_recorder(3alleg5). │ │ │ │ │ .PP │ │ │ ├── ./usr/share/man/man3/al_stop_sample.3alleg5.gz │ │ │ │ ├── al_stop_sample.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_stop_sample \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id) │ │ │ │ │ -void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Stop the sample started by al_play_sample(3alleg5). │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_stop_samples(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_stop_sample_instance.3alleg5.gz │ │ │ │ ├── al_stop_sample_instance.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_stop_sample_instance \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ -bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Stop an sample instance playing. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_play_sample_instance(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_stop_samples.3alleg5.gz │ │ │ │ ├── al_stop_samples.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_stop_samples \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_stop_samples(void) │ │ │ │ │ -void al_stop_samples(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Stop all samples started by al_play_sample(3alleg5). │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_stop_sample(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_toggle_menu_item_flags.3alleg5.gz │ │ │ │ ├── al_toggle_menu_item_flags.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_toggle_menu_item_flags \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags) │ │ │ │ │ -int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Toggles the specified menu item\[cq]s flags. │ │ │ │ │ See al_insert_menu_item(3alleg5) for a description of the available │ │ │ │ │ flags. │ │ │ │ │ .PP │ │ │ │ │ Returns a bitfield of only the specified flags that are set after the │ │ │ ├── ./usr/share/man/man3/al_triangulate_polygon.3alleg5.gz │ │ │ │ ├── al_triangulate_polygon.3alleg5 │ │ │ │ │ @@ -7,17 +7,14 @@ │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_triangulate_polygon( │ │ │ │ │ const float* vertices, size_t vertex_stride, const int* vertex_counts, │ │ │ │ │ void (*emit_triangle)(int, int, int, void*), void* userdata) │ │ │ │ │ -bool al_triangulate_polygon( │ │ │ │ │ - const float* vertices, size_t vertex_stride, const int* vertex_counts, │ │ │ │ │ - void (*emit_triangle)(int, int, int, void*), void* userdata) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Divides a simple polygon into triangles, with zero or more other simple │ │ │ │ │ polygons subtracted from it \- the holes. │ │ │ │ │ The holes cannot touch or intersect with the outline of the main │ │ │ │ │ polygon. │ │ │ │ │ Simple means the polygon does not have to be convex but must not be │ │ │ ├── ./usr/share/man/man3/al_uninstall_audio.3alleg5.gz │ │ │ │ ├── al_uninstall_audio.3alleg5 │ │ │ │ │ @@ -5,13 +5,12 @@ │ │ │ │ │ al_uninstall_audio \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_uninstall_audio(void) │ │ │ │ │ -void al_uninstall_audio(void) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Uninstalls the audio subsystem. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_install_audio(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_unlock_index_buffer.3alleg5.gz │ │ │ │ ├── al_unlock_index_buffer.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_unlock_index_buffer \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer) │ │ │ │ │ -void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Unlocks a previously locked index buffer. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.8 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_INDEX_BUFFER(3alleg5), al_lock_index_buffer(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_unlock_sample_id.3alleg5.gz │ │ │ │ ├── al_unlock_sample_id.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_unlock_sample_id \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_unlock_sample_id(ALLEGRO_SAMPLE_ID *spl_id) │ │ │ │ │ -void al_unlock_sample_id(ALLEGRO_SAMPLE_ID *spl_id) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Unlocks a ALLEGRO_SAMPLE_ID(3alleg5), allowing future calls to │ │ │ │ │ al_play_sample(3alleg5) to reuse it if possible. │ │ │ │ │ Note that after the id is unlocked, the ALLEGRO_SAMPLE_INSTANCE(3alleg5) │ │ │ │ │ that was previously returned by al_lock_sample_id(3alleg5) will possibly │ │ │ │ │ be playing a different sound, so you should only use it after locking │ │ │ ├── ./usr/share/man/man3/al_unlock_vertex_buffer.3alleg5.gz │ │ │ │ ├── al_unlock_vertex_buffer.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_unlock_vertex_buffer \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer) │ │ │ │ │ -void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Unlocks a previously locked vertex buffer. │ │ │ │ │ .SH SINCE │ │ │ │ │ 5.1.3 │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ ALLEGRO_VERTEX_BUFFER(3alleg5), al_lock_vertex_buffer(3alleg5) │ │ │ ├── ./usr/share/man/man3/al_voice_has_attachments.3alleg5.gz │ │ │ │ ├── al_voice_has_attachments.3alleg5 │ │ │ │ │ @@ -5,15 +5,14 @@ │ │ │ │ │ al_voice_has_attachments \- Allegro 5 API │ │ │ │ │ .SH SYNOPSIS │ │ │ │ │ .IP │ │ │ │ │ .EX │ │ │ │ │ #include │ │ │ │ │ │ │ │ │ │ bool al_voice_has_attachments(const ALLEGRO_VOICE* voice) │ │ │ │ │ -bool al_voice_has_attachments(const ALLEGRO_VOICE* voice) │ │ │ │ │ .EE │ │ │ │ │ .SH DESCRIPTION │ │ │ │ │ Returns true if the voice has something attached to it. │ │ │ │ │ .SH SEE ALSO │ │ │ │ │ al_attach_mixer_to_voice(3alleg5), │ │ │ │ │ al_attach_sample_instance_to_voice(3alleg5), │ │ │ │ │ al_attach_audio_stream_to_voice(3alleg5)