--- /srv/reproducible-results/rbuild-debian/r-b-build.jRfK6T8o/b1/allegro5_5.2.10.0+dfsg-1_armhf.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.jRfK6T8o/b2/allegro5_5.2.10.0+dfsg-1_armhf.changes ├── Files │ @@ -1,9 +1,9 @@ │ │ - 842276735772add159538503b952b0dc 1400460 doc optional allegro5-doc_5.2.10.0+dfsg-1_all.deb │ + 69d59a0374534355c57fdf3cb7eeb316 1399568 doc optional allegro5-doc_5.2.10.0+dfsg-1_all.deb │ 1ca042c5cff7c143735abdb2108502c5 19292 libdevel optional liballegro-acodec5-dev_5.2.10.0+dfsg-1_armhf.deb │ d75098adb08656ee37e875126b8ef6c5 63548 debug optional liballegro-acodec5.2t64-dbgsym_5.2.10.0+dfsg-1_armhf.deb │ b3444b74f449b0d2d0968c6f98d9d8d1 38316 libs optional liballegro-acodec5.2t64_5.2.10.0+dfsg-1_armhf.deb │ 942b5337e5a4567af50c6a3cffdf1c2a 22064 libdevel optional liballegro-audio5-dev_5.2.10.0+dfsg-1_armhf.deb │ 670da21d286751321cf7eb9838f57970 108676 debug optional liballegro-audio5.2t64-dbgsym_5.2.10.0+dfsg-1_armhf.deb │ 5345eb0eb80eb0b8a70b78b33eda65f7 56004 libs optional liballegro-audio5.2t64_5.2.10.0+dfsg-1_armhf.deb │ cdbbd2b7993ff22ef0677f5170a547c1 20344 libdevel optional liballegro-dialog5-dev_5.2.10.0+dfsg-1_armhf.deb │ @@ -17,10 +17,10 @@ │ 2af83466bbf42fc03ef249acde1689e1 22472 libs optional liballegro-physfs5.2t64_5.2.10.0+dfsg-1_armhf.deb │ 7d5585a995f96bb28be36cd17836aba6 19392 libdevel optional liballegro-ttf5-dev_5.2.10.0+dfsg-1_armhf.deb │ 6a9fd036e63bc5a5d77a276754bd1068 31568 debug optional liballegro-ttf5.2t64-dbgsym_5.2.10.0+dfsg-1_armhf.deb │ 8b4df2acdab20f5a9172b85396ef95fd 27184 libs optional liballegro-ttf5.2t64_5.2.10.0+dfsg-1_armhf.deb │ 1ea735e7afe76cd902769884361977d2 19672 libdevel optional liballegro-video5-dev_5.2.10.0+dfsg-1_armhf.deb │ c7b074f91451f7002bc4114ffe46cdda 39372 debug optional liballegro-video5.2t64-dbgsym_5.2.10.0+dfsg-1_armhf.deb │ 6ac2873064ed7e1d96e2012beb5bfeef 32140 libs optional liballegro-video5.2t64_5.2.10.0+dfsg-1_armhf.deb │ - 7d59372b8a6d81a57daab3e99641f1a9 116916 libdevel optional liballegro5-dev_5.2.10.0+dfsg-1_armhf.deb │ + 3c1c3e5056a10367e0601fbdfe81aba4 116912 libdevel optional liballegro5-dev_5.2.10.0+dfsg-1_armhf.deb │ e0927a72bfd89cc26f5e71d279642fcd 1233260 debug optional liballegro5.2t64-dbgsym_5.2.10.0+dfsg-1_armhf.deb │ 5448e52038c36d3813ecca2e0be48367 376444 libs optional liballegro5.2t64_5.2.10.0+dfsg-1_armhf.deb ├── allegro5-doc_5.2.10.0+dfsg-1_all.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2024-11-29 14:21:22.000000 debian-binary │ │ --rw-r--r-- 0 0 0 31660 2024-11-29 14:21:22.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 1368608 2024-11-29 14:21:22.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 31644 2024-11-29 14:21:22.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 1367732 2024-11-29 14:21:22.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./control │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ Package: allegro5-doc │ │ │ │ Source: allegro5 │ │ │ │ Version: 2:5.2.10.0+dfsg-1 │ │ │ │ Architecture: all │ │ │ │ Maintainer: Debian Games Team │ │ │ │ -Installed-Size: 5629 │ │ │ │ +Installed-Size: 5610 │ │ │ │ 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 │ │ │ │ @@ -204,59 +204,59 @@ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 11782 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/acodec.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 234053 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/audio.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 36350 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/autosuggest.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 66987 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/color.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 37788 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/config.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 17712 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/direct3d.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 89023 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/display.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 82072 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/events.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 62308 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/file.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 89026 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/display.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 81992 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/events.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 62299 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/file.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 56556 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/fixed.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 95359 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/font.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 93281 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/font.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 42369 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/fshook.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 13488 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/fullscreen_mode.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 17055 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/getting_started.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 224378 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/graphics.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 224317 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/graphics.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 69780 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/haptic.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 12423 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/image.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 12034 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/image.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/images/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 21480 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/images/LINE_CAP.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 15893 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/images/LINE_JOIN.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 65065 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/images/audio.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 16058 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/images/primitives1.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 25805 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/images/primitives2.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6773 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/index.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 110785 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/index_all.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 35289 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/joystick.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 24132 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/keyboard.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 9013 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/main.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 10521 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/memfile.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 24142 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/memory.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10382 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/memfile.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 24146 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/memory.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 10394 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/misc.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 15363 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/monitor.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 43913 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/mouse.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 80347 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/native_dialog.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 43910 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/mouse.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 74835 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/native_dialog.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 27233 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/opengl.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3973 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/pandoc.css │ │ │ │ -rw-r--r-- 0 root (0) root (0) 38119 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/path.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 11854 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/physfs.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 11716 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/physfs.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 31625 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/platform.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 145966 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/primitives.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 136387 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/primitives.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 72292 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/search_index.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 45920 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/shader.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 15871 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/state.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 72351 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/system.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 35452 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/threads.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 35476 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/threads.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 12633 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/time.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 26749 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/timer.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 22267 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/touch.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 82433 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/transformations.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 104512 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/utf8.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 31892 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/video.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 22271 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/touch.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 82410 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/transformations.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 104508 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/utf8.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 29995 2024-11-29 14:21:22.000000 ./usr/share/doc/allegro5-doc/refman/video.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-29 14:21:22.000000 ./usr/share/doc-base/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 300 2024-11-29 14:18:22.000000 ./usr/share/doc-base/allegro5-doc.allegro5 │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-29 14:21:22.000000 ./usr/share/man/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-29 14:21:22.000000 ./usr/share/man/man3/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 405 2024-11-29 14:21:22.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_DEPTH.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 254 2024-11-29 14:21:22.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_DEVICE.3alleg5.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 554 2024-11-29 14:21:22.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_EVENT_TYPE.3alleg5.gz │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/display.html │ │ │ │ @@ -350,17 +350,17 @@ │ │ │ │ Code

│ │ │ │

An opaque type representing an open display or window.

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_create_display

│ │ │ │
ALLEGRO_DISPLAY *al_create_display(int w, int h)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

Create a display, or window, with the specified dimensions. The │ │ │ │ @@ -580,15 +580,15 @@ │ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_get_new_display_option

│ │ │ │
int al_get_new_display_option(int option, int *importance)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

Retrieve an extra display setting which was previously set with documentation on │ │ │ │ events for a list of the events displays will generate.

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_get_backbuffer

│ │ │ │
ALLEGRO_BITMAP *al_get_backbuffer(ALLEGRO_DISPLAY *display)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

Return a special bitmap representing the back-buffer of the │ │ │ │ @@ -1037,35 +1037,35 @@ │ │ │ │

See also: al_get_display_height

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_get_display_height

│ │ │ │
int al_get_display_height(ALLEGRO_DISPLAY *display)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

Gets the height of the display. This is like SCREEN_H in Allegro │ │ │ │ 4.x.

│ │ │ │

See also: al_get_display_width

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_resize_display

│ │ │ │
bool al_resize_display(ALLEGRO_DISPLAY *display, int width, int height)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

Resize the display. Returns true on success, or false on error. This │ │ │ │ @@ -1121,17 +1121,17 @@ │ │ │ │

See also: al_set_window_position, │ │ │ │ al_get_window_borders

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_set_window_position

│ │ │ │
void al_set_window_position(ALLEGRO_DISPLAY *display, int x, int y)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

Sets the position on screen of a non-fullscreen display.

│ │ │ │ @@ -1140,17 +1140,17 @@ │ │ │ │ al_get_window_borders

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_get_window_borders

│ │ │ │
bool al_get_window_borders(ALLEGRO_DISPLAY *display, int *left, int *top, int *right, int *bottom)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

If that information is available returns TRUE and fills in the size │ │ │ │ @@ -1539,15 +1539,15 @@ │ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_acknowledge_drawing_resume

│ │ │ │
void al_acknowledge_drawing_resume(ALLEGRO_DISPLAY *display)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -130,16 +130,16 @@ │ │ │ │ │ ************ DDiissppllaayy ccrreeaattiioonn ************ │ │ │ │ │ ********** AALLLLEEGGRROO__DDIISSPPLLAAYY ********** │ │ │ │ │ typedef struct ALLEGRO_DISPLAY ALLEGRO_DISPLAY; │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ An opaque type representing an open display or window. │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___m_o_n_i_t_o_r_i_n_f_o_._c │ │ │ │ │ + * _c_o_m_m_o_n_._c │ │ │ │ │ * _e_x___d_3_d_._c_p_p │ │ │ │ │ - * _e_x___k_e_y_b_o_a_r_d___f_o_c_u_s_._c │ │ │ │ │ ********** aall__ccrreeaattee__ddiissppllaayy ********** │ │ │ │ │ ALLEGRO_DISPLAY *al_create_display(int w, int h) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Create a display, or window, with the specified dimensions. The parameters of │ │ │ │ │ the display are determined by the last calls to al_set_new_display_*. Default │ │ │ │ │ parameters are used if none are set explicitly. Creating a new display will │ │ │ │ │ automatically make it the active one, with the backbuffer selected for drawing. │ │ │ │ │ @@ -270,15 +270,15 @@ │ │ │ │ │ Since: 5.2.9 │ │ │ │ │ 0 can be used for default values. │ │ │ │ │ See also: _a_l___s_e_t___n_e_w___d_i_s_p_l_a_y___o_p_t_i_o_n, _a_l___g_e_t___d_i_s_p_l_a_y___o_p_t_i_o_n, │ │ │ │ │ _a_l___s_e_t___d_i_s_p_l_a_y___o_p_t_i_o_n │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___d_3_d_._c_p_p │ │ │ │ │ * _e_x___o_p_e_n_g_l_._c │ │ │ │ │ - * _e_x___o_p_e_n_g_l___p_i_x_e_l___s_h_a_d_e_r_._c │ │ │ │ │ + * _e_x___f_o_n_t___j_u_s_t_i_f_y_._c_p_p │ │ │ │ │ ********** aall__ggeett__nneeww__ddiissppllaayy__ooppttiioonn ********** │ │ │ │ │ int al_get_new_display_option(int option, int *importance) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Retrieve an extra display setting which was previously set with │ │ │ │ │ _a_l___s_e_t___n_e_w___d_i_s_p_l_a_y___o_p_t_i_o_n. │ │ │ │ │ ********** aall__sseett__nneeww__ddiissppllaayy__ooppttiioonn ********** │ │ │ │ │ void al_set_new_display_option(int option, int value, int importance) │ │ │ │ │ @@ -462,16 +462,16 @@ │ │ │ │ │ ********** aall__ggeett__ddiissppllaayy__eevveenntt__ssoouurrccee ********** │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_display_event_source(ALLEGRO_DISPLAY *display) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Retrieve the associated event source. See the _d_o_c_u_m_e_n_t_a_t_i_o_n_ _o_n_ _e_v_e_n_t_s for a │ │ │ │ │ list of the events displays will generate. │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___k_e_y_b_o_a_r_d___e_v_e_n_t_s_._c │ │ │ │ │ - * _e_x___o_p_e_n_g_l_._c │ │ │ │ │ * _e_x___t_o_u_c_h___i_n_p_u_t_._c │ │ │ │ │ + * _e_x___o_p_e_n_g_l_._c │ │ │ │ │ ********** aall__ggeett__bbaacckkbbuuffffeerr ********** │ │ │ │ │ ALLEGRO_BITMAP *al_get_backbuffer(ALLEGRO_DISPLAY *display) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Return a special bitmap representing the back-buffer of the display. │ │ │ │ │ Care should be taken when using the backbuffer bitmap (and its sub-bitmaps) as │ │ │ │ │ the source bitmap (e.g as the bitmap argument to _a_l___d_r_a_w___b_i_t_m_a_p). Only │ │ │ │ │ untransformed operations are hardware accelerated. These consist of │ │ │ │ │ @@ -538,25 +538,25 @@ │ │ │ │ │ ********** aall__ggeett__ddiissppllaayy__wwiiddtthh ********** │ │ │ │ │ int al_get_display_width(ALLEGRO_DISPLAY *display) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Gets the width of the display. This is like SCREEN_W in Allegro 4.x. │ │ │ │ │ See also: _a_l___g_e_t___d_i_s_p_l_a_y___h_e_i_g_h_t │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___f_o_n_t___j_u_s_t_i_f_y_._c_p_p │ │ │ │ │ - * _e_x___b_i_t_m_a_p_._c │ │ │ │ │ - * _e_x___o_g_r_e_3_d_._c_p_p │ │ │ │ │ + * _e_x___w_i_n_d_o_w___m_a_x_i_m_i_z_e_d_._c │ │ │ │ │ + * _e_x___f_s___r_e_s_i_z_e_._c │ │ │ │ │ ********** aall__ggeett__ddiissppllaayy__hheeiigghhtt ********** │ │ │ │ │ int al_get_display_height(ALLEGRO_DISPLAY *display) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Gets the height of the display. This is like SCREEN_H in Allegro 4.x. │ │ │ │ │ See also: _a_l___g_e_t___d_i_s_p_l_a_y___w_i_d_t_h │ │ │ │ │ Examples: │ │ │ │ │ - * _e_x___o_g_r_e_3_d_._c_p_p │ │ │ │ │ - * _e_x___f_s___r_e_s_i_z_e_._c │ │ │ │ │ * _e_x___w_i_n_d_o_w___m_a_x_i_m_i_z_e_d_._c │ │ │ │ │ + * _e_x___f_s___r_e_s_i_z_e_._c │ │ │ │ │ + * _e_x___o_g_r_e_3_d_._c_p_p │ │ │ │ │ ********** aall__rreessiizzee__ddiissppllaayy ********** │ │ │ │ │ bool al_resize_display(ALLEGRO_DISPLAY *display, int width, int height) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Resize the display. Returns true on success, or false on error. This works on │ │ │ │ │ both fullscreen and windowed displays, regardless of the ALLEGRO_RESIZABLE │ │ │ │ │ flag. │ │ │ │ │ Adjusts the clipping rectangle to the full size of the backbuffer. │ │ │ │ │ @@ -583,25 +583,25 @@ │ │ │ │ │ * _e_x___d_i_s_p_l_a_y___e_v_e_n_t_s_._c │ │ │ │ │ ********** aall__ggeett__wwiinnddooww__ppoossiittiioonn ********** │ │ │ │ │ void al_get_window_position(ALLEGRO_DISPLAY *display, int *x, int *y) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Gets the position of a non-fullscreen display. │ │ │ │ │ See also: _a_l___s_e_t___w_i_n_d_o_w___p_o_s_i_t_i_o_n, _a_l___g_e_t___w_i_n_d_o_w___b_o_r_d_e_r_s │ │ │ │ │ Examples: │ │ │ │ │ - * _e_x___w_i_n_d_o_w_s_._c │ │ │ │ │ * _e_x___m_u_l_t_i_s_a_m_p_l_e_._c │ │ │ │ │ + * _e_x___w_i_n_d_o_w_s_._c │ │ │ │ │ ********** aall__sseett__wwiinnddooww__ppoossiittiioonn ********** │ │ │ │ │ void al_set_window_position(ALLEGRO_DISPLAY *display, int x, int y) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Sets the position on screen of a non-fullscreen display. │ │ │ │ │ See also: _a_l___g_e_t___w_i_n_d_o_w___p_o_s_i_t_i_o_n, _a_l___g_e_t___w_i_n_d_o_w___b_o_r_d_e_r_s │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___n_o_f_r_a_m_e_._c │ │ │ │ │ - * _e_x___w_i_n_d_o_w_s_._c │ │ │ │ │ * _e_x___m_u_l_t_i_s_a_m_p_l_e_._c │ │ │ │ │ + * _e_x___w_i_n_d_o_w_s_._c │ │ │ │ │ ********** aall__ggeett__wwiinnddooww__bboorrddeerrss ********** │ │ │ │ │ bool al_get_window_borders(ALLEGRO_DISPLAY *display, int *left, int *top, int │ │ │ │ │ *right, int *bottom) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ If that information is available returns TRUE and fills in the size of the │ │ │ │ │ window borders. You can pass NULL for borders you do not want to retrieve. │ │ │ │ │ If the border information is not available returns FALSE. │ │ │ │ │ @@ -823,15 +823,15 @@ │ │ │ │ │ the operating system know that you have stopped drawing or if you call it to │ │ │ │ │ late the application likely will be considered misbehaving and get terminated. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: _A_L_L_E_G_R_O___E_V_E_N_T___D_I_S_P_L_A_Y___H_A_L_T___D_R_A_W_I_N_G │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___t_o_u_c_h___i_n_p_u_t_._c │ │ │ │ │ * _e_x___r_e_s_i_z_e_2_._c │ │ │ │ │ - * _e_x___a_n_d_r_o_i_d_._c │ │ │ │ │ + * _e_x___v_e_r_t_e_x___b_u_f_f_e_r_._c │ │ │ │ │ ********** aall__aacckknnoowwlleeddggee__ddrraawwiinngg__rreessuummee ********** │ │ │ │ │ void al_acknowledge_drawing_resume(ALLEGRO_DISPLAY *display) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Call this in response to the _A_L_L_E_G_R_O___E_V_E_N_T___D_I_S_P_L_A_Y___R_E_S_U_M_E___D_R_A_W_I_N_G event. │ │ │ │ │ Since: 5.1.1 │ │ │ │ │ See also: _A_L_L_E_G_R_O___E_V_E_N_T___D_I_S_P_L_A_Y___R_E_S_U_M_E___D_R_A_W_I_N_G │ │ │ │ │ Examples: │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/events.html │ │ │ │ @@ -347,19 +347,19 @@ │ │ │ │ The time is referenced to the same starting point as al_get_time.

│ │ │ │

Each event is of one of the following types, with the usable fields │ │ │ │ given.

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

ALLEGRO_EVENT_JOYSTICK_AXIS

│ │ │ │

A joystick axis value changed.

│ │ │ │
│ │ │ │
joystick.id (ALLEGRO_JOYSTICK *)
│ │ │ │
│ │ │ │ The joystick which generated the event. This is not the same as the │ │ │ │ @@ -1078,19 +1078,19 @@ │ │ │ │ order.

│ │ │ │

See also: al_create_event_queue, al_destroy_event_queue

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

ALLEGRO_EVENT_SOURCE

│ │ │ │
typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE;
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

An event source is any object which can generate events. For example, │ │ │ │ @@ -1173,19 +1173,19 @@ │ │ │ │

See also: al_register_event_source, │ │ │ │ al_destroy_event_queue, │ │ │ │ ALLEGRO_EVENT_QUEUE

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_destroy_event_queue

│ │ │ │
void al_destroy_event_queue(ALLEGRO_EVENT_QUEUE *queue)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

Destroy the event queue specified. All event sources currently │ │ │ │ @@ -1195,19 +1195,19 @@ │ │ │ │ 5.2.9)

│ │ │ │

See also: al_create_event_queue, ALLEGRO_EVENT_QUEUE

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_register_event_source

│ │ │ │
void al_register_event_source(ALLEGRO_EVENT_QUEUE *queue,
│ │ │ │     ALLEGRO_EVENT_SOURCE *source)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │ @@ -1217,19 +1217,19 @@ │ │ │ │ more than once does nothing.

│ │ │ │

See also: al_unregister_event_source, │ │ │ │ ALLEGRO_EVENT_SOURCE

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_unregister_event_source

│ │ │ │
void al_unregister_event_source(ALLEGRO_EVENT_QUEUE *queue,
│ │ │ │     ALLEGRO_EVENT_SOURCE *source)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │ @@ -1289,17 +1289,17 @@ │ │ │ │ href="events.html#al_get_next_event">al_get_next_event, al_peek_next_event

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_get_next_event

│ │ │ │
bool al_get_next_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

Take the next event out of the event queue specified, and copy the │ │ │ │ @@ -1369,19 +1369,19 @@ │ │ │ │ href="events.html#al_wait_for_event_timed">al_wait_for_event_timed, │ │ │ │ al_wait_for_event_until, │ │ │ │ al_get_next_event

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

al_wait_for_event_timed

│ │ │ │
bool al_wait_for_event_timed(ALLEGRO_EVENT_QUEUE *queue,
│ │ │ │     ALLEGRO_EVENT *ret_event, float secs)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -134,17 +134,17 @@ │ │ │ │ │ When the event was generated. │ │ │ │ │ By examining the type field you can then access type-specific fields. The │ │ │ │ │ any.source field tells you which event source generated that particular event. │ │ │ │ │ The any.timestamp field tells you when the event was generated. The time is │ │ │ │ │ referenced to the same starting point as _a_l___g_e_t___t_i_m_e. │ │ │ │ │ Each event is of one of the following types, with the usable fields given. │ │ │ │ │ Examples: │ │ │ │ │ + * _c_o_m_m_o_n_._c │ │ │ │ │ * _e_x___i_n_j_e_c_t___e_v_e_n_t_s_._c │ │ │ │ │ * _e_x___e_n_e_t___s_e_r_v_e_r_._c │ │ │ │ │ - * _e_x___t_i_m_e_r___p_a_u_s_e_._c │ │ │ │ │ ********** AALLLLEEGGRROO__EEVVEENNTT__JJOOYYSSTTIICCKK__AAXXIISS ********** │ │ │ │ │ A joystick axis value changed. │ │ │ │ │ joystick.id (ALLEGRO_JOYSTICK *) │ │ │ │ │ The joystick which generated the event. This is not the same as the event │ │ │ │ │ source joystick.source. │ │ │ │ │ joystick.stick (int) │ │ │ │ │ The stick number, counting from zero. Axes on a joystick are grouped into │ │ │ │ │ @@ -537,17 +537,17 @@ │ │ │ │ │ typedef struct ALLEGRO_EVENT_QUEUE ALLEGRO_EVENT_QUEUE; │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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. │ │ │ │ │ See also: _a_l___c_r_e_a_t_e___e_v_e_n_t___q_u_e_u_e, _a_l___d_e_s_t_r_o_y___e_v_e_n_t___q_u_e_u_e │ │ │ │ │ Examples: │ │ │ │ │ + * _c_o_m_m_o_n_._c │ │ │ │ │ * _e_x___i_n_j_e_c_t___e_v_e_n_t_s_._c │ │ │ │ │ * _e_x___e_n_e_t___s_e_r_v_e_r_._c │ │ │ │ │ - * _e_x___t_i_m_e_r___p_a_u_s_e_._c │ │ │ │ │ ************ AALLLLEEGGRROO__EEVVEENNTT__SSOOUURRCCEE ************ │ │ │ │ │ typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE; │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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 _a_l___g_e_t___d_i_s_p_l_a_y___e_v_e_n_t___s_o_u_r_c_e. │ │ │ │ │ You may create your own “user” event sources that emit custom events. │ │ │ │ │ @@ -599,41 +599,41 @@ │ │ │ │ │ ************ aall__ccrreeaattee__eevveenntt__qquueeuuee ************ │ │ │ │ │ ALLEGRO_EVENT_QUEUE *al_create_event_queue(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Create a new, empty event queue, returning a pointer to the newly created │ │ │ │ │ object if successful. Returns NULL on error. │ │ │ │ │ See also: _a_l___r_e_g_i_s_t_e_r___e_v_e_n_t___s_o_u_r_c_e, _a_l___d_e_s_t_r_o_y___e_v_e_n_t___q_u_e_u_e, _A_L_L_E_G_R_O___E_V_E_N_T___Q_U_E_U_E │ │ │ │ │ Examples: │ │ │ │ │ + * _c_o_m_m_o_n_._c │ │ │ │ │ * _e_x___i_n_j_e_c_t___e_v_e_n_t_s_._c │ │ │ │ │ * _e_x___e_n_e_t___s_e_r_v_e_r_._c │ │ │ │ │ - * _e_x___t_i_m_e_r___p_a_u_s_e_._c │ │ │ │ │ ************ aall__ddeessttrrooyy__eevveenntt__qquueeuuee ************ │ │ │ │ │ void al_destroy_event_queue(ALLEGRO_EVENT_QUEUE *queue) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Destroy the event queue specified. All event sources currently registered with │ │ │ │ │ the queue will be automatically unregistered before the queue is destroyed. │ │ │ │ │ This function does nothing if queue is NULL. (since 5.2.9) │ │ │ │ │ See also: _a_l___c_r_e_a_t_e___e_v_e_n_t___q_u_e_u_e, _A_L_L_E_G_R_O___E_V_E_N_T___Q_U_E_U_E │ │ │ │ │ Examples: │ │ │ │ │ + * _c_o_m_m_o_n_._c │ │ │ │ │ * _e_x___i_n_j_e_c_t___e_v_e_n_t_s_._c │ │ │ │ │ * _e_x___t_i_m_e_r___p_a_u_s_e_._c │ │ │ │ │ - * _c_o_m_m_o_n_._c │ │ │ │ │ ************ aall__rreeggiisstteerr__eevveenntt__ssoouurrccee ************ │ │ │ │ │ void al_register_event_source(ALLEGRO_EVENT_QUEUE *queue, │ │ │ │ │ ALLEGRO_EVENT_SOURCE *source) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Register the event source with the event queue specified. An event source may │ │ │ │ │ be registered with any number of event queues simultaneously, or none. Trying │ │ │ │ │ to register an event source with the same event queue more than once does │ │ │ │ │ nothing. │ │ │ │ │ See also: _a_l___u_n_r_e_g_i_s_t_e_r___e_v_e_n_t___s_o_u_r_c_e, _A_L_L_E_G_R_O___E_V_E_N_T___S_O_U_R_C_E │ │ │ │ │ Examples: │ │ │ │ │ + * _c_o_m_m_o_n_._c │ │ │ │ │ * _e_x___i_n_j_e_c_t___e_v_e_n_t_s_._c │ │ │ │ │ * _e_x___e_n_e_t___s_e_r_v_e_r_._c │ │ │ │ │ - * _e_x___t_i_m_e_r___p_a_u_s_e_._c │ │ │ │ │ ************ aall__uunnrreeggiisstteerr__eevveenntt__ssoouurrccee ************ │ │ │ │ │ void al_unregister_event_source(ALLEGRO_EVENT_QUEUE *queue, │ │ │ │ │ ALLEGRO_EVENT_SOURCE *source) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Unregister an event source with an event queue. If the event source is not │ │ │ │ │ actually registered with the event queue, nothing happens. │ │ │ │ │ If the queue had any events in it which originated from the event source, they │ │ │ │ │ @@ -668,16 +668,16 @@ │ │ │ │ │ ************ aall__iiss__eevveenntt__qquueeuuee__eemmppttyy ************ │ │ │ │ │ bool al_is_event_queue_empty(ALLEGRO_EVENT_QUEUE *queue) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Return true if the event queue specified is currently empty. │ │ │ │ │ See also: _a_l___g_e_t___n_e_x_t___e_v_e_n_t, _a_l___p_e_e_k___n_e_x_t___e_v_e_n_t │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___i_n_j_e_c_t___e_v_e_n_t_s_._c │ │ │ │ │ - * _e_x___o_p_e_n_g_l_._c │ │ │ │ │ * _e_x___t_o_u_c_h___i_n_p_u_t_._c │ │ │ │ │ + * _e_x___o_p_e_n_g_l_._c │ │ │ │ │ ************ aall__ggeett__nneexxtt__eevveenntt ************ │ │ │ │ │ bool al_get_next_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Take the next event out of the event queue specified, and copy the contents │ │ │ │ │ into ret_event, returning true. The original event will be removed from the │ │ │ │ │ queue. If the event queue is empty, return false and the contents of ret_event │ │ │ │ │ are unspecified. │ │ │ │ │ @@ -712,17 +712,17 @@ │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Wait until the event queue specified is non-empty. If ret_event is not NULL, │ │ │ │ │ the first event in the queue will be copied into ret_event and removed from the │ │ │ │ │ queue. If ret_event is NULL the first event is left at the head of the queue. │ │ │ │ │ See also: _A_L_L_E_G_R_O___E_V_E_N_T, _a_l___w_a_i_t___f_o_r___e_v_e_n_t___t_i_m_e_d, _a_l___w_a_i_t___f_o_r___e_v_e_n_t___u_n_t_i_l, │ │ │ │ │ _a_l___g_e_t___n_e_x_t___e_v_e_n_t │ │ │ │ │ Examples: │ │ │ │ │ + * _c_o_m_m_o_n_._c │ │ │ │ │ * _e_x___i_n_j_e_c_t___e_v_e_n_t_s_._c │ │ │ │ │ * _e_x___e_n_e_t___s_e_r_v_e_r_._c │ │ │ │ │ - * _e_x___t_i_m_e_r___p_a_u_s_e_._c │ │ │ │ │ ************ aall__wwaaiitt__ffoorr__eevveenntt__ttiimmeedd ************ │ │ │ │ │ bool al_wait_for_event_timed(ALLEGRO_EVENT_QUEUE *queue, │ │ │ │ │ ALLEGRO_EVENT *ret_event, float secs) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Wait until the event queue specified is non-empty. If ret_event is not NULL, │ │ │ │ │ the first event in the queue will be copied into ret_event and removed from the │ │ │ │ │ queue. If ret_event is NULL the first event is left at the head of the queue. │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/file.html │ │ │ │ @@ -247,17 +247,17 @@ │ │ │ │

An opaque object representing an open file. This could be a real file │ │ │ │ on disk or a virtual file.

│ │ │ │

Examples:

│ │ │ │ │ │ │ │

ALLEGRO_FILE_INTERFACE

│ │ │ │
typedef struct ALLEGRO_FILE_INTERFACE
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

A structure containing function pointers to handle a type of “file”, │ │ │ │ @@ -345,15 +345,15 @@ │ │ │ │

Examples:

│ │ │ │
    │ │ │ │
  • ex_file.c
  • │ │ │ │
  • ex_file_slice.c
  • │ │ │ │
  • ex_bitmap_file.c
  • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_physfs.c#L146">ex_physfs.c │ │ │ │
│ │ │ │

al_fopen_interface

│ │ │ │
ALLEGRO_FILE *al_fopen_interface(const ALLEGRO_FILE_INTERFACE *drv,
│ │ │ │     const char *path, const char *mode)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -90,16 +90,16 @@ │ │ │ │ │ ************ AALLLLEEGGRROO__FFIILLEE ************ │ │ │ │ │ typedef struct ALLEGRO_FILE ALLEGRO_FILE; │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ An opaque object representing an open file. This could be a real file on disk │ │ │ │ │ or a virtual file. │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___f_i_l_e_._c │ │ │ │ │ - * _e_x___d_i_r_._c │ │ │ │ │ * _e_x___m_e_m_f_i_l_e_._c │ │ │ │ │ + * _e_x___d_i_r_._c │ │ │ │ │ ************ AALLLLEEGGRROO__FFIILLEE__IINNTTEERRFFAACCEE ************ │ │ │ │ │ typedef struct ALLEGRO_FILE_INTERFACE │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ A structure containing function pointers to handle a type of “file”, real or │ │ │ │ │ virtual. See the full discussion in _a_l___s_e_t___n_e_w___f_i_l_e___i_n_t_e_r_f_a_c_e. │ │ │ │ │ The fields are: │ │ │ │ │ void* (*fi_fopen)(const char *path, const char *mode); │ │ │ │ │ @@ -156,15 +156,15 @@ │ │ │ │ │ files. To avoid this behaviour you need to open file streams in binary mode by │ │ │ │ │ using a mode argument containing a “b”, e.g. “rb”, “wb”. │ │ │ │ │ Returns a file handle on success, or NULL on error. │ │ │ │ │ See also: _a_l___s_e_t___n_e_w___f_i_l_e___i_n_t_e_r_f_a_c_e, _a_l___f_c_l_o_s_e. │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___f_i_l_e_._c │ │ │ │ │ * _e_x___f_i_l_e___s_l_i_c_e_._c │ │ │ │ │ - * _e_x___b_i_t_m_a_p___f_i_l_e_._c │ │ │ │ │ + * _e_x___p_h_y_s_f_s_._c │ │ │ │ │ ************ aall__ffooppeenn__iinntteerrffaaccee ************ │ │ │ │ │ ALLEGRO_FILE *al_fopen_interface(const ALLEGRO_FILE_INTERFACE *drv, │ │ │ │ │ const char *path, const char *mode) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Opens a file using the specified interface, instead of the interface set with │ │ │ │ │ _a_l___s_e_t___n_e_w___f_i_l_e___i_n_t_e_r_f_a_c_e. │ │ │ │ │ See also: _a_l___f_o_p_e_n │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/font.html │ │ │ │ @@ -297,18 +297,18 @@ │ │ │ │ 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;
│ │ │ │

Source │ │ │ │ Code

│ │ │ │ @@ -364,18 +364,18 @@ │ │ │ │

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)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │ @@ -428,19 +428,19 @@ │ │ │ │ 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))
│ │ │ │

Source │ │ │ │ Code

│ │ │ │ @@ -526,18 +526,18 @@ │ │ │ │

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)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │ @@ -774,19 +774,14 @@ │ │ │ │ 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)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

Retrieves the fallback font for this font or NULL.

│ │ │ │

Since: 5.1.12

│ │ │ │ @@ -903,19 +898,14 @@ │ │ │ │ | | * *| │ │ │ │ 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)
│ │ │ │

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 │ │ │ │ @@ -977,21 +967,14 @@ │ │ │ │ / \ | │ │ │ │ / \ \_ │ │ │ │ --------------- │ │ │ │

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)
│ │ │ │

Source │ │ │ │ @@ -1038,21 +1021,14 @@ │ │ │ │ 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)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │ @@ -1077,19 +1053,14 @@ │ │ │ │ href="font.html#al_draw_multiline_text">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)
│ │ │ │

Source │ │ │ │ @@ -1124,19 +1095,14 @@ │ │ │ │ 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)
│ │ │ │

Source │ │ │ │ @@ -1300,23 +1266,14 @@ │ │ │ │ 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)
│ │ │ │

Source │ │ │ │ Code

│ │ │ │

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

│ │ │ │ @@ -1358,23 +1315,14 @@ │ │ │ │
  • 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Like al_load_ttf_font, but │ │ │ │ @@ -1444,21 +1392,14 @@ │ │ │ │ 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: 2024-11-29 14:21:22 UTC │ │ │ │

    │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -104,16 +104,16 @@ │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ A handle identifying any kind of font. Usually you will create it with │ │ │ │ │ _a_l___l_o_a_d___f_o_n_t 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 _a_l___l_o_a_d___b_i_t_m_a_p and a font in Allegro’s bitmap font format │ │ │ │ │ will be created from it with _a_l___g_r_a_b___f_o_n_t___f_r_o_m___b_i_t_m_a_p. │ │ │ │ │ Examples: │ │ │ │ │ - * _e_x___d_i_s_a_b_l_e___s_c_r_e_e_n_s_a_v_e_r_._c │ │ │ │ │ * _e_x___f_o_n_t___j_u_s_t_i_f_y_._c_p_p │ │ │ │ │ + * _e_x___d_i_s_a_b_l_e___s_c_r_e_e_n_s_a_v_e_r_._c │ │ │ │ │ * _e_x___t_i_m_e_d_w_a_i_t_._c │ │ │ │ │ ********** AALLLLEEGGRROO__GGLLYYPPHH ********** │ │ │ │ │ typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH; │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ A structure containing the properties of a character in a font. │ │ │ │ │ typedef struct ALLEGRO_GLYPH { │ │ │ │ │ ALLEGRO_BITMAP *bitmap; // the bitmap the character is on │ │ │ │ │ @@ -151,16 +151,16 @@ │ │ │ │ │ _a_l___i_n_i_t___t_t_f___a_d_d_o_n. │ │ │ │ │ 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: _a_l___i_n_i_t___i_m_a_g_e___a_d_d_o_n, _a_l___i_n_i_t___t_t_f___a_d_d_o_n, _a_l___s_h_u_t_d_o_w_n___f_o_n_t___a_d_d_o_n │ │ │ │ │ Examples: │ │ │ │ │ - * _e_x___d_i_s_a_b_l_e___s_c_r_e_e_n_s_a_v_e_r_._c │ │ │ │ │ * _e_x___f_o_n_t___j_u_s_t_i_f_y_._c_p_p │ │ │ │ │ + * _e_x___d_i_s_a_b_l_e___s_c_r_e_e_n_s_a_v_e_r_._c │ │ │ │ │ * _e_x___t_i_m_e_d_w_a_i_t_._c │ │ │ │ │ ********** aall__iiss__ffoonntt__aaddddoonn__iinniittiiaalliizzeedd ********** │ │ │ │ │ bool al_is_font_addon_initialized(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Returns true if the font addon is initialized, otherwise returns false. │ │ │ │ │ Since: 5.2.6 │ │ │ │ │ See also: _a_l___i_n_i_t___f_o_n_t___a_d_d_o_n, _a_l___s_h_u_t_d_o_w_n___f_o_n_t___a_d_d_o_n │ │ │ │ │ @@ -186,17 +186,17 @@ │ │ │ │ │ * _e_x___w_i_n_d_o_w___t_i_t_l_e_._c │ │ │ │ │ ********** aall__ddeessttrrooyy__ffoonntt ********** │ │ │ │ │ void al_destroy_font(ALLEGRO_FONT *f) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Frees the memory being used by a font structure. Does nothing if passed NULL. │ │ │ │ │ See also: _a_l___l_o_a_d___f_o_n_t │ │ │ │ │ Examples: │ │ │ │ │ - * _e_x___d_i_s_a_b_l_e___s_c_r_e_e_n_s_a_v_e_r_._c │ │ │ │ │ * _e_x___f_o_n_t___j_u_s_t_i_f_y_._c_p_p │ │ │ │ │ - * _e_x___c_p_u_._c │ │ │ │ │ + * _e_x___d_i_s_a_b_l_e___s_c_r_e_e_n_s_a_v_e_r_._c │ │ │ │ │ + * _e_x___t_i_m_e_r_._c │ │ │ │ │ ********** aall__rreeggiisstteerr__ffoonntt__llooaaddeerr ********** │ │ │ │ │ bool al_register_font_loader(char const *extension, │ │ │ │ │ ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags)) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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 │ │ │ │ │ @@ -246,16 +246,16 @@ │ │ │ │ │ * _e_x___t_t_f_._c │ │ │ │ │ ********** aall__ggeett__tteexxtt__wwiiddtthh ********** │ │ │ │ │ int al_get_text_width(const ALLEGRO_FONT *f, const char *str) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Calculates the length of a string in a particular font, in pixels. │ │ │ │ │ See also: _a_l___g_e_t___u_s_t_r___w_i_d_t_h, _a_l___g_e_t___f_o_n_t___l_i_n_e___h_e_i_g_h_t, _a_l___g_e_t___t_e_x_t___d_i_m_e_n_s_i_o_n_s │ │ │ │ │ Examples: │ │ │ │ │ - * _e_x___d_i_s_p_l_a_y___o_p_t_i_o_n_s_._c │ │ │ │ │ * _e_x___r_e_c_o_r_d___n_a_m_e_._c │ │ │ │ │ + * _e_x___d_i_s_p_l_a_y___o_p_t_i_o_n_s_._c │ │ │ │ │ * _e_x___c_o_l_o_r___g_r_a_d_i_e_n_t_._c │ │ │ │ │ ********** aall__ggeett__uussttrr__wwiiddtthh ********** │ │ │ │ │ int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Like _a_l___g_e_t___t_e_x_t___w_i_d_t_h but expects an ALLEGRO_USTR. │ │ │ │ │ See also: _a_l___g_e_t___t_e_x_t___w_i_d_t_h, _a_l___g_e_t___u_s_t_r___d_i_m_e_n_s_i_o_n_s │ │ │ │ │ Examples: │ │ │ │ │ @@ -386,16 +386,14 @@ │ │ │ │ │ void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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: _a_l___g_e_t___f_a_l_l_b_a_c_k___f_o_n_t, _a_l___d_r_a_w___g_l_y_p_h, _a_l___d_r_a_w___t_e_x_t │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___t_t_f_._c │ │ │ │ │ ********** aall__ggeett__ffaallllbbaacckk__ffoonntt ********** │ │ │ │ │ ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Retrieves the fallback font for this font or NULL. │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ See also: _a_l___s_e_t___f_a_l_l_b_a_c_k___f_o_n_t │ │ │ │ │ ************ PPeerr ggllyypphh tteexxtt hhaannddlliinngg ************ │ │ │ │ │ @@ -479,16 +477,14 @@ │ │ │ │ │ +---+--------+ | | ***** | │ │ │ │ │ | | *| │ │ │ │ │ | | * *| │ │ │ │ │ v | **** | │ │ │ │ │ +---+-------+ │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ See also: _a_l___d_r_a_w___g_l_y_p_h, _a_l___g_e_t___g_l_y_p_h___w_i_d_t_h, _a_l___g_e_t___g_l_y_p_h___a_d_v_a_n_c_e. │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___t_t_f_._c │ │ │ │ │ ********** aall__ggeett__ggllyypphh__aaddvvaannccee ********** │ │ │ │ │ int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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 │ │ │ │ │ @@ -540,17 +536,14 @@ │ │ │ │ │ / \ | │ │ │ │ │ /____\ | │ │ │ │ │ / \ | │ │ │ │ │ / \ \_ │ │ │ │ │ --------------- │ │ │ │ │ Since: 5.1.12 │ │ │ │ │ See also: _a_l___d_r_a_w___g_l_y_p_h, _a_l___g_e_t___g_l_y_p_h___w_i_d_t_h, _a_l___g_e_t___g_l_y_p_h___d_i_m_e_n_s_i_o_n_s. │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___f_o_n_t_._c │ │ │ │ │ - * _e_x___t_t_f_._c │ │ │ │ │ ************ MMuullttiilliinnee tteexxtt ddrraawwiinngg ************ │ │ │ │ │ ********** aall__ddrraaww__mmuullttiilliinnee__tteexxtt ********** │ │ │ │ │ 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) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Like _a_l___d_r_a_w___t_e_x_t, but this function supports drawing multiple lines of text. │ │ │ │ │ @@ -577,17 +570,14 @@ │ │ │ │ │ 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 │ │ │ │ │ _a_l___d_o___m_u_l_t_i_l_i_n_e___t_e_x_t. │ │ │ │ │ Since: 5.1.9 │ │ │ │ │ See also: _a_l___d_o___m_u_l_t_i_l_i_n_e___t_e_x_t, _a_l___d_r_a_w___m_u_l_t_i_l_i_n_e___u_s_t_r, _a_l___d_r_a_w___m_u_l_t_i_l_i_n_e___t_e_x_t_f │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___f_o_n_t___m_u_l_t_i_l_i_n_e_._c_p_p │ │ │ │ │ - * _e_x___r_e_s_i_z_e_2_._c │ │ │ │ │ ********** aall__ddrraaww__mmuullttiilliinnee__uussttrr ********** │ │ │ │ │ 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) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Like _a_l___d_r_a_w___m_u_l_t_i_l_i_n_e___t_e_x_t, except the text is passed as an ALLEGRO_USTR │ │ │ │ │ instead of a NUL-terminated char array. │ │ │ │ │ @@ -598,16 +588,14 @@ │ │ │ │ │ ALLEGRO_COLOR color, float x, float y, float max_width, float line_height, │ │ │ │ │ int flags, const char *format, ...) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Formatted text output, using a printf() style format string. All parameters │ │ │ │ │ have the same meaning as with _a_l___d_r_a_w___m_u_l_t_i_l_i_n_e___t_e_x_t otherwise. │ │ │ │ │ Since: 5.1.9 │ │ │ │ │ See also: _a_l___d_r_a_w___m_u_l_t_i_l_i_n_e___t_e_x_t, _a_l___d_r_a_w___m_u_l_t_i_l_i_n_e___u_s_t_r, _a_l___d_o___m_u_l_t_i_l_i_n_e___t_e_x_t │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___r_e_s_i_z_e_2_._c │ │ │ │ │ ********** aall__ddoo__mmuullttiilliinnee__tteexxtt ********** │ │ │ │ │ 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) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ This function processes the text and splits it into lines as │ │ │ │ │ @@ -627,16 +615,14 @@ │ │ │ │ │ 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 nnoott │ │ │ │ │ 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: _a_l___d_r_a_w___m_u_l_t_i_l_i_n_e___t_e_x_t │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___f_o_n_t___m_u_l_t_i_l_i_n_e_._c_p_p │ │ │ │ │ ********** aall__ddoo__mmuullttiilliinnee__uussttrr ********** │ │ │ │ │ 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) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Like _a_l___d_o___m_u_l_t_i_l_i_n_e___t_e_x_t, but using ALLEGRO_USTR instead of a NUL-terminated │ │ │ │ │ @@ -744,18 +730,14 @@ │ │ │ │ │ #include │ │ │ │ │ ********** aall__iinniitt__ttttff__aaddddoonn ********** │ │ │ │ │ bool al_init_ttf_addon(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Call this after _a_l___i_n_i_t___f_o_n_t___a_d_d_o_n to make _a_l___l_o_a_d___f_o_n_t recognize “.ttf” and │ │ │ │ │ other formats supported by _a_l___l_o_a_d___t_t_f___f_o_n_t. │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___f_o_n_t___j_u_s_t_i_f_y_._c_p_p │ │ │ │ │ - * _e_x___f_o_n_t___m_u_l_t_i_l_i_n_e_._c_p_p │ │ │ │ │ - * _e_x___c_o_l_o_r_._c_p_p │ │ │ │ │ ********** aall__iiss__ttttff__aaddddoonn__iinniittiiaalliizzeedd ********** │ │ │ │ │ bool al_is_ttf_addon_initialized(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Returns true if the TTF addon is initialized, otherwise returns false. │ │ │ │ │ Since: 5.2.6 │ │ │ │ │ See also: _a_l___i_n_i_t___t_t_f___a_d_d_o_n, _a_l___s_h_u_t_d_o_w_n___t_t_f___a_d_d_o_n │ │ │ │ │ ********** aall__sshhuuttddoowwnn__ttttff__aaddddoonn ********** │ │ │ │ │ @@ -778,18 +760,14 @@ │ │ │ │ │ * 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: _a_l___i_n_i_t___t_t_f___a_d_d_o_n, _a_l___l_o_a_d___t_t_f___f_o_n_t___f │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___b_i_t_m_a_p___f_l_i_p_._c │ │ │ │ │ - * _e_x___s_y_n_t_h_._c_p_p │ │ │ │ │ - * _e_x___a_u_d_i_o___c_h_a_i_n_._c_p_p │ │ │ │ │ ********** aall__llooaadd__ttttff__ffoonntt__ff ********** │ │ │ │ │ ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file, │ │ │ │ │ char const *filename, int size, int flags) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Like _a_l___l_o_a_d___t_t_f___f_o_n_t, but the font is read from the file handle. The filename │ │ │ │ │ is only used to find possible additional files next to a font file. │ │ │ │ │ NNoottee:: The file handle is owned by the returned ALLEGRO_FONT object │ │ │ │ │ @@ -834,11 +812,8 @@ │ │ │ │ │ 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 │ │ │ │ │ _UU_nn_ss_tt_aa_bb_ll_ee_ _AA_PP_II:: This API is new and subject to refinement. │ │ │ │ │ See also: _A_L_L_E_G_R_O___G_L_Y_P_H │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___f_o_n_t_._c │ │ │ │ │ - * _e_x___t_t_f_._c │ │ │ │ │ Allegro version 5.2.10 - Last updated: 2024-11-29 14:21:22 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/graphics.html │ │ │ │ @@ -499,15 +499,15 @@ │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_map_rgba

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

    Source │ │ │ │ Code

    │ │ │ │ @@ -719,15 +719,15 @@ │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    ALLEGRO_PIXEL_FORMAT

    │ │ │ │
    typedef enum ALLEGRO_PIXEL_FORMAT
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Pixel formats. Each pixel format specifies the exact size and bit │ │ │ │ @@ -845,15 +845,15 @@ │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_convert.c
    • │ │ │ │
    • ex_drawpixels.c
    • │ │ │ │
    • ex_lockbitmap.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_pixelformat.cpp#L23">ex_pixelformat.cpp │ │ │ │
    │ │ │ │

    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. │ │ │ │ @@ -1095,15 +1095,15 @@ │ │ │ │

    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 │ │ │ │ @@ -1231,15 +1231,15 @@ │ │ │ │

    Examples:

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

    al_convert_bitmap

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

    Source │ │ │ │ Code

    │ │ │ │

    Converts the bitmap to the current bitmap flags and format. The │ │ │ │ @@ -1588,17 +1588,17 @@ │ │ │ │ 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

    │ │ │ │ @@ -1625,17 +1625,17 @@ │ │ │ │ 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

    │ │ │ │ @@ -1735,17 +1735,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.

    │ │ │ │ @@ -2079,17 +2079,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

    │ │ │ │ @@ -2143,15 +2143,15 @@ │ │ │ │

    Examples:

    │ │ │ │
      │ │ │ │
    • ex_font.c
    • │ │ │ │
    • ex_clip.c
    • │ │ │ │
    • ex_blit.c
    • │ │ │ │ +href="https://github.com/liballeg/allegro5/blob/master/examples/ex_blend.c#L157">ex_blend.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,
    │ │ │ │     int flags)
    │ │ │ │

    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 │ │ │ │ @@ -2562,15 +2562,15 @@ │ │ │ │

    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 │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -201,15 +201,15 @@ │ │ │ │ │ Convert r, g, b, (ranging from 0.0f-1.0f) into an _A_L_L_E_G_R_O___C_O_L_O_R, using 1.0f for │ │ │ │ │ alpha. │ │ │ │ │ This function can be called before Allegro is initialized. │ │ │ │ │ See also: _a_l___m_a_p___r_g_b_a, _a_l___m_a_p___r_g_b, _a_l___m_a_p___r_g_b_a___f │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___e_n_e_t___s_e_r_v_e_r_._c │ │ │ │ │ * _e_x___k_e_y_b_o_a_r_d___e_v_e_n_t_s_._c │ │ │ │ │ - * _e_x___d_r_a_w_p_i_x_e_l_s_._c │ │ │ │ │ + * _e_x___f_o_n_t___j_u_s_t_i_f_y_._c_p_p │ │ │ │ │ ********** aall__mmaapp__rrggbbaa ********** │ │ │ │ │ ALLEGRO_COLOR al_map_rgba( │ │ │ │ │ unsigned char r, unsigned char g, unsigned char b, unsigned char a) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Convert r, g, b, a (ranging from 0-255) into an _A_L_L_E_G_R_O___C_O_L_O_R. │ │ │ │ │ This function can be called before Allegro is initialized. │ │ │ │ │ See also: _a_l___m_a_p___r_g_b, _a_l___p_r_e_m_u_l___r_g_b_a, _a_l___m_a_p___r_g_b___f │ │ │ │ │ @@ -336,15 +336,15 @@ │ │ │ │ │ size of a single pixel, but for blocked pixel formats this value is │ │ │ │ │ different. │ │ │ │ │ See also: _a_l___l_o_c_k___b_i_t_m_a_p, _a_l___l_o_c_k___b_i_t_m_a_p___r_e_g_i_o_n, _a_l___u_n_l_o_c_k___b_i_t_m_a_p, │ │ │ │ │ _A_L_L_E_G_R_O___P_I_X_E_L___F_O_R_M_A_T │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___l_o_c_k_b_i_t_m_a_p_._c │ │ │ │ │ * _e_x___p_r_e_m_u_l_a_l_p_h_a_._c │ │ │ │ │ - * _e_x___m_u_l_t_i_s_a_m_p_l_e_._c │ │ │ │ │ + * _e_x___c_o_l_o_r_2_._c │ │ │ │ │ ********** AALLLLEEGGRROO__PPIIXXEELL__FFOORRMMAATT ********** │ │ │ │ │ typedef enum ALLEGRO_PIXEL_FORMAT │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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. │ │ │ │ │ NNoottee:: │ │ │ │ │ @@ -443,15 +443,15 @@ │ │ │ │ │ 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: _a_l___s_e_t___n_e_w___b_i_t_m_a_p___f_o_r_m_a_t, _a_l___g_e_t___b_i_t_m_a_p___f_o_r_m_a_t │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___c_o_n_v_e_r_t_._c │ │ │ │ │ * _e_x___d_r_a_w_p_i_x_e_l_s_._c │ │ │ │ │ - * _e_x___l_o_c_k_b_i_t_m_a_p_._c │ │ │ │ │ + * _e_x___p_i_x_e_l_f_o_r_m_a_t_._c_p_p │ │ │ │ │ ********** aall__ggeett__ppiixxeell__ssiizzee ********** │ │ │ │ │ int al_get_pixel_size(int format) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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: _A_L_L_E_G_R_O___P_I_X_E_L___F_O_R_M_A_T, _a_l___g_e_t___p_i_x_e_l___f_o_r_m_a_t___b_i_t_s │ │ │ │ │ ********** aall__ggeett__ppiixxeell__ffoorrmmaatt__bbiittss ********** │ │ │ │ │ @@ -586,15 +586,15 @@ │ │ │ │ │ ********** AALLLLEEGGRROO__BBIITTMMAAPP ********** │ │ │ │ │ typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP; │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Abstract type representing a bitmap (2D image). │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___c_o_n_v_e_r_t_._c │ │ │ │ │ * _e_x___n_o_d_i_s_p_l_a_y_._c │ │ │ │ │ - * _e_x___o_p_e_n_g_l___p_i_x_e_l___s_h_a_d_e_r_._c │ │ │ │ │ + * _e_x___b_l_e_n_d___b_e_n_c_h_._c │ │ │ │ │ ********** aall__ccrreeaattee__bbiittmmaapp ********** │ │ │ │ │ ALLEGRO_BITMAP *al_create_bitmap(int w, int h) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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 │ │ │ │ │ @@ -675,15 +675,15 @@ │ │ │ │ │ the new bitmap is a memory bitmap, its projection bitmap is reset to be │ │ │ │ │ orthographic. │ │ │ │ │ See also: _a_l___c_r_e_a_t_e___b_i_t_m_a_p, _a_l___s_e_t___n_e_w___b_i_t_m_a_p___f_o_r_m_a_t, _a_l___s_e_t___n_e_w___b_i_t_m_a_p___f_l_a_g_s, │ │ │ │ │ _a_l___c_o_n_v_e_r_t___b_i_t_m_a_p │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___s_u_b_b_i_t_m_a_p_._c │ │ │ │ │ * _e_x___f_o_n_t_._c │ │ │ │ │ - * _e_x___p_r_e_m_u_l_a_l_p_h_a_._c │ │ │ │ │ + * _e_x___b_l_e_n_d_2_._c_p_p │ │ │ │ │ ********** aall__ccoonnvveerrtt__bbiittmmaapp ********** │ │ │ │ │ void al_convert_bitmap(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Converts the bitmap to the current bitmap flags and format. The bitmap will be │ │ │ │ │ as if it was created anew with _a_l___c_r_e_a_t_e___b_i_t_m_a_p 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. │ │ │ │ │ @@ -895,16 +895,16 @@ │ │ │ │ │ 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 │ │ │ │ │ _UU_nn_ss_tt_aa_bb_ll_ee_ _AA_PP_II:: This is an experimental feature. │ │ │ │ │ See also: _A_L_L_E_G_R_O___B_I_T_M_A_P___W_R_A_P │ │ │ │ │ Examples: │ │ │ │ │ - * _e_x___p_r_i_m___w_r_a_p_._c │ │ │ │ │ * _e_x___p_r_i_m_._c │ │ │ │ │ + * _e_x___p_r_i_m___w_r_a_p_._c │ │ │ │ │ ********** aall__ggeett__nneeww__bbiittmmaapp__wwrraapp ********** │ │ │ │ │ Source Code │ │ │ │ │ Returns the value currently set with _a_l___s_e_t___n_e_w___b_i_t_m_a_p___w_r_a_p on the current │ │ │ │ │ thread. │ │ │ │ │ Since: 5.2.8 │ │ │ │ │ _UU_nn_ss_tt_aa_bb_ll_ee_ _AA_PP_II:: This is an experimental feature. │ │ │ │ │ See also: _A_L_L_E_G_R_O___B_I_T_M_A_P___W_R_A_P │ │ │ │ │ @@ -919,16 +919,16 @@ │ │ │ │ │ * 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: │ │ │ │ │ - * _e_x___p_r_i_m___w_r_a_p_._c │ │ │ │ │ * _e_x___p_r_i_m_._c │ │ │ │ │ + * _e_x___p_r_i_m___w_r_a_p_._c │ │ │ │ │ ************ BBiittmmaapp pprrooppeerrttiieess ************ │ │ │ │ │ ********** aall__ggeett__bbiittmmaapp__ffllaaggss ********** │ │ │ │ │ int al_get_bitmap_flags(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Return the flags used to create the bitmap. │ │ │ │ │ See also: _a_l___s_e_t___n_e_w___b_i_t_m_a_p___f_l_a_g_s │ │ │ │ │ Examples: │ │ │ │ │ @@ -979,16 +979,16 @@ │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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: _A_L_L_E_G_R_O___C_O_L_O_R, _a_l___p_u_t___p_i_x_e_l, _a_l___l_o_c_k___b_i_t_m_a_p │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___b_l_e_n_d___t_e_s_t_._c │ │ │ │ │ - * _e_x___c_o_m_p_r_e_s_s_e_d_._c │ │ │ │ │ * _e_x___v_e_r_t_e_x___b_u_f_f_e_r_._c │ │ │ │ │ + * _e_x___c_o_m_p_r_e_s_s_e_d_._c │ │ │ │ │ ********** aall__iiss__bbiittmmaapp__lloocckkeedd ********** │ │ │ │ │ bool al_is_bitmap_locked(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Returns whether or not a bitmap is already locked. │ │ │ │ │ See also: _a_l___l_o_c_k___b_i_t_m_a_p, _a_l___l_o_c_k___b_i_t_m_a_p___r_e_g_i_o_n, _a_l___u_n_l_o_c_k___b_i_t_m_a_p │ │ │ │ │ ********** aall__iiss__ccoommppaattiibbllee__bbiittmmaapp ********** │ │ │ │ │ bool al_is_compatible_bitmap(ALLEGRO_BITMAP *bitmap) │ │ │ │ │ @@ -1173,16 +1173,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: _a_l___d_r_a_w___b_i_t_m_a_p___r_e_g_i_o_n, _a_l___d_r_a_w___s_c_a_l_e_d___b_i_t_m_a_p, _a_l___d_r_a_w___r_o_t_a_t_e_d___b_i_t_m_a_p, │ │ │ │ │ _a_l___d_r_a_w___s_c_a_l_e_d___r_o_t_a_t_e_d___b_i_t_m_a_p │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___n_o_d_i_s_p_l_a_y_._c │ │ │ │ │ - * _e_x___o_p_e_n_g_l___p_i_x_e_l___s_h_a_d_e_r_._c │ │ │ │ │ * _e_x___b_l_e_n_d___b_e_n_c_h_._c │ │ │ │ │ + * _e_x___m_o_u_s_e_._c │ │ │ │ │ ********** aall__ddrraaww__ttiinntteedd__bbiittmmaapp ********** │ │ │ │ │ void al_draw_tinted_bitmap(ALLEGRO_BITMAP *bitmap, ALLEGRO_COLOR tint, │ │ │ │ │ float dx, float dy, int flags) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Like _a_l___d_r_a_w___b_i_t_m_a_p but multiplies all colors in the bitmap with the given │ │ │ │ │ color. For example: │ │ │ │ │ al_draw_tinted_bitmap(bitmap, al_map_rgba_f(0.5, 0.5, 0.5, 0.5), x, y, 0); │ │ │ │ │ @@ -1212,15 +1212,15 @@ │ │ │ │ │ See _a_l___d_r_a_w___b_i_t_m_a_p for a note on restrictions on which bitmaps can be drawn │ │ │ │ │ where. │ │ │ │ │ See also: _a_l___d_r_a_w___b_i_t_m_a_p, _a_l___d_r_a_w___s_c_a_l_e_d___b_i_t_m_a_p, _a_l___d_r_a_w___r_o_t_a_t_e_d___b_i_t_m_a_p, │ │ │ │ │ _a_l___d_r_a_w___s_c_a_l_e_d___r_o_t_a_t_e_d___b_i_t_m_a_p │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___f_o_n_t_._c │ │ │ │ │ * _e_x___c_l_i_p_._c │ │ │ │ │ - * _e_x___b_l_i_t_._c │ │ │ │ │ + * _e_x___b_l_e_n_d_._c │ │ │ │ │ ********** aall__ddrraaww__ttiinntteedd__bbiittmmaapp__rreeggiioonn ********** │ │ │ │ │ void al_draw_tinted_bitmap_region(ALLEGRO_BITMAP *bitmap, │ │ │ │ │ ALLEGRO_COLOR tint, │ │ │ │ │ float sx, float sy, float sw, float sh, float dx, float dy, │ │ │ │ │ int flags) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Like _a_l___d_r_a_w___b_i_t_m_a_p___r_e_g_i_o_n but multiplies all colors in the bitmap with the │ │ │ │ │ @@ -1465,25 +1465,25 @@ │ │ │ │ │ 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: _a_l___g_e_t___t_a_r_g_e_t___b_i_t_m_a_p, _a_l___s_e_t___t_a_r_g_e_t___b_a_c_k_b_u_f_f_e_r │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___n_o_d_i_s_p_l_a_y_._c │ │ │ │ │ - * _e_x___o_p_e_n_g_l___p_i_x_e_l___s_h_a_d_e_r_._c │ │ │ │ │ * _e_x___b_l_e_n_d___b_e_n_c_h_._c │ │ │ │ │ + * _e_x___o_p_e_n_g_l___p_i_x_e_l___s_h_a_d_e_r_._c │ │ │ │ │ ********** aall__sseett__ttaarrggeett__bbaacckkbbuuffffeerr ********** │ │ │ │ │ void al_set_target_backbuffer(ALLEGRO_DISPLAY *display) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Same as al_set_target_bitmap(al_get_backbuffer(display)); │ │ │ │ │ See also: _a_l___s_e_t___t_a_r_g_e_t___b_i_t_m_a_p, _a_l___g_e_t___b_a_c_k_b_u_f_f_e_r │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___k_e_y_b_o_a_r_d___f_o_c_u_s_._c │ │ │ │ │ * _e_x___m_o_u_s_e___f_o_c_u_s_._c │ │ │ │ │ - * _e_x___o_p_e_n_g_l___p_i_x_e_l___s_h_a_d_e_r_._c │ │ │ │ │ + * _e_x___b_l_e_n_d___b_e_n_c_h_._c │ │ │ │ │ ********** aall__ggeett__ccuurrrreenntt__ddiissppllaayy ********** │ │ │ │ │ ALLEGRO_DISPLAY *al_get_current_display(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Return the display that is “current” for the calling thread, or NULL if there │ │ │ │ │ is none. │ │ │ │ │ See also: _a_l___s_e_t___t_a_r_g_e_t___b_i_t_m_a_p │ │ │ │ │ Examples: │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/image.html │ │ │ │ @@ -207,23 +207,14 @@ │ │ │ │ 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:

    │ │ │ │ - │ │ │ │

    al_is_image_addon_initialized

    │ │ │ │
    bool al_is_image_addon_initialized(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if the image addon is initialized, otherwise returns │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -64,18 +64,14 @@ │ │ │ │ │ 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: │ │ │ │ │ - * _e_x___c_o_n_v_e_r_t_._c │ │ │ │ │ - * _e_x___n_o_d_i_s_p_l_a_y_._c │ │ │ │ │ - * _e_x___o_p_e_n_g_l___p_i_x_e_l___s_h_a_d_e_r_._c │ │ │ │ │ ************ aall__iiss__iimmaaggee__aaddddoonn__iinniittiiaalliizzeedd ************ │ │ │ │ │ bool al_is_image_addon_initialized(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Returns true if the image addon is initialized, otherwise returns false. │ │ │ │ │ Since: 5.2.6 │ │ │ │ │ ************ aall__sshhuuttddoowwnn__iimmaaggee__aaddddoonn ************ │ │ │ │ │ void al_shutdown_image_addon(void) │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/memfile.html │ │ │ │ @@ -196,19 +196,14 @@ │ │ │ │ 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the (compiled) version of the addon, in the same format as Examples:

    │ │ │ │ │ │ │ │

    al_realloc

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

    Source │ │ │ │ Code

    │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -77,15 +77,15 @@ │ │ │ │ │ from the same DLL. In the few places where an Allegro function returns a │ │ │ │ │ pointer that must be freed, you must use _a_l___f_r_e_e for portability to Windows. │ │ │ │ │ This is a macro. │ │ │ │ │ See also: _a_l___m_a_l_l_o_c, _a_l___f_r_e_e___w_i_t_h___c_o_n_t_e_x_t │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___c_l_i_p_b_o_a_r_d_._c │ │ │ │ │ * _e_x___d_r_a_g___a_n_d___d_r_o_p_._c │ │ │ │ │ - * _e_x___r_e_c_o_r_d___n_a_m_e_._c │ │ │ │ │ + * _e_x___v_e_r_t_e_x___b_u_f_f_e_r_._c │ │ │ │ │ ************ aall__rreeaalllloocc ************ │ │ │ │ │ #define al_realloc(p, n) \ │ │ │ │ │ (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__)) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Like realloc() in the C standard library, but the implementation may be │ │ │ │ │ overridden. │ │ │ │ │ This is a macro. │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/mouse.html │ │ │ │ @@ -293,17 +293,17 @@ │ │ │ │

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

    │ │ │ │

    Examples:

    │ │ │ │ │ │ │ │

    al_is_mouse_installed

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

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if Examples:

    │ │ │ │ │ │ │ │

    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 {} │ │ │ │ │ @@ -108,16 +108,16 @@ │ │ │ │ │ bool al_install_mouse(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Install a mouse driver. │ │ │ │ │ Returns true if successful. If a driver was already installed, nothing happens │ │ │ │ │ and true is returned. │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___m_o_u_s_e___f_o_c_u_s_._c │ │ │ │ │ - * _e_x___m_o_u_s_e_._c │ │ │ │ │ * _e_x___f_o_n_t___j_u_s_t_i_f_y_._c_p_p │ │ │ │ │ + * _e_x___m_o_u_s_e_._c │ │ │ │ │ ************ aall__iiss__mmoouussee__iinnssttaalllleedd ************ │ │ │ │ │ bool al_is_mouse_installed(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Returns true if _a_l___i_n_s_t_a_l_l___m_o_u_s_e was called successfully. │ │ │ │ │ ************ aall__uunniinnssttaallll__mmoouussee ************ │ │ │ │ │ void al_uninstall_mouse(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ @@ -216,15 +216,15 @@ │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Retrieve the mouse event source. All _m_o_u_s_e_ _e_v_e_n_t_s are generated by this event │ │ │ │ │ source. │ │ │ │ │ Returns NULL if the mouse subsystem was not installed. │ │ │ │ │ Examples: │ │ │ │ │ * _e_x___d_i_s_p_l_a_y___e_v_e_n_t_s_._c │ │ │ │ │ * _e_x___m_o_u_s_e___w_a_r_p_._c │ │ │ │ │ - * _e_x___n_o_f_r_a_m_e_._c │ │ │ │ │ + * _e_x___t_i_m_e_r_._c │ │ │ │ │ ************ aall__sseett__mmoouussee__wwhheeeell__pprreecciissiioonn ************ │ │ │ │ │ void al_set_mouse_wheel_precision(int precision) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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 _A_L_L_E_G_R_O___M_O_U_S_E___S_T_A_T_E, 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 │ │ │ │ @@ -267,32 +267,20 @@ │ │ │ │

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

    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;
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Opaque handle to a text log window.

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_init_native_dialog_addon

    │ │ │ │
    bool al_init_native_dialog_addon(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Initialise the native dialog addon.

    │ │ │ │

    Returns true on success, false on error.

    │ │ │ │ @@ -304,23 +292,14 @@ │ │ │ │ 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if the native dialog addon is initialized, otherwise │ │ │ │ @@ -427,19 +406,14 @@ │ │ │ │ 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Show the dialog window. The display may be NULL, otherwise the given │ │ │ │ @@ -453,32 +427,22 @@ │ │ │ │

    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)
    │ │ │ │

    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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -488,31 +452,21 @@ │ │ │ │ -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)
    │ │ │ │

    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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -578,23 +532,14 @@ │ │ │ │ "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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Opens a window to which you can append log messages with al_append_native_text_log. │ │ │ │ @@ -621,58 +566,37 @@ │ │ │ │

    │ │ │ │

    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)
    │ │ │ │

    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, ...)
    │ │ │ │

    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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -685,23 +609,14 @@ │ │ │ │ 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the (compiled) version of the addon, in the same format as 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:

    │ │ │ │ - │ │ │ │

    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:

    │ │ │ │ @@ -803,19 +713,14 @@ │ │ │ │ │ │ │ │ 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:

    │ │ │ │ - │ │ │ │

    al_create_menu

    │ │ │ │
    ALLEGRO_MENU *al_create_menu(void)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Creates a menu container that can hold menu items.

    │ │ │ │

    Returns NULL on failure.

    │ │ │ │ @@ -833,19 +738,14 @@ │ │ │ │ created with al_create_menu.

    │ │ │ │

    Returns NULL on failure.

    │ │ │ │

    Since: 5.1.0

    │ │ │ │

    See also: al_create_menu, al_build_menu

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_build_menu

    │ │ │ │
    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.

    │ │ │ │ @@ -854,38 +754,28 @@ │ │ │ │ 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:

    │ │ │ │ - │ │ │ │

    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)
    │ │ │ │

    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:

    │ │ │ │ - │ │ │ │

    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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Inserts a menu item at the spot specified. See the introductory text │ │ │ │ @@ -936,68 +826,48 @@ │ │ │ │

    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:

    │ │ │ │ - │ │ │ │

    al_clone_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:

    │ │ │ │ - │ │ │ │

    al_clone_menu_for_popup

    │ │ │ │
    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:

    │ │ │ │ - │ │ │ │

    al_destroy_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:

    │ │ │ │ - │ │ │ │

    al_get_menu_item_caption

    │ │ │ │
    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.

    │ │ │ │ @@ -1012,56 +882,41 @@ │ │ │ │ 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:

    │ │ │ │ - │ │ │ │

    al_get_menu_item_flags

    │ │ │ │
    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:

    │ │ │ │ - │ │ │ │

    al_set_menu_item_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:

    │ │ │ │ - │ │ │ │

    al_toggle_menu_item_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 │ │ │ │ @@ -1103,36 +958,26 @@ │ │ │ │ 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:

    │ │ │ │ - │ │ │ │

    al_find_menu

    │ │ │ │
    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:

    │ │ │ │ - │ │ │ │

    al_find_menu_item

    │ │ │ │
    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 │ │ │ │ @@ -1159,19 +1004,14 @@ │ │ │ │

    Since: 5.1.0

    │ │ │ │

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

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_enable_menu_event_source

    │ │ │ │
    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 │ │ │ │ @@ -1226,19 +1066,14 @@ │ │ │ │ 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:

    │ │ │ │ - │ │ │ │

    al_popup_menu

    │ │ │ │
    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 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:

    │ │ │ │ - │ │ │ │

    al_remove_display_menu

    │ │ │ │
    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:

    │ │ │ │ - │ │ │ │

    │ │ │ │ Allegro version 5.2.10 │ │ │ │ - Last updated: 2024-11-29 14:21:22 UTC │ │ │ │

    │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -90,39 +90,30 @@ │ │ │ │ │ These functions are declared in the following header file. Link with │ │ │ │ │ allegro_dialog. │ │ │ │ │ #include │ │ │ │ │ ************ AALLLLEEGGRROO__FFIILLEECCHHOOOOSSEERR ************ │ │ │ │ │ typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER; │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Opaque handle to a native file dialog. │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___n_a_t_i_v_e___f_i_l_e_c_h_o_o_s_e_r_._c │ │ │ │ │ ************ AALLLLEEGGRROO__TTEEXXTTLLOOGG ************ │ │ │ │ │ typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG; │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Opaque handle to a text log window. │ │ │ │ │ -Examples: │ │ │ │ │ - * _c_o_m_m_o_n_._c │ │ │ │ │ - * _e_x___n_a_t_i_v_e___f_i_l_e_c_h_o_o_s_e_r_._c │ │ │ │ │ ************ aall__iinniitt__nnaattiivvee__ddiiaalloogg__aaddddoonn ************ │ │ │ │ │ bool al_init_native_dialog_addon(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Initialise the native dialog addon. │ │ │ │ │ Returns true on success, false on error. │ │ │ │ │ Since: 5.0.9, 5.1.0 │ │ │ │ │ NNoottee:: 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 │ │ │ │ │ _a_l___s_h_o_w___n_a_t_i_v_e___m_e_s_s_a_g_e___b_o_x, which may be useful to show an error │ │ │ │ │ message if Allegro fails to initialise. │ │ │ │ │ See also: _a_l___s_h_u_t_d_o_w_n___n_a_t_i_v_e___d_i_a_l_o_g___a_d_d_o_n │ │ │ │ │ -Examples: │ │ │ │ │ - * _c_o_m_m_o_n_._c │ │ │ │ │ - * _e_x___w_i_n_d_o_w___m_a_x_i_m_i_z_e_d_._c │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ************ aall__iiss__nnaattiivvee__ddiiaalloogg__aaddddoonn__iinniittiiaalliizzeedd ************ │ │ │ │ │ bool al_is_native_dialog_addon_initialized(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Returns true if the native dialog addon is initialized, otherwise returns │ │ │ │ │ false. │ │ │ │ │ Since: 5.2.6 │ │ │ │ │ ************ aall__sshhuuttddoowwnn__nnaattiivvee__ddiiaalloogg__aaddddoonn ************ │ │ │ │ │ @@ -189,55 +180,45 @@ │ │ │ │ │ If supported, allow selecting multiple files. │ │ │ │ │ Returns: │ │ │ │ │ A handle to the dialog which you can pass to _a_l___s_h_o_w___n_a_t_i_v_e___f_i_l_e___d_i_a_l_o_g to │ │ │ │ │ display it, and from which you then can query the results using │ │ │ │ │ _a_l___g_e_t___n_a_t_i_v_e___f_i_l_e___d_i_a_l_o_g___c_o_u_n_t and _a_l___g_e_t___n_a_t_i_v_e___f_i_l_e___d_i_a_l_o_g___p_a_t_h. When you │ │ │ │ │ are done, call _a_l___d_e_s_t_r_o_y___n_a_t_i_v_e___f_i_l_e___d_i_a_l_o_g on it. │ │ │ │ │ If a dialog window could not be created then this function returns NULL. │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___n_a_t_i_v_e___f_i_l_e_c_h_o_o_s_e_r_._c │ │ │ │ │ ************ aall__sshhooww__nnaattiivvee__ffiillee__ddiiaalloogg ************ │ │ │ │ │ bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display, │ │ │ │ │ ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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 _a_l___c_r_e_a_t_e___t_h_r_e_a_d and call it from inside that thread. │ │ │ │ │ Returns true on success, false on failure. │ │ │ │ │ NNoottee:: On Android, _A_L_L_E_G_R_O___E_V_E_N_T___D_I_S_P_L_A_Y___H_A_L_T___D_R_A_W_I_N_G and │ │ │ │ │ _A_L_L_E_G_R_O___E_V_E_N_T___D_I_S_P_L_A_Y___R_E_S_U_M_E___D_R_A_W_I_N_G need to be handled before this │ │ │ │ │ function returns. This means that you must call it from a different │ │ │ │ │ thread. │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___n_a_t_i_v_e___f_i_l_e_c_h_o_o_s_e_r_._c │ │ │ │ │ ************ aall__ggeett__nnaattiivvee__ffiillee__ddiiaalloogg__ccoouunntt ************ │ │ │ │ │ int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Returns the number of files selected, or 0 if the dialog was cancelled. │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___n_a_t_i_v_e___f_i_l_e_c_h_o_o_s_e_r_._c │ │ │ │ │ ************ aall__ggeett__nnaattiivvee__ffiillee__ddiiaalloogg__ppaatthh ************ │ │ │ │ │ const char *al_get_native_file_dialog_path( │ │ │ │ │ const ALLEGRO_FILECHOOSER *dialog, size_t i) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Returns one of the selected paths with index i. The index should range from 0 │ │ │ │ │ to the return value of _a_l___g_e_t___n_a_t_i_v_e___f_i_l_e___d_i_a_l_o_g___c_o_u_n_t -1. │ │ │ │ │ NNoottee:: 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 │ │ │ │ │ _a_l___a_n_d_r_o_i_d___o_p_e_n___f_d. │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___n_a_t_i_v_e___f_i_l_e_c_h_o_o_s_e_r_._c │ │ │ │ │ ************ aall__ddeessttrrooyy__nnaattiivvee__ffiillee__ddiiaalloogg ************ │ │ │ │ │ void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Frees up all resources used by the file dialog. │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___n_a_t_i_v_e___f_i_l_e_c_h_o_o_s_e_r_._c │ │ │ │ │ ************ aall__sshhooww__nnaattiivvee__mmeessssaaggee__bbooxx ************ │ │ │ │ │ int al_show_native_message_box(ALLEGRO_DISPLAY *display, │ │ │ │ │ char const *title, char const *heading, char const *text, │ │ │ │ │ char const *buttons, int flags) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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, │ │ │ │ │ @@ -280,18 +261,14 @@ │ │ │ │ │ "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: │ │ │ │ │ - * _e_x___n_o_d_i_s_p_l_a_y_._c │ │ │ │ │ - * _c_o_m_m_o_n_._c │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ************ aall__ooppeenn__nnaattiivvee__tteexxtt__lloogg ************ │ │ │ │ │ ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Opens a window to which you can append log messages with │ │ │ │ │ _a_l___a_p_p_e_n_d___n_a_t_i_v_e___t_e_x_t___l_o_g. This can be useful for debugging if you don’t want │ │ │ │ │ to depend on a console being available. │ │ │ │ │ Use _a_l___c_l_o_s_e___n_a_t_i_v_e___t_e_x_t___l_o_g to close the window again. │ │ │ │ │ @@ -302,53 +279,40 @@ │ │ │ │ │ _a_l___g_e_t___n_a_t_i_v_e___t_e_x_t___l_o_g___e_v_e_n_t___s_o_u_r_c_e. │ │ │ │ │ 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. │ │ │ │ │ NNoottee:: On Android, logs can be viewed using logcat. │ │ │ │ │ See also: _a_l___a_p_p_e_n_d___n_a_t_i_v_e___t_e_x_t___l_o_g, _a_l___c_l_o_s_e___n_a_t_i_v_e___t_e_x_t___l_o_g │ │ │ │ │ -Examples: │ │ │ │ │ - * _c_o_m_m_o_n_._c │ │ │ │ │ - * _e_x___n_a_t_i_v_e___f_i_l_e_c_h_o_o_s_e_r_._c │ │ │ │ │ ************ aall__cclloossee__nnaattiivvee__tteexxtt__lloogg ************ │ │ │ │ │ void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Closes a message log window opened with _a_l___o_p_e_n___n_a_t_i_v_e___t_e_x_t___l_o_g earlier. │ │ │ │ │ Does nothing if passed NULL. │ │ │ │ │ See also: _a_l___o_p_e_n___n_a_t_i_v_e___t_e_x_t___l_o_g │ │ │ │ │ -Examples: │ │ │ │ │ - * _c_o_m_m_o_n_._c │ │ │ │ │ - * _e_x___n_a_t_i_v_e___f_i_l_e_c_h_o_o_s_e_r_._c │ │ │ │ │ ************ aall__aappppeenndd__nnaattiivvee__tteexxtt__lloogg ************ │ │ │ │ │ void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog, │ │ │ │ │ char const *format, ...) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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: │ │ │ │ │ - * _c_o_m_m_o_n_._c │ │ │ │ │ - * _e_x___n_a_t_i_v_e___f_i_l_e_c_h_o_o_s_e_r_._c │ │ │ │ │ ************ aall__ggeett__nnaattiivvee__tteexxtt__lloogg__eevveenntt__ssoouurrccee ************ │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source( │ │ │ │ │ ALLEGRO_TEXTLOG *textlog) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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 _A_L_L_E_G_R_O___T_E_X_T_L_O_G 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: │ │ │ │ │ - * _c_o_m_m_o_n_._c │ │ │ │ │ - * _e_x___s_a_w_._c │ │ │ │ │ - * _e_x___r_e_s_a_m_p_l_e___t_e_s_t_._c │ │ │ │ │ ************ aall__ggeett__aalllleeggrroo__nnaattiivvee__ddiiaalloogg__vveerrssiioonn ************ │ │ │ │ │ uint32_t al_get_allegro_native_dialog_version(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Returns the (compiled) version of the addon, in the same format as │ │ │ │ │ _a_l___g_e_t___a_l_l_e_g_r_o___v_e_r_s_i_o_n. │ │ │ │ │ ************ MMeennuuss ************ │ │ │ │ │ Menus are implemented on Windows, X and OS X. Menus on X are implemented with │ │ │ │ │ @@ -397,16 +361,14 @@ │ │ │ │ │ al_set_display_menu(display, NULL) before destroying any display with a menu │ │ │ │ │ attached, to avoid leaking resources. │ │ │ │ │ ********** AALLLLEEGGRROO__MMEENNUU ********** │ │ │ │ │ typedef struct ALLEGRO_MENU ALLEGRO_MENU; │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ An opaque data type that represents a menu that contains menu items. Each of │ │ │ │ │ the menu items may optionally include a sub-menu. │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** AALLLLEEGGRROO__MMEENNUU__IINNFFOO ********** │ │ │ │ │ typedef struct ALLEGRO_MENU_INFO { │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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: │ │ │ │ │ @@ -432,16 +394,14 @@ │ │ │ │ │ ALLEGRO_END_OF_MENU │ │ │ │ │ }; │ │ │ │ │ │ │ │ │ │ ALLEGRO_MENU *menu = al_build_menu(menu_info); │ │ │ │ │ If you prefer, you can build the menu without the structure by using │ │ │ │ │ _a_l___c_r_e_a_t_e___m_e_n_u and _a_l___i_n_s_e_r_t___m_e_n_u___i_t_e_m. │ │ │ │ │ See also: _a_l___b_u_i_l_d___m_e_n_u │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__ccrreeaattee__mmeennuu ********** │ │ │ │ │ ALLEGRO_MENU *al_create_menu(void) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Creates a menu container that can hold menu items. │ │ │ │ │ Returns NULL on failure. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: _a_l___c_r_e_a_t_e___p_o_p_u_p___m_e_n_u, _a_l___b_u_i_l_d___m_e_n_u │ │ │ │ │ @@ -450,38 +410,32 @@ │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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 │ │ │ │ │ _a_l___c_r_e_a_t_e___m_e_n_u. │ │ │ │ │ Returns NULL on failure. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: _a_l___c_r_e_a_t_e___m_e_n_u, _a_l___b_u_i_l_d___m_e_n_u │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__bbuuiilldd__mmeennuu ********** │ │ │ │ │ ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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 │ │ │ │ │ _a_l___f_i_n_d___m_e_n_u___i_t_e_m. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: _A_L_L_E_G_R_O___M_E_N_U___I_N_F_O, _a_l___c_r_e_a_t_e___m_e_n_u, _a_l___c_r_e_a_t_e___p_o_p_u_p___m_e_n_u │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__aappppeenndd__mmeennuu__iitteemm ********** │ │ │ │ │ int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id, │ │ │ │ │ int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Appends a menu item to the end of the menu. See _a_l___i_n_s_e_r_t___m_e_n_u___i_t_e_m for more │ │ │ │ │ information. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: _a_l___i_n_s_e_r_t___m_e_n_u___i_t_e_m, _a_l___r_e_m_o_v_e___m_e_n_u___i_t_e_m │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__iinnsseerrtt__mmeennuu__iitteemm ********** │ │ │ │ │ int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title, │ │ │ │ │ uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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 │ │ │ │ │ @@ -509,44 +463,36 @@ │ │ │ │ │ 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 │ │ │ │ │ _a_l___c_l_o_n_e___m_e_n_u. │ │ │ │ │ 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: _a_l___a_p_p_e_n_d___m_e_n_u___i_t_e_m, _a_l___i_n_s_e_r_t___m_e_n_u___i_t_e_m, _a_l___d_e_s_t_r_o_y___m_e_n_u │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__cclloonnee__mmeennuu ********** │ │ │ │ │ ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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: _a_l___c_l_o_n_e___m_e_n_u___f_o_r___p_o_p_u_p │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__cclloonnee__mmeennuu__ffoorr__ppooppuupp ********** │ │ │ │ │ ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Exactly like _a_l___c_l_o_n_e___m_e_n_u, except that the copy is for a popup menu. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: _a_l___c_l_o_n_e___m_e_n_u │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__ddeessttrrooyy__mmeennuu ********** │ │ │ │ │ void al_destroy_menu(ALLEGRO_MENU *menu) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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: _a_l___r_e_m_o_v_e___m_e_n_u___i_t_e_m │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__ggeett__mmeennuu__iitteemm__ccaappttiioonn ********** │ │ │ │ │ const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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 │ │ │ │ │ @@ -554,35 +500,29 @@ │ │ │ │ │ ********** aall__sseett__mmeennuu__iitteemm__ccaappttiioonn ********** │ │ │ │ │ void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Updates the menu item caption with the new caption. This will invalidate any │ │ │ │ │ previous calls to _a_l___g_e_t___m_e_n_u___i_t_e_m___c_a_p_t_i_o_n. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: _a_l___g_e_t___m_e_n_u___i_t_e_m___c_a_p_t_i_o_n │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__ggeett__mmeennuu__iitteemm__ffllaaggss ********** │ │ │ │ │ int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Returns the currently set flags. See _a_l___i_n_s_e_r_t___m_e_n_u___i_t_e_m for a description of │ │ │ │ │ the available flags. │ │ │ │ │ Returns -1 if the item was not found. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: _a_l___s_e_t___m_e_n_u___i_t_e_m___f_l_a_g_s, _a_l___t_o_g_g_l_e___m_e_n_u___i_t_e_m___f_l_a_g_s │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__sseett__mmeennuu__iitteemm__ffllaaggss ********** │ │ │ │ │ void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Updates the menu item’s flags. See _a_l___i_n_s_e_r_t___m_e_n_u___i_t_e_m for a description of the │ │ │ │ │ available flags. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: _a_l___g_e_t___m_e_n_u___i_t_e_m___f_l_a_g_s, _a_l___t_o_g_g_l_e___m_e_n_u___i_t_e_m___f_l_a_g_s │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__ttooggggllee__mmeennuu__iitteemm__ffllaaggss ********** │ │ │ │ │ int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Toggles the specified menu item’s flags. See _a_l___i_n_s_e_r_t___m_e_n_u___i_t_e_m 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 - │ │ │ │ │ @@ -605,26 +545,22 @@ │ │ │ │ │ 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: _a_l___g_e_t___m_e_n_u___i_t_e_m___i_c_o_n, _a_l___c_l_o_n_e___b_i_t_m_a_p │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__ffiinndd__mmeennuu ********** │ │ │ │ │ ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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: _a_l___f_i_n_d___m_e_n_u___i_t_e_m │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__ffiinndd__mmeennuu__iitteemm ********** │ │ │ │ │ bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU │ │ │ │ │ **menu, │ │ │ │ │ int *index) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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.) │ │ │ │ │ @@ -639,16 +575,14 @@ │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Returns the default event source used for menu clicks. If a menu was not given │ │ │ │ │ its own event source via _a_l___e_n_a_b_l_e___m_e_n_u___e_v_e_n_t___s_o_u_r_c_e, then it will use this │ │ │ │ │ default source. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: _a_l___r_e_g_i_s_t_e_r___e_v_e_n_t___s_o_u_r_c_e, _a_l___e_n_a_b_l_e___m_e_n_u___e_v_e_n_t___s_o_u_r_c_e, │ │ │ │ │ _a_l___d_i_s_a_b_l_e___m_e_n_u___e_v_e_n_t___s_o_u_r_c_e │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__eennaabbllee__mmeennuu__eevveenntt__ssoouurrccee ********** │ │ │ │ │ ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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. │ │ │ │ │ @@ -680,16 +614,14 @@ │ │ │ │ │ NNoottee:: 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: _a_l___c_r_e_a_t_e___m_e_n_u, _a_l___r_e_m_o_v_e___d_i_s_p_l_a_y___m_e_n_u │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__ppooppuupp__mmeennuu ********** │ │ │ │ │ bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ Displays a context menu next to the mouse cursor. The menu must have been │ │ │ │ │ created with _a_l___c_r_e_a_t_e___p_o_p_u_p___m_e_n_u. It generates events just like a regular │ │ │ │ │ display menu does. It is possible that the menu will be canceled without any │ │ │ │ │ selection being made. │ │ │ │ │ @@ -699,21 +631,17 @@ │ │ │ │ │ Returns true if the context menu was displayed. │ │ │ │ │ NNoottee:: 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: _a_l___c_r_e_a_t_e___p_o_p_u_p___m_e_n_u │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ ********** aall__rreemmoovvee__ddiissppllaayy__mmeennuu ********** │ │ │ │ │ ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display) │ │ │ │ │ _S_o_u_r_c_e_ _C_o_d_e │ │ │ │ │ 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 _a_l___s_e_t___d_i_s_p_l_a_y___m_e_n_u │ │ │ │ │ with a NULL menu. │ │ │ │ │ Since: 5.1.0 │ │ │ │ │ See also: _a_l___s_e_t___d_i_s_p_l_a_y___m_e_n_u │ │ │ │ │ -Examples: │ │ │ │ │ - * _e_x___m_e_n_u_._c │ │ │ │ │ Allegro version 5.2.10 - Last updated: 2024-11-29 14:21:22 UTC │ │ │ ├── ./usr/share/doc/allegro5-doc/refman/physfs.html │ │ │ │ @@ -224,19 +224,14 @@ │ │ │ │
    │ │ │ │

    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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the (compiled) version of the addon, in the same format as 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns true if the primitives addon is initialized, otherwise │ │ │ │ @@ -483,23 +474,14 @@ │ │ │ │

  • 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws an outlined triangle.

    │ │ │ │ @@ -510,38 +492,28 @@ │ │ │ │
  • thickness - Thickness of the lines, pass <= 0 to │ │ │ │ draw hairline lines
  • │ │ │ │ │ │ │ │

    See also: al_draw_filled_triangle, │ │ │ │ al_draw_soft_triangle

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_filled_triangle

    │ │ │ │
    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:

    │ │ │ │ │ │ │ │

    See also: al_draw_triangle

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_draw_rectangle

    │ │ │ │
    void al_draw_rectangle(float x1, float y1, float x2, float y2,
    │ │ │ │     ALLEGRO_COLOR color, float thickness)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws an outlined rectangle.

    │ │ │ │ @@ -553,23 +525,14 @@ │ │ │ │
  • 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a filled rectangle.

    │ │ │ │ @@ -578,23 +541,14 @@ │ │ │ │
  • 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws an outlined rounded rectangle.

    │ │ │ │ @@ -606,23 +560,14 @@ │ │ │ │
  • 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -634,23 +579,14 @@ │ │ │ │
  • 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,
    │ │ │ │     float rx, float ry, float start_theta, float delta_theta, float thickness,
    │ │ │ │     int num_points)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -711,19 +647,14 @@ │ │ │ │ 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a pieslice (outlined circular sector).

    │ │ │ │ @@ -738,19 +669,14 @@ │ │ │ │ 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:

    │ │ │ │ - │ │ │ │

    al_draw_filled_pieslice

    │ │ │ │
    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).

    │ │ │ │ @@ -763,19 +689,14 @@ │ │ │ │ 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:

    │ │ │ │ - │ │ │ │

    al_draw_ellipse

    │ │ │ │
    void al_draw_ellipse(float cx, float cy, float rx, float ry,
    │ │ │ │     ALLEGRO_COLOR color, float thickness)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws an outlined ellipse.

    │ │ │ │ @@ -786,21 +707,14 @@ │ │ │ │
  • 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a filled ellipse.

    │ │ │ │ @@ -809,21 +723,14 @@ │ │ │ │
  • 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws an outlined circle.

    │ │ │ │ @@ -834,21 +741,14 @@ │ │ │ │
  • 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a filled circle.

    │ │ │ │

    Parameters:

    │ │ │ │ @@ -856,23 +756,14 @@ │ │ │ │
  • 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws an arc.

    │ │ │ │ @@ -887,19 +778,14 @@ │ │ │ │ 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:

    │ │ │ │ - │ │ │ │

    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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws an elliptical arc.

    │ │ │ │ @@ -915,19 +801,14 @@ │ │ │ │
  • 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:

    │ │ │ │ - │ │ │ │

    al_calculate_spline

    │ │ │ │
    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 │ │ │ │ @@ -962,19 +843,14 @@ │ │ │ │ points │ │ │ │

  • color - Color of the spline
  • │ │ │ │
  • thickness - Thickness of the spline, pass <= 0 to │ │ │ │ draw a hairline spline
  • │ │ │ │ │ │ │ │

    See also: al_calculate_spline

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    al_calculate_ribbon

    │ │ │ │
    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 │ │ │ │ @@ -1077,23 +953,14 @@ │ │ │ │ {.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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a subset of the passed vertex array. This function uses an │ │ │ │ @@ -1114,21 +981,14 @@ │ │ │ │ │ │ │ │

    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 start, int end, int type)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draws a subset of the passed vertex buffer. The vertex buffer must │ │ │ │ @@ -1148,21 +1008,14 @@ │ │ │ │ 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -1188,19 +1041,14 @@ │ │ │ │ │ │ │ │

    Returns: Number of primitives drawn

    │ │ │ │

    Since: 5.1.8

    │ │ │ │

    See also: ALLEGRO_VERTEX_BUFFER, │ │ │ │ ALLEGRO_INDEX_BUFFER, │ │ │ │ ALLEGRO_PRIM_TYPE

    │ │ │ │ -

    Examples:

    │ │ │ │ - │ │ │ │

    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))
    │ │ │ │ @@ -1285,21 +1133,14 @@ │ │ │ │ │ │ │ │

    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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Destroys a vertex declaration.

    │ │ │ │

    Parameters:

    │ │ │ │ @@ -1307,19 +1148,14 @@ │ │ │ │
  • 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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -1347,39 +1183,25 @@ │ │ │ │ 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)
    │ │ │ │

    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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Locks a vertex buffer so you can access its data. Will return NULL if │ │ │ │ @@ -1394,39 +1216,25 @@ │ │ │ │ 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)
    │ │ │ │

    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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the size of the vertex buffer

    │ │ │ │

    Since: 5.1.8

    │ │ │ │ @@ -1461,34 +1269,24 @@ │ │ │ │ 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:

    │ │ │ │ - │ │ │ │

    al_destroy_index_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:

    │ │ │ │ - │ │ │ │

    al_lock_index_buffer

    │ │ │ │
    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 │ │ │ │ @@ -1502,34 +1300,24 @@ │ │ │ │

  • 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:

    │ │ │ │ - │ │ │ │

    al_unlock_index_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:

    │ │ │ │ - │ │ │ │

    al_get_index_buffer_size

    │ │ │ │
    int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Returns the size of the index buffer

    │ │ │ │

    Since: 5.1.8

    │ │ │ │ @@ -1577,19 +1365,14 @@ │ │ │ │

    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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draw an unfilled polygon. This is the same as passing │ │ │ │ @@ -1607,19 +1390,14 @@ │ │ │ │

  • 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_count,
    │ │ │ │     ALLEGRO_COLOR color)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Draw a filled, simple polygon. Simple means it does not have to be │ │ │ │ @@ -1631,19 +1409,14 @@ │ │ │ │ │ │ │ │

    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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -1686,19 +1459,14 @@ │ │ │ │

    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)
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │ @@ -1742,44 +1510,28 @@ │ │ │ │
  • 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;
    │ │ │ │

    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;
    │ │ │ │

    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 │ │ │ │ @@ -1814,21 +1566,14 @@ │ │ │ │ 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
    │ │ │ │

    Source │ │ │ │ Code

    │ │ │ │

    Enumerates the types of primitives this addon can draw.

    │ │ │ │