package allegro5

  1. Overview
  2. Docs

Module Al5Source

Types and constants

Abstract types

Sourcetype bitmap
Sourcetype color
Sourcetype event_queue
Sourcetype event_source
Sourcetype display
Sourcetype font
Sourcetype joystick
Sourcetype shader
Sourcetype timeout
Sourcetype timer
Sourcetype transform

Audio

Sourcetype audio_stream
Sourcetype mixer
Sourcetype sample
Sourcetype sample_id

Aggregation types

Sourcetype pos = float * float
Sourcemodule DisplayMode : sig ... end
Sourcemodule JoystickState : sig ... end
Sourcemodule KeyboardState : sig ... end
Sourcemodule MouseState : sig ... end
Sourcemodule TouchState : sig ... end

Enumerations and flags

Sourcemodule Display : sig ... end
Sourcemodule Bitmap : sig ... end
Sourcemodule Key : sig ... end
Sourcemodule Keymod : sig ... end
Sourcemodule MouseButton : sig ... end
Sourcemodule DisplayOrientation : sig ... end
Sourcemodule Flip : sig ... end
Sourcemodule ShaderType : sig ... end
Sourcemodule ShaderPlatform : sig ... end
Sourcemodule StandardPath : sig ... end
Sourcemodule LineJoin : sig ... end
Sourcemodule LineCap : sig ... end
Sourcemodule Text : sig ... end
Sourcemodule Ttf : sig ... end
Sourcemodule Playmode : sig ... end

Events

Sourcemodule Event : sig ... end

Displays

Display creation

Sourceval create_display : int -> int -> display
Sourceval destroy_display : display -> unit
Sourceval get_new_display_flags : unit -> int
Sourceval set_new_display_flags : int -> unit

Display operations

Sourceval get_display_event_source : display -> event_source
Sourceval flip_display : unit -> unit
Sourceval get_backbuffer : display -> bitmap

Display size and position

Sourceval get_display_width : display -> int
Sourceval get_display_height : display -> int
Sourceval resize_display : display -> int -> int -> bool
Sourceval acknowledge_resize : display -> unit
Sourceval get_window_position : display -> int * int
Sourceval set_window_position : display -> int -> int -> unit
Sourceval get_window_constraints : display -> int * int * int * int
Sourceval set_window_constraints : display -> int -> int -> int -> int -> unit
Sourceval apply_window_constraints : display -> bool -> unit
Sourceval get_display_adapter : display -> int

Display settings

Sourceval set_window_title : display -> string -> unit
Sourceval set_new_window_title : string -> unit
Sourceval get_new_window_title : unit -> string
Sourceval set_display_icon : display -> bitmap -> unit
Sourceval set_display_icons : display -> bitmap array -> unit

Fullscreen modes

Sourceval get_display_mode : int -> DisplayMode.t
Sourceval get_num_display_modes : unit -> int

Events

Sourceval create_event_queue : unit -> event_queue
Sourceval destroy_event_queue : event_queue -> unit
Sourceval register_event_source : event_queue -> event_source -> unit
Sourceval unregister_event_source : event_queue -> event_source -> unit
Sourceval is_event_source_registered : event_queue -> event_source -> bool

Event queue contents

Sourceval pause_event_queue : event_queue -> bool -> unit
Sourceval is_event_queue_paused : event_queue -> bool
Sourceval is_event_queue_empty : event_queue -> bool
Sourceval get_next_event : event_queue -> Event.t option
Sourceval peek_next_event : event_queue -> Event.t option
Sourceval drop_next_event : event_queue -> bool
Sourceval flush_event_queue : event_queue -> unit
Sourceval wait_for_event : event_queue -> Event.t
Sourceval wait_for_event_timed : event_queue -> bool -> float -> Event.t option
Sourceval wait_for_event_until : event_queue -> bool -> timeout -> Event.t option

Graphics routines

Colors

Sourceval map_rgb : int -> int -> int -> color
Sourceval map_rgba : int -> int -> int -> int -> color
Sourceval premul_rgba : int -> int -> int -> int -> color
Sourceval map_rgb_f : float -> float -> float -> color
Sourceval map_rgba_f : float -> float -> float -> float -> color
Sourceval premul_rgba_f : float -> float -> float -> float -> color
Sourceval unmap_rgb : color -> int * int * int
Sourceval unmap_rgba : color -> int * int * int * int
Sourceval unmap_rgb_f : color -> float * float * float
Sourceval unmap_rgba_f : color -> float * float * float * float

Bitmap creation

Sourceval create_bitmap : int -> int -> bitmap
Sourceval create_sub_bitmap : bitmap -> int -> int -> int -> int -> bitmap
Sourceval clone_bitmap : bitmap -> bitmap
Sourceval convert_bitmap : bitmap -> unit
Sourceval convert_memory_bitmaps : unit -> unit
Sourceval destroy_bitmap : bitmap -> unit

Bitmap properties

Sourceval get_bitmap_width : bitmap -> int
Sourceval get_bitmap_height : bitmap -> int
Sourceval get_pixel : bitmap -> int -> int -> color
Sourceval is_compatible_bitmap : bitmap -> bool
Sourceval is_sub_bitmap : bitmap -> bool
Sourceval get_parent_bitmap : bitmap -> bitmap
Sourceval get_bitmap_x : bitmap -> int
Sourceval get_bitmap_y : bitmap -> int
Sourceval reparent_bitmap : bitmap -> bitmap -> int -> int -> int -> int

Drawing operations

Sourceval clear_to_color : color -> unit
Sourceval draw_bitmap : bitmap -> ?tint:color -> pos -> int -> unit
Sourceval draw_bitmap_region : bitmap -> ?tint:color -> pos -> pos -> pos -> int -> unit
Sourceval draw_rotated_bitmap : bitmap -> ?tint:color -> pos -> pos -> float -> int -> unit
Sourceval draw_scaled_bitmap : bitmap -> ?tint:color -> pos -> pos -> pos -> pos -> int -> unit
Sourceval draw_scaled_rotated_bitmap : bitmap -> ?tint:color -> pos -> pos -> pos -> float -> int -> unit
Sourceval draw_scaled_rotated_bitmap_region : bitmap -> pos -> pos -> ?tint:color -> pos -> pos -> pos -> float -> int -> unit
Sourceval put_pixel : int -> int -> color -> unit
Sourceval put_blended_pixel : int -> int -> color -> unit
Sourceval convert_mask_to_alpha : bitmap -> color -> unit

Target bitmap

Sourceval get_target_bitmap : unit -> bitmap
Sourceval set_target_bitmap : bitmap -> unit
Sourceval set_target_backbuffer : display -> unit
Sourceval get_current_display : unit -> display

Deferred drawing

Sourceval hold_bitmap_drawing : bool -> unit
Sourceval is_bitmap_drawing_held : unit -> bool

Image I/O

Sourceval register_bitmap_loader : string -> (string -> int -> bitmap option) option -> unit
Sourceval register_bitmap_saver : string -> (string -> bitmap -> bool) option -> unit
Sourceval load_bitmap : string -> bitmap
Sourceval load_bitmap_flags : string -> int -> bitmap
Sourceval save_bitmap : string -> bitmap -> unit
Sourceval identify_bitmap : string -> string

Joystick routines

Sourceval install_joystick : unit -> unit
Sourceval is_joystick_installed : unit -> bool
Sourceval uninstall_joystick : unit -> unit
Sourceval get_joystick_event_source : unit -> event_source
Sourceval reconfigure_joysticks : unit -> bool

Joystick information

Sourceval get_num_joysticks : unit -> int
Sourceval get_joystick : int -> joystick
Sourceval release_joystick : joystick -> unit
Sourceval get_joystick_active : joystick -> bool
Sourceval get_joystick_name : joystick -> string
Sourceval get_joystick_stick_name : joystick -> int -> string option
Sourceval get_joystick_axis_name : joystick -> int -> int -> string option
Sourceval get_joystick_button_name : joystick -> int -> string option
Sourceval is_joystick_stick_analogue : joystick -> int -> bool
Sourceval get_joystick_num_sticks : joystick -> int
Sourceval get_joystick_num_axes : joystick -> int -> int
Sourceval get_joystick_num_buttons : joystick -> int
Sourceval get_joystick_state : joystick -> JoystickState.t
Sourceval get_joystick_state_axis : JoystickState.t -> int -> int -> float
Sourceval get_joystick_state_button : JoystickState.t -> int -> int

Keyboard routines

Sourceval install_keyboard : unit -> unit
Sourceval is_keyboard_installed : unit -> bool
Sourceval uninstall_keyboard : unit -> unit
Sourceval get_keyboard_event_source : unit -> event_source

Keyboard information

Sourceval get_keyboard_state : unit -> KeyboardState.t
Sourceval key_down : KeyboardState.t -> Key.t -> bool
Sourceval keycode_to_name : Key.t -> string
Sourceval can_set_keyboard_leds : unit -> bool
Sourceval set_keyboard_leds : int -> unit

Mouse routines

Sourceval install_mouse : unit -> unit
Sourceval is_mouse_installed : unit -> bool
Sourceval uninstall_mouse : unit -> unit
Sourceval get_mouse_event_source : unit -> event_source

Mouse information

Sourceval get_mouse_num_axis : unit -> int
Sourceval get_mouse_num_buttons : unit -> int
Sourceval get_mouse_state : unit -> MouseState.t
Sourceval get_mouse_state_axis : MouseState.t -> int -> int
Sourceval mouse_button_down : MouseState.t -> int -> bool
Sourceval set_mouse_xy : display -> int -> int -> bool
Sourceval set_mouse_z : int -> bool
Sourceval set_mouse_w : int -> bool
Sourceval set_mouse_axis : int -> int -> bool
Sourceval set_mouse_wheel_precision : int -> unit
Sourceval get_mouse_wheel_precision : unit -> int

Shader routines

Sourceval create_shader : ShaderPlatform.t -> shader
Sourceval attach_shader_source : shader -> ShaderType.t -> string -> unit
Sourceval attach_shader_source_file : shader -> ShaderType.t -> string -> unit
Sourceval build_shader : shader -> unit
Sourceval get_shader_log : shader -> string
Sourceval get_shader_platform : shader -> ShaderPlatform.t
Sourceval use_shader : shader option -> unit
Sourceval get_current_shader : unit -> shader
Sourceval destroy_shader : shader -> unit
Sourceval get_default_shader_source : ShaderPlatform.t -> ShaderType.t -> string

Uniforms

Sourceval set_shader_sampler : string -> bitmap -> int -> unit
Sourceval set_shader_matrix : string -> transform -> unit
Sourceval set_shader_int : string -> int -> unit
Sourceval set_shader_float : string -> float -> unit
Sourceval set_shader_bool : string -> bool -> unit
Sourceval set_shader_int_vector : string -> int array array -> unit
Sourceval set_shader_float_vector : string -> float array array -> unit

System routines

Sourceval init : unit -> unit
Sourceval uninstall_system : unit -> unit
Sourceval is_system_installed : unit -> bool
Sourceval get_allegro_version : unit -> int
Sourceval get_standard_path : StandardPath.t -> string
Sourceval set_exe_name : string -> unit
Sourceval set_app_name : string -> unit
Sourceval set_org_name : string -> unit
Sourceval get_app_name : unit -> string
Sourceval get_org_name : unit -> string
Sourceval get_cpu_count : unit -> int
Sourceval get_ram_size : unit -> int

Time

Sourceval get_time : unit -> float
Sourceval init_timeout : float -> timeout
Sourceval rest : float -> unit

Timer

Sourceval create_timer : float -> timer
Sourceval start_timer : timer -> unit
Sourceval resume_timer : timer -> unit
Sourceval stop_timer : timer -> unit
Sourceval get_timer_started : timer -> bool
Sourceval destroy_timer : timer -> unit
Sourceval get_timer_count : timer -> int64
Sourceval set_timer_count : timer -> int64 -> unit
Sourceval add_timer_count : timer -> int64 -> unit
Sourceval get_timer_speed : timer -> float
Sourceval set_timer_speed : timer -> float -> unit
Sourceval get_timer_event_source : timer -> event_source

Touch input

Sourceval install_touch_input : unit -> unit
Sourceval is_touch_input_installed : unit -> bool
Sourceval uninstall_touch_input : unit -> unit
Sourceval get_touch_input_event_source : unit -> event_source
Sourceval get_touch_input_state : unit -> TouchState.t array

Audio addons

Sourceval install_audio : unit -> unit
Sourceval is_audio_installed : unit -> bool
Sourceval uninstall_audio : unit -> unit
Sourceval get_allegro_audio_version : unit -> int

Samples

Sourceval load_sample : string -> sample
Sourceval save_sample : string -> sample -> bool
Sourceval destroy_sample : sample -> unit
Sourceval reserve_samples : int -> unit
Sourceval play_sample : sample -> float -> float -> float -> Playmode.t -> sample_id option
Sourceval stop_sample : sample -> unit
Sourceval stop_samples : unit -> unit

Audio streams

Sourceval load_audio_stream : string -> int -> int -> audio_stream
Sourceval destroy_audio_stream : audio_stream -> unit
Sourceval get_audio_stream_event_source : audio_stream -> event_source
Sourceval rewind_audio_stream : audio_stream -> bool
Sourceval detach_audio_stream : audio_stream -> bool
Sourceval get_audio_stream_playing : audio_stream -> bool
Sourceval set_audio_stream_playing : audio_stream -> bool -> bool
Sourceval get_audio_stream_playmode : audio_stream -> Playmode.t
Sourceval set_audio_stream_playmode : audio_stream -> Playmode.t -> bool

Mixers

Sourceval get_default_mixer : unit -> mixer
Sourceval attach_audio_stream_to_mixer : audio_stream -> mixer -> bool

Audio codecs

Sourceval init_acodec_addon : unit -> unit
Sourceval is_acodec_addon_initialized : unit -> bool
Sourceval get_allegro_acodec_version : unit -> int

Image I/O addon

Sourceval init_image_addon : unit -> unit
Sourceval is_image_addon_initialized : unit -> bool
Sourceval shutdown_image_addon : unit -> unit
Sourceval get_allegro_image_version : unit -> int

Font addons

Sourceval init_font_addon : unit -> unit
Sourceval is_font_addon_initialized : unit -> bool
Sourceval shutdown_font_addon : unit -> unit
Sourceval get_allegro_font_version : unit -> int

General font routines

Sourceval destroy_font : font -> unit
Sourceval get_font_line_height : font -> int
Sourceval get_font_ascent : font -> int
Sourceval get_font_descent : font -> int
Sourceval get_text_width : font -> string -> int
Sourceval draw_text : font -> color -> pos -> int -> string -> unit
Sourceval draw_justified_text : font -> color -> pos -> float -> float -> int -> string -> unit
Sourceval get_text_dimensions : font -> string -> int * int * int * int
Sourceval get_font_ranges : font -> (int * int) array
Sourceval set_fallback_font : font -> font option -> unit
Sourceval get_fallback_font : font -> font

Bitmap fonts

Sourceval grab_font_from_bitmap : bitmap -> (int * int) array -> font
Sourceval load_bitmap_font : string -> font
Sourceval load_bitmap_font_flags : string -> int -> font
Sourceval create_builtin_font : unit -> font

TTF fonts

Sourceval init_ttf_addon : unit -> unit
Sourceval is_ttf_addon_initialized : unit -> bool
Sourceval shutdown_ttf_addon : unit -> unit
Sourceval get_allegro_ttf_version : unit -> int
Sourceval load_ttf_font : string -> int -> int -> font
Sourceval load_ttf_font_stretch : string -> int -> int -> int -> font

Primitives addon

Sourceval init_primitives_addon : unit -> unit
Sourceval is_primitives_addon_initialized : unit -> bool
Sourceval shutdown_primitives_addon : unit -> unit
Sourceval get_allegro_primitives_version : unit -> int

High level drawing routines

Sourceval draw_line : pos -> pos -> color -> float -> unit
Sourceval draw_triangle : pos -> pos -> pos -> color -> float -> unit
Sourceval draw_filled_triangle : pos -> pos -> pos -> color -> unit
Sourceval draw_rectangle : pos -> pos -> color -> float -> unit
Sourceval draw_filled_rectangle : pos -> pos -> color -> unit
Sourceval draw_rounded_rectangle : pos -> pos -> pos -> color -> float -> unit
Sourceval draw_filled_rounded_rectangle : pos -> pos -> pos -> color -> unit
Sourceval draw_pieslice : pos -> float -> float -> float -> color -> float -> unit
Sourceval draw_filled_pieslice : pos -> float -> float -> float -> color -> unit
Sourceval draw_ellipse : pos -> pos -> color -> float -> unit
Sourceval draw_filled_ellipse : pos -> pos -> color -> unit
Sourceval draw_circle : pos -> float -> color -> float -> unit
Sourceval draw_filled_circle : pos -> float -> color -> unit
Sourceval draw_arc : pos -> float -> float -> float -> color -> float -> unit
Sourceval draw_elliptical_arc : pos -> pos -> float -> float -> color -> float -> unit
Sourceval draw_spline : pos array -> color -> float -> unit
Sourceval draw_ribbon : pos array -> color -> float -> unit

Polygon routines

Sourceval draw_polyline : pos array -> LineJoin.t -> LineCap.t -> color -> float -> unit
Sourceval draw_polygon : pos array -> LineJoin.t -> color -> float -> unit
Sourceval draw_filled_polygon : pos array -> color -> unit
Sourceval draw_filled_polygon_with_holes : pos array -> pos array list -> color -> unit