\n The joystick which generated the event. This is not the same as the\n@@ -1078,19 +1078,19 @@\n order.\n See also: al_create_event_queue, al_destroy_event_queue
\n Examples:
\n \n ALLEGRO_EVENT_SOURCE
\n typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE;
\n Source\n Code
\n An event source is any object which can generate events. For example,\n@@ -1173,19 +1173,19 @@\n
See also: al_register_event_source,\n al_destroy_event_queue,\n ALLEGRO_EVENT_QUEUE
\n Examples:
\n \n al_destroy_event_queue
\n void al_destroy_event_queue(ALLEGRO_EVENT_QUEUE *queue)
\n Source\n Code
\n Destroy the event queue specified. All event sources currently\n@@ -1195,19 +1195,19 @@\n 5.2.9)
\n See also: al_create_event_queue, ALLEGRO_EVENT_QUEUE
\n Examples:
\n \n al_register_event_source
\n void al_register_event_source(ALLEGRO_EVENT_QUEUE *queue,\n ALLEGRO_EVENT_SOURCE *source)
\n Source\n Code
\n@@ -1217,19 +1217,19 @@\n more than once does nothing.\n See also: al_unregister_event_source,\n ALLEGRO_EVENT_SOURCE
\n Examples:
\n \n al_unregister_event_source
\n void al_unregister_event_source(ALLEGRO_EVENT_QUEUE *queue,\n ALLEGRO_EVENT_SOURCE *source)
\n Source\n Code
\n@@ -1289,17 +1289,17 @@\n href=\"events.html#al_get_next_event\">al_get_next_event, al_peek_next_event\n Examples:
\n \n al_get_next_event
\n bool al_get_next_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event)
\n Source\n Code
\n Take the next event out of the event queue specified, and copy the\n@@ -1369,19 +1369,19 @@\n href=\"events.html#al_wait_for_event_timed\">al_wait_for_event_timed,\n al_wait_for_event_until,\n al_get_next_event
\n Examples:
\n \n al_wait_for_event_timed
\n bool al_wait_for_event_timed(ALLEGRO_EVENT_QUEUE *queue,\n ALLEGRO_EVENT *ret_event, float secs)
\n Source\n Code
\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -134,17 +134,17 @@\n When the event was generated.\n By examining the type field you can then access type-specific fields. The\n any.source field tells you which event source generated that particular event.\n The any.timestamp field tells you when the event was generated. The time is\n referenced to the same starting point as _\ba_\bl_\b__\bg_\be_\bt_\b__\bt_\bi_\bm_\be.\n Each event is of one of the following types, with the usable fields given.\n Examples:\n+ * _\bc_\bo_\bm_\bm_\bo_\bn_\b._\bc\n * _\be_\bx_\b__\bi_\bn_\bj_\be_\bc_\bt_\b__\be_\bv_\be_\bn_\bt_\bs_\b._\bc\n * _\be_\bx_\b__\be_\bn_\be_\bt_\b__\bs_\be_\br_\bv_\be_\br_\b._\bc\n- * _\be_\bx_\b__\bt_\bi_\bm_\be_\br_\b__\bp_\ba_\bu_\bs_\be_\b._\bc\n *\b**\b**\b**\b**\b* A\bAL\bLL\bLE\bEG\bGR\bRO\bO_\b_E\bEV\bVE\bEN\bNT\bT_\b_J\bJO\bOY\bYS\bST\bTI\bIC\bCK\bK_\b_A\bAX\bXI\bIS\bS *\b**\b**\b**\b**\b*\n A joystick axis value changed.\n joystick.id (ALLEGRO_JOYSTICK *)\n The joystick which generated the event. This is not the same as the event\n source joystick.source.\n joystick.stick (int)\n The stick number, counting from zero. Axes on a joystick are grouped into\n@@ -537,17 +537,17 @@\n typedef struct ALLEGRO_EVENT_QUEUE ALLEGRO_EVENT_QUEUE;\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n An event queue holds events that have been generated by event sources that are\n registered with the queue. Events are stored in the order they are generated.\n Access is in a strictly FIFO (first-in-first-out) order.\n See also: _\ba_\bl_\b__\bc_\br_\be_\ba_\bt_\be_\b__\be_\bv_\be_\bn_\bt_\b__\bq_\bu_\be_\bu_\be, _\ba_\bl_\b__\bd_\be_\bs_\bt_\br_\bo_\by_\b__\be_\bv_\be_\bn_\bt_\b__\bq_\bu_\be_\bu_\be\n Examples:\n+ * _\bc_\bo_\bm_\bm_\bo_\bn_\b._\bc\n * _\be_\bx_\b__\bi_\bn_\bj_\be_\bc_\bt_\b__\be_\bv_\be_\bn_\bt_\bs_\b._\bc\n * _\be_\bx_\b__\be_\bn_\be_\bt_\b__\bs_\be_\br_\bv_\be_\br_\b._\bc\n- * _\be_\bx_\b__\bt_\bi_\bm_\be_\br_\b__\bp_\ba_\bu_\bs_\be_\b._\bc\n *\b**\b**\b**\b**\b**\b* A\bAL\bLL\bLE\bEG\bGR\bRO\bO_\b_E\bEV\bVE\bEN\bNT\bT_\b_S\bSO\bOU\bUR\bRC\bCE\bE *\b**\b**\b**\b**\b**\b*\n typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE;\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n An event source is any object which can generate events. For example, an\n ALLEGRO_DISPLAY can generate events, and you can get the ALLEGRO_EVENT_SOURCE\n pointer from an ALLEGRO_DISPLAY with _\ba_\bl_\b__\bg_\be_\bt_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\b__\be_\bv_\be_\bn_\bt_\b__\bs_\bo_\bu_\br_\bc_\be.\n You may create your own \u201cuser\u201d event sources that emit custom events.\n@@ -599,41 +599,41 @@\n *\b**\b**\b**\b**\b**\b* a\bal\bl_\b_c\bcr\bre\bea\bat\bte\be_\b_e\bev\bve\ben\bnt\bt_\b_q\bqu\bue\beu\bue\be *\b**\b**\b**\b**\b**\b*\n ALLEGRO_EVENT_QUEUE *al_create_event_queue(void)\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n Create a new, empty event queue, returning a pointer to the newly created\n object if successful. Returns NULL on error.\n See also: _\ba_\bl_\b__\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b__\be_\bv_\be_\bn_\bt_\b__\bs_\bo_\bu_\br_\bc_\be, _\ba_\bl_\b__\bd_\be_\bs_\bt_\br_\bo_\by_\b__\be_\bv_\be_\bn_\bt_\b__\bq_\bu_\be_\bu_\be, _\bA_\bL_\bL_\bE_\bG_\bR_\bO_\b__\bE_\bV_\bE_\bN_\bT_\b__\bQ_\bU_\bE_\bU_\bE\n Examples:\n+ * _\bc_\bo_\bm_\bm_\bo_\bn_\b._\bc\n * _\be_\bx_\b__\bi_\bn_\bj_\be_\bc_\bt_\b__\be_\bv_\be_\bn_\bt_\bs_\b._\bc\n * _\be_\bx_\b__\be_\bn_\be_\bt_\b__\bs_\be_\br_\bv_\be_\br_\b._\bc\n- * _\be_\bx_\b__\bt_\bi_\bm_\be_\br_\b__\bp_\ba_\bu_\bs_\be_\b._\bc\n *\b**\b**\b**\b**\b**\b* a\bal\bl_\b_d\bde\bes\bst\btr\bro\boy\by_\b_e\bev\bve\ben\bnt\bt_\b_q\bqu\bue\beu\bue\be *\b**\b**\b**\b**\b**\b*\n void al_destroy_event_queue(ALLEGRO_EVENT_QUEUE *queue)\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n Destroy the event queue specified. All event sources currently registered with\n the queue will be automatically unregistered before the queue is destroyed.\n This function does nothing if queue is NULL. (since 5.2.9)\n See also: _\ba_\bl_\b__\bc_\br_\be_\ba_\bt_\be_\b__\be_\bv_\be_\bn_\bt_\b__\bq_\bu_\be_\bu_\be, _\bA_\bL_\bL_\bE_\bG_\bR_\bO_\b__\bE_\bV_\bE_\bN_\bT_\b__\bQ_\bU_\bE_\bU_\bE\n Examples:\n+ * _\bc_\bo_\bm_\bm_\bo_\bn_\b._\bc\n * _\be_\bx_\b__\bi_\bn_\bj_\be_\bc_\bt_\b__\be_\bv_\be_\bn_\bt_\bs_\b._\bc\n * _\be_\bx_\b__\bt_\bi_\bm_\be_\br_\b__\bp_\ba_\bu_\bs_\be_\b._\bc\n- * _\bc_\bo_\bm_\bm_\bo_\bn_\b._\bc\n *\b**\b**\b**\b**\b**\b* a\bal\bl_\b_r\bre\beg\bgi\bis\bst\bte\ber\br_\b_e\bev\bve\ben\bnt\bt_\b_s\bso\bou\bur\brc\bce\be *\b**\b**\b**\b**\b**\b*\n void al_register_event_source(ALLEGRO_EVENT_QUEUE *queue,\n ALLEGRO_EVENT_SOURCE *source)\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n Register the event source with the event queue specified. An event source may\n be registered with any number of event queues simultaneously, or none. Trying\n to register an event source with the same event queue more than once does\n nothing.\n See also: _\ba_\bl_\b__\bu_\bn_\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b__\be_\bv_\be_\bn_\bt_\b__\bs_\bo_\bu_\br_\bc_\be, _\bA_\bL_\bL_\bE_\bG_\bR_\bO_\b__\bE_\bV_\bE_\bN_\bT_\b__\bS_\bO_\bU_\bR_\bC_\bE\n Examples:\n+ * _\bc_\bo_\bm_\bm_\bo_\bn_\b._\bc\n * _\be_\bx_\b__\bi_\bn_\bj_\be_\bc_\bt_\b__\be_\bv_\be_\bn_\bt_\bs_\b._\bc\n * _\be_\bx_\b__\be_\bn_\be_\bt_\b__\bs_\be_\br_\bv_\be_\br_\b._\bc\n- * _\be_\bx_\b__\bt_\bi_\bm_\be_\br_\b__\bp_\ba_\bu_\bs_\be_\b._\bc\n *\b**\b**\b**\b**\b**\b* a\bal\bl_\b_u\bun\bnr\bre\beg\bgi\bis\bst\bte\ber\br_\b_e\bev\bve\ben\bnt\bt_\b_s\bso\bou\bur\brc\bce\be *\b**\b**\b**\b**\b**\b*\n void al_unregister_event_source(ALLEGRO_EVENT_QUEUE *queue,\n ALLEGRO_EVENT_SOURCE *source)\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n Unregister an event source with an event queue. If the event source is not\n actually registered with the event queue, nothing happens.\n If the queue had any events in it which originated from the event source, they\n@@ -668,16 +668,16 @@\n *\b**\b**\b**\b**\b**\b* a\bal\bl_\b_i\bis\bs_\b_e\bev\bve\ben\bnt\bt_\b_q\bqu\bue\beu\bue\be_\b_e\bem\bmp\bpt\bty\by *\b**\b**\b**\b**\b**\b*\n bool al_is_event_queue_empty(ALLEGRO_EVENT_QUEUE *queue)\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n Return true if the event queue specified is currently empty.\n See also: _\ba_\bl_\b__\bg_\be_\bt_\b__\bn_\be_\bx_\bt_\b__\be_\bv_\be_\bn_\bt, _\ba_\bl_\b__\bp_\be_\be_\bk_\b__\bn_\be_\bx_\bt_\b__\be_\bv_\be_\bn_\bt\n Examples:\n * _\be_\bx_\b__\bi_\bn_\bj_\be_\bc_\bt_\b__\be_\bv_\be_\bn_\bt_\bs_\b._\bc\n- * _\be_\bx_\b__\bo_\bp_\be_\bn_\bg_\bl_\b._\bc\n * _\be_\bx_\b__\bt_\bo_\bu_\bc_\bh_\b__\bi_\bn_\bp_\bu_\bt_\b._\bc\n+ * _\be_\bx_\b__\bo_\bp_\be_\bn_\bg_\bl_\b._\bc\n *\b**\b**\b**\b**\b**\b* a\bal\bl_\b_g\bge\bet\bt_\b_n\bne\bex\bxt\bt_\b_e\bev\bve\ben\bnt\bt *\b**\b**\b**\b**\b**\b*\n bool al_get_next_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event)\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n Take the next event out of the event queue specified, and copy the contents\n into ret_event, returning true. The original event will be removed from the\n queue. If the event queue is empty, return false and the contents of ret_event\n are unspecified.\n@@ -712,17 +712,17 @@\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n Wait until the event queue specified is non-empty. If ret_event is not NULL,\n the first event in the queue will be copied into ret_event and removed from the\n queue. If ret_event is NULL the first event is left at the head of the queue.\n See also: _\bA_\bL_\bL_\bE_\bG_\bR_\bO_\b__\bE_\bV_\bE_\bN_\bT, _\ba_\bl_\b__\bw_\ba_\bi_\bt_\b__\bf_\bo_\br_\b__\be_\bv_\be_\bn_\bt_\b__\bt_\bi_\bm_\be_\bd, _\ba_\bl_\b__\bw_\ba_\bi_\bt_\b__\bf_\bo_\br_\b__\be_\bv_\be_\bn_\bt_\b__\bu_\bn_\bt_\bi_\bl,\n _\ba_\bl_\b__\bg_\be_\bt_\b__\bn_\be_\bx_\bt_\b__\be_\bv_\be_\bn_\bt\n Examples:\n+ * _\bc_\bo_\bm_\bm_\bo_\bn_\b._\bc\n * _\be_\bx_\b__\bi_\bn_\bj_\be_\bc_\bt_\b__\be_\bv_\be_\bn_\bt_\bs_\b._\bc\n * _\be_\bx_\b__\be_\bn_\be_\bt_\b__\bs_\be_\br_\bv_\be_\br_\b._\bc\n- * _\be_\bx_\b__\bt_\bi_\bm_\be_\br_\b__\bp_\ba_\bu_\bs_\be_\b._\bc\n *\b**\b**\b**\b**\b**\b* a\bal\bl_\b_w\bwa\bai\bit\bt_\b_f\bfo\bor\br_\b_e\bev\bve\ben\bnt\bt_\b_t\bti\bim\bme\bed\bd *\b**\b**\b**\b**\b**\b*\n bool al_wait_for_event_timed(ALLEGRO_EVENT_QUEUE *queue,\n ALLEGRO_EVENT *ret_event, float secs)\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n Wait until the event queue specified is non-empty. If ret_event is not NULL,\n the first event in the queue will be copied into ret_event and removed from the\n queue. If ret_event is NULL the first event is left at the head of the queue.\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/file.html", "source2": "./usr/share/doc/allegro5-doc/refman/file.html", "unified_diff": "@@ -247,17 +247,17 @@\n An opaque object representing an open file. This could be a real file\n on disk or a virtual file.
\n Examples:
\n \n ALLEGRO_FILE_INTERFACE
\n typedef struct ALLEGRO_FILE_INTERFACE
\n Source\n Code
\n A structure containing function pointers to handle a type of \u201cfile\u201d,\n@@ -345,15 +345,15 @@\n
Examples:
\n \n al_fopen_interface
\n ALLEGRO_FILE *al_fopen_interface(const ALLEGRO_FILE_INTERFACE *drv,\n const char *path, const char *mode)
\n Source\n Code
\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -90,16 +90,16 @@\n *\b**\b**\b**\b**\b**\b* A\bAL\bLL\bLE\bEG\bGR\bRO\bO_\b_F\bFI\bIL\bLE\bE *\b**\b**\b**\b**\b**\b*\n typedef struct ALLEGRO_FILE ALLEGRO_FILE;\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n An opaque object representing an open file. This could be a real file on disk\n or a virtual file.\n Examples:\n * _\be_\bx_\b__\bf_\bi_\bl_\be_\b._\bc\n- * _\be_\bx_\b__\bd_\bi_\br_\b._\bc\n * _\be_\bx_\b__\bm_\be_\bm_\bf_\bi_\bl_\be_\b._\bc\n+ * _\be_\bx_\b__\bd_\bi_\br_\b._\bc\n *\b**\b**\b**\b**\b**\b* A\bAL\bLL\bLE\bEG\bGR\bRO\bO_\b_F\bFI\bIL\bLE\bE_\b_I\bIN\bNT\bTE\bER\bRF\bFA\bAC\bCE\bE *\b**\b**\b**\b**\b**\b*\n typedef struct ALLEGRO_FILE_INTERFACE\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n A structure containing function pointers to handle a type of \u201cfile\u201d, real or\n virtual. See the full discussion in _\ba_\bl_\b__\bs_\be_\bt_\b__\bn_\be_\bw_\b__\bf_\bi_\bl_\be_\b__\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be.\n The fields are:\n void* (*fi_fopen)(const char *path, const char *mode);\n@@ -156,15 +156,15 @@\n files. To avoid this behaviour you need to open file streams in binary mode by\n using a mode argument containing a \u201cb\u201d, e.g.\u00a0\u201crb\u201d, \u201cwb\u201d.\n Returns a file handle on success, or NULL on error.\n See also: _\ba_\bl_\b__\bs_\be_\bt_\b__\bn_\be_\bw_\b__\bf_\bi_\bl_\be_\b__\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be, _\ba_\bl_\b__\bf_\bc_\bl_\bo_\bs_\be.\n Examples:\n * _\be_\bx_\b__\bf_\bi_\bl_\be_\b._\bc\n * _\be_\bx_\b__\bf_\bi_\bl_\be_\b__\bs_\bl_\bi_\bc_\be_\b._\bc\n- * _\be_\bx_\b__\bb_\bi_\bt_\bm_\ba_\bp_\b__\bf_\bi_\bl_\be_\b._\bc\n+ * _\be_\bx_\b__\bp_\bh_\by_\bs_\bf_\bs_\b._\bc\n *\b**\b**\b**\b**\b**\b* a\bal\bl_\b_f\bfo\bop\bpe\ben\bn_\b_i\bin\bnt\bte\ber\brf\bfa\bac\bce\be *\b**\b**\b**\b**\b**\b*\n ALLEGRO_FILE *al_fopen_interface(const ALLEGRO_FILE_INTERFACE *drv,\n const char *path, const char *mode)\n _\bS_\bo_\bu_\br_\bc_\be_\b _\bC_\bo_\bd_\be\n Opens a file using the specified interface, instead of the interface set with\n _\ba_\bl_\b__\bs_\be_\bt_\b__\bn_\be_\bw_\b__\bf_\bi_\bl_\be_\b__\bi_\bn_\bt_\be_\br_\bf_\ba_\bc_\be.\n See also: _\ba_\bl_\b__\bf_\bo_\bp_\be_\bn\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/font.html", "source2": "./usr/share/doc/allegro5-doc/refman/font.html", "unified_diff": "@@ -297,18 +297,18 @@\n If you instead pass the filename of a bitmap file, it will be loaded\n with al_load_bitmap and a\n font in Allegro\u2019s bitmap font format will be created from it with al_grab_font_from_bitmap.\n Examples:
\n \n ALLEGRO_GLYPH
\n typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH;
\n Source\n Code
\n@@ -364,18 +364,18 @@\n See also: al_init_image_addon, al_init_ttf_addon, al_shutdown_font_addon
\n Examples:
\n \n al_is_font_addon_initialized
\n bool al_is_font_addon_initialized(void)
\n Source\n Code
\n@@ -428,19 +428,19 @@\n Code\n Frees the memory being used by a font structure. Does nothing if\n passed NULL.
\n See also: al_load_font
\n Examples:
\n \n al_register_font_loader
\n bool al_register_font_loader(char const *extension,\n ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags))
\n Source\n Code
\n@@ -526,18 +526,18 @@\n See also: al_get_ustr_width, al_get_font_line_height, al_get_text_dimensions
\n Examples:
\n \n al_get_ustr_width
\n int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr)
\n Source\n Code
\n@@ -774,19 +774,14 @@\n be chained, but make sure there is no loop as that would crash the\n application! Pass NULL to remove a fallback font again.\n Since: 5.1.12
\n See also: al_get_fallback_font, al_draw_glyph, al_draw_text
\n-Examples:
\n-\n al_get_fallback_font
\n ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font)
\n Source\n Code
\n Retrieves the fallback font for this font or NULL.
\n Since: 5.1.12
\n@@ -903,19 +898,14 @@\n | | * *|\n v | **** |\n +---+-------+\n Since: 5.1.12
\n See also: al_draw_glyph, al_get_glyph_width, al_get_glyph_advance.
\n-Examples:
\n-\n al_get_glyph_advance
\n int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2)
\n Source\n Code
\n This function returns by how much the x position should be advanced\n for left to right text drawing when the glyph that corresponds to\n@@ -977,21 +967,14 @@\n / \\ |\n / \\ \\_ \n ---------------\n
Since: 5.1.12
\n See also: al_draw_glyph, al_get_glyph_width, al_get_glyph_dimensions.
\n-Examples:
\n-\n Multiline text drawing
\n al_draw_multiline_text
\n void al_draw_multiline_text(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n int flags, const char *text)
\n Source\n@@ -1038,21 +1021,14 @@\n layout, you can use al_do_multiline_text.
\n Since: 5.1.9
\n See also: al_do_multiline_text, al_draw_multiline_ustr, al_draw_multiline_textf
\n-Examples:
\n-\n al_draw_multiline_ustr
\n void al_draw_multiline_ustr(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n int flags, const ALLEGRO_USTR *ustr)
\n Source\n Code
\n@@ -1077,19 +1053,14 @@\n href=\"font.html#al_draw_multiline_text\">al_draw_multiline_text\n otherwise.\n Since: 5.1.9
\n See also: al_draw_multiline_text, al_draw_multiline_ustr, al_do_multiline_text
\n-Examples:
\n-\n al_do_multiline_text
\n void al_do_multiline_text(const ALLEGRO_FONT *font,\n float max_width, const char *text,\n bool (*cb)(int line_num, const char *line, int size, void *extra),\n void *extra)
\n Source\n@@ -1124,19 +1095,14 @@\n guaranteed to be valid after that.
\n If the callback cb
returns false, al_do_multiline_text\n will stop immediately, otherwise it will continue on to the next\n line.
\n Since: 5.1.9
\n See also: al_draw_multiline_text
\n-Examples:
\n-\n al_do_multiline_ustr
\n void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width,\n const ALLEGRO_USTR *ustr,\n bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra),\n void *extra)
\n Source\n@@ -1300,23 +1266,14 @@\n Code
\n Call this after al_init_font_addon to make al_load_font recognize \u201c.ttf\u201d and\n other formats supported by al_load_ttf_font.
\n Returns true on success, false on failure.
\n-Examples:
\n-\n al_is_ttf_addon_initialized
\n bool al_is_ttf_addon_initialized(void)
\n Source\n Code
\n Returns true if the TTF addon is initialized, otherwise returns\n false.
\n@@ -1358,23 +1315,14 @@\n ALLEGRO_TTF_NO_AUTOHINT - Disable the Auto Hinter which is\n enabled by default in newer versions of FreeType. Since: 5.0.6,\n 5.1.2
\n \n See also: al_init_ttf_addon, al_load_ttf_font_f
\n-Examples:
\n-\n al_load_ttf_font_f
\n ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,\n char const *filename, int size, int flags)
\n Source\n Code
\n Like al_load_ttf_font, but\n@@ -1444,21 +1392,14 @@\n compatibility.
\n Since: 5.2.1
\n \n Unstable\n API: This API is new and subject to refinement.
\n
\n See also: ALLEGRO_GLYPH
\n-Examples:
\n-\n \n Allegro version 5.2.10\n - Last updated: 2024-11-29 14:21:22 UTC\n
\n \n