Engine functions
Reference for functions provided by the engine, each explained how they should be called from Ano script.
Audio functions
audio_cancel
Ano script(3) Ano function reference Ano script(3)
NAME
audio_cancel - Cancel playing audio track.
SYNOPSIS
audio_cancel (
(handle) AUDIO_HANDLE [required]
)
DESCRIPTION
Stop playing audio track immediately. Audio track must be already
opened or created by audio_open() or one of the audio_create_*()
functions. This function cancels only one audio track identified
by AUDIO_HANDLE, if another tracks are playing simultaneously
they are not affected.
AUDIO_HANDLE is the handle of the audio track which to cancel
and must be returned by one of the functions stated above.
EXAMPLE
; Initialize audio system
audio_init
; Handle for the audio
var [handle] handle_audio
; Generate 5 seconds of white noise and play it
audio_create_noise_white (5.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_play (handle_audio, 1.0, 0.0)
; Sleep for a while and stop playing
sleep (2, 0)
audio_cancel (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_close
Ano script(3) Ano function reference Ano script(3)
NAME
audio_close - Close audio track.
SYNOPSIS
audio_close (
(handle) AUDIO_HANDLE [required]
)
DESCRIPTION
Close opened or created audio track. AUDIO_HANDLE must be valid
handle returned by audio_open() or one of the audio_create_*()
functions. After call completes, audio track is gone for good
and should not be referenced again.
AUDIO_HANDLE is the handle of the audio track which to close
and must be returned by one of the functions stated above.
EXAMPLE
See audio_cancel.
Ano script 2016-2023 Ano script(3)
audio_create_noise_white
Ano script(3) Ano function reference Ano script(3)
NAME
audio_create_noise_white - Create white noise.
SYNOPSIS
audio_create_noise_white (
(double) SECONDS [required]
)
DESCRIPTION
Create some white noise. If creating the noise succeeds, internal
variable rc has a handle for this audio track. Application must
store this handle for later use and close the track by calling
audio_close() when no longer needed.
SECONDS of noise to be generated. Note that the whole length
of noise is generated in internal buffer, so very large amount
of noise can take a considerably amount of memory.
EXAMPLE
See audio_solo.
Ano script 2016-2023 Ano script(3)
audio_create_wave_random
Ano script(3) Ano function reference Ano script(3)
NAME
audio_create_wave_random - Create random wave sound.
SYNOPSIS
audio_create_wave_random (
(double) SECONDS [required],
(double) FREQUENCY [required],
(double) AMPLITUDE [required]
)
DESCRIPTION
Create randomized wave sound. If creating the sound succeeds,
internal variable rc has a handle for this audio track. Application
must store this handle for later use and close the track by
calling audio_close() when no longer needed.
SECONDS of sound to be generated. Note that the whole length
of sound is generated in internal buffer, so very large amount
of sound can take a considerably amount of memory.
FREQUENCY is the average frequency of the sound.
AMPLITUDE is the amplitude of the sound, where range is from
complete silence, 0.0 to maximum volume, 1.0.
EXAMPLE
; Initialize audio system
audio_init
; Global uninitialized variables
var [handle] handle_audio
; Generate 5 second 400Hz (average) random wave using amplitude of
; 1.0 and play it, sounds a bit like when sitting in aeroplane
audio_create_wave_random (5.0, 400.0, 1.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_play (handle_audio, 1.0, 0.0)
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_create_wave_sine
Ano script(3) Ano function reference Ano script(3)
NAME
audio_create_wave_sine - Create sine wave sound.
SYNOPSIS
audio_create_wave_sine (
(double) SECONDS [required],
(double) FREQUENCY [required]
)
DESCRIPTION
Create sine wave sound. If creating the sound succeeds, internal
variable rc has a handle for this audio track. Application must
store this handle for later use and close the track by calling
audio_close() when no longer needed.
SECONDS of sound to be generated. Note that the whole length
of sound is generated in internal buffer, so very large amount
of sound can take a considerably amount of memory.
FREQUENCY is the frequency of the sound.
EXAMPLE
; Initialize audio system
audio_init
; Global uninitialized variables
var [handle] handle_audio
; Generate 5 second 440Hz sine wave and play it
audio_create_wave_sine (5.0, 440.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_play (handle_audio, 1.0, 0.0)
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_create_wave_square
Ano script(3) Ano function reference Ano script(3)
NAME
audio_create_wave_square - Create square wave sound.
SYNOPSIS
audio_create_wave_square (
(double) SECONDS [required],
(double) FREQUENCY [required]
)
DESCRIPTION
Create square wave sound. If creating the sound succeeds,
internal variable rc has a handle for this audio track. Application
must store this handle for later use and close the track by
calling audio_close() when no longer needed.
SECONDS of sound to be generated. Note that the whole length
of sound is generated in internal buffer, so very large amount
of sound can take a considerably amount of memory.
FREQUENCY is the frequency of the sound.
EXAMPLE
; Initialize audio system
audio_init
; Global uninitialized variables
var [handle] handle_audio
; Generate 5 second 440Hz square wave and play it
audio_create_wave_square (5.0, 440.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_play (handle_audio, 1.0, 0.0)
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_cut
Ano script(3) Ano function reference Ano script(3)
NAME
audio_cut - Mute or unmute audio track.
SYNOPSIS
audio_cut (
(handle) AUDIO_HANDLE [required]
)
DESCRIPTION
Mute audio track if it is currently playing, or unmute audio
track if it is currently muted. Audio track must be already
opened or created by audio_open() or one of the audio_create_*()
functions. This function affects only one audio track identified
by AUDIO_HANDLE, if another tracks exists, they are not affected.
AUDIO_HANDLE is the handle of the audio track which to cut and
must be returned by one of the functions stated above.
EXAMPLE
; Initialize audio system
audio_init
; Handle for the audio
var [handle] handle_audio
; Generate 5 seconds of white noise and play it
audio_create_noise_white (5.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_play (handle_audio, 1.0, 0.0)
; Sleep for a while and mute track...
sleep (1, 0)
audio_cut (handle_audio)
; ...and after a while unmute it
sleep (1, 0)
audio_cut (handle_audio)
; Wait until audio finishes
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_hold
Ano script(3) Ano function reference Ano script(3)
NAME
audio_hold - Pause or resume audio track.
SYNOPSIS
audio_hold (
(handle) AUDIO_HANDLE [required]
)
DESCRIPTION
Pause audio track if it is currently playing, or resume audio
track if it is currently paused. Audio track must be already
opened or created by audio_open() or one of the audio_create_*()
functions. This function affects only one audio track identified
by AUDIO_HANDLE, if another tracks exists, they are not affected.
AUDIO_HANDLE is the handle of the audio track which to hold and
must be returned by one of the functions stated above.
EXAMPLE
; Initialize audio system
audio_init
; Handle for the audio
var [handle] handle_audio
; Generate 5 seconds of white noise and play it
audio_create_noise_white (5.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_play (handle_audio, 1.0, 0.0)
; Sleep for a while and pause track...
sleep (1, 0)
audio_hold (handle_audio)
; ...and after a while resume it
sleep (1, 0)
audio_hold (handle_audio)
; Wait until audio finishes
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_init
Ano script(3) Ano function reference Ano script(3)
NAME
audio_init - Initialize audio system.
SYNOPSIS
audio_init
DESCRIPTION
Initialize audio system. This call must be called before any
other audio functions, like audio_open(). Initialization must
be done only once in application lifetime.
EXAMPLE
See audio_cancel.
Ano script 2016-2023 Ano script(3)
audio_master_dec
Ano script(3) Ano function reference Ano script(3)
NAME
audio_master_dec - Decrease master volume.
SYNOPSIS
audio_master_dec (
(float) VALUE [required]
)
DESCRIPTION
Decrease master volume by VALUE. Master volume range is from
complete silence, 0.0 to maximum volume, 1.0, so decrementing
VALUE of 0.1 from maximum volume causes current volume to be
90% from maximum, or decrease by 1/10th, which way you want to
look at it.
EXAMPLE
; Initialize audio system
audio_init
; Handle for the audio
var [handle] handle_audio
; Generate 5 seconds of white noise and play it
audio_create_noise_white (5.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_master_set (1.0)
audio_play (handle_audio, 1.0, 0.0)
; Sleep for a while and decrease master volume by 50%
sleep (2, 0)
audio_master_dec (0.5)
; Wait until audio finishes
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_master_get
Ano script(3) Ano function reference Ano script(3)
NAME
audio_master_get - Get master volume.
SYNOPSIS
audio_master_get
DESCRIPTION
Get current master volume value to internal variable rc.
EXAMPLE
; Initialize audio system
audio_init
; Handle for the audio
var [handle] handle_audio
; Generate 5 seconds of white noise and play it
audio_create_noise_white (5.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_master_set (1.0)
audio_master_get
mov vol (rc)
dump vol
audio_play (handle_audio, 1.0, 0.0)
; Sleep for a while and decrease master volume by 50%
sleep (2, 0)
audio_master_dec (0.5)
audio_master_get
mov vol (rc)
dump vol
; Wait until audio finishes
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_master_inc
Ano script(3) Ano function reference Ano script(3)
NAME
audio_master_inc - Increase master volume.
SYNOPSIS
audio_master_inc (
(float) VALUE [required]
)
DESCRIPTION
Increase master volume by VALUE. Master volume range is from
complete silence, 0.0 to maximum volume, 1.0, so incrementing
VALUE of 0.1 to current volume causes volume to increase by
1/10th.
EXAMPLE
; Initialize audio system
audio_init
; Handle for the audio
var [handle] handle_audio
; Generate 5 seconds of white noise and play it
audio_create_noise_white (5.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_master_set (0.25)
audio_play (handle_audio, 1.0, 0.0)
; Sleep for a while and increase master volume by 50%
sleep (2, 0)
audio_master_inc (0.5)
; Wait until audio finishes
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_master_set
Ano script(3) Ano function reference Ano script(3)
NAME
audio_master_set - Set master volume.
SYNOPSIS
audio_master_set (
(float) VALUE [required]
)
DESCRIPTION
Set master volume to VALUE. Master volume range is from complete
silence, 0.0 to maximum volume, 1.0.
EXAMPLE
See audio_master_dec and audio_master_inc.
Ano script 2016-2023 Ano script(3)
audio_open
Ano script(3) Ano function reference Ano script(3)
NAME
audio_open - Open audio file.
SYNOPSIS
audio_open (
(string) AUDIO_FILE [required]
)
DESCRIPTION
Open audio file. If opening the audio file succeeds, internal
variable rc has a handle for this audio track. Application must
store this handle for later use and close the track by calling
audio_close() when no longer needed. See example below. Supported
file types includes the ones compiled in the engine, wave audio
file format is always supported though.
AUDIO_FILE must be the full path to audio file to be opened.
EXAMPLE
; Initialize audio system
audio_init
; Global uninitialized variables
var [handle] handle_audio
; Open sound file and play it
audio_open ([utf-8] "myaudio.wav")
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_play (handle_audio, 1.0, 0.0)
; Wait until audio finishes
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_pan_dec
Ano script(3) Ano function reference Ano script(3)
NAME
audio_pan_dec - Decrease audio track panning.
SYNOPSIS
audio_pan_dec (
(handle) AUDIO_HANDLE [required],
(float) VALUE [required]
)
DESCRIPTION
Decrease panning of audio track. Audio track must be already
opened or created by audio_open() or one of the audio_create_*()
functions. Panning range is from leftmost position -1.0 to
rightmost position 1.0, so decrementing the panning moves audio
track towards the left side in stereo image.
AUDIO_HANDLE is the handle of the audio track which panning to
decrease and must be returned by one of the functions stated
above.
VALUE to decrement from current value.
EXAMPLE
; Initialize audio system
audio_init
; Handle for the audio
var [handle] handle_audio
; Generate 5 seconds of white noise and play it
audio_create_noise_white (5.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_pan_set (handle_audio, 0.0)
audio_play (handle_audio, 1.0, 0.0)
; Sleep for a while and decrease panning by 50% from the center
sleep (2, 0)
audio_pan_dec (handle_audio, 0.5)
; Wait until audio finishes
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_pan_get
Ano script(3) Ano function reference Ano script(3)
NAME
audio_pan_get - Get audio track panning.
SYNOPSIS
audio_pan_get (
(handle) AUDIO_HANDLE [required]
)
DESCRIPTION
Get current audio track panning value to internal variable rc.
AUDIO_HANDLE is the handle of the audio track which panning
value to get.
EXAMPLE
; Initialize audio system
audio_init
; Handle for the audio
var [handle] handle_audio
; Generate 5 seconds of white noise and play it
audio_create_noise_white (5.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_pan_set (handle_audio, 0.0)
audio_pan_get (handle_audio)
mov pan (rc)
dump pan
audio_play (handle_audio, 1.0, 0.0)
; Sleep for a while and decrease panning by 50% from the center
sleep (2, 0)
audio_pan_dec (handle_audio, 0.5)
audio_pan_get (handle_audio)
mov pan (rc)
dump pan
; Wait until audio finishes
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_pan_inc
Ano script(3) Ano function reference Ano script(3)
NAME
audio_pan_inc - Increase audio track panning.
SYNOPSIS
audio_pan_inc (
(handle) AUDIO_HANDLE [required],
(float) VALUE [required]
)
DESCRIPTION
Increase panning of audio track. Audio track must be already
opened or created by audio_open() or one of the audio_create_*()
functions. Panning range is from leftmost position -1.0 to
rightmost position 1.0, so incrementing the panning moves audio
track towards the right side in stereo image.
AUDIO_HANDLE is the handle of the audio track which panning to
increase and must be returned by one of the functions stated
above.
VALUE to increment to current value.
EXAMPLE
; Initialize audio system
audio_init
; Handle for the audio
var [handle] handle_audio
; Generate 5 seconds of white noise and play it
audio_create_noise_white (5.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_pan_set (handle_audio, 0.0)
audio_play (handle_audio, 1.0, 0.0)
; Sleep for a while and increase panning by 50% from the center
sleep (2, 0)
audio_pan_inc (handle_audio, 0.5)
; Wait until audio finishes
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_pan_set
Ano script(3) Ano function reference Ano script(3)
NAME
audio_pan_set - Set audio track panning.
SYNOPSIS
audio_pan_set (
(handle) AUDIO_HANDLE [required],
(float) VALUE [required]
)
DESCRIPTION
Set panning for audio track. Audio track must be already opened
or created by audio_open() or one of the audio_create_*()
functions. Panning range is from leftmost position, -1.0 to
rightmost position, 1.0.
AUDIO_HANDLE is the handle of the audio track which panning to
set and must be returned by one of the functions stated above.
VALUE audio track volume to set.
EXAMPLE
See audio_pan_dec.
Ano script 2016-2023 Ano script(3)
audio_play
Ano script(3) Ano function reference Ano script(3)
NAME
audio_play - Play audio track.
SYNOPSIS
audio_play (
(handle) AUDIO_HANDLE [required],
(float) VOLUME [required],
(float) PAN [required]
)
DESCRIPTION
Play opened or created audio track. Audio track must be already
opened or created by audio_open() or one of the audio_create_*()
functions.
AUDIO_HANDLE is the handle of the audio track which to play and
must be returned by one of the functions stated above.
VOLUME is volume for the track, where range is from complete
silence, 0.0 to maximum volume, 1.0.
PAN is panning range, from -1.0 to 1.0, where -1.0 is panned
completely to left channel, 1.0 completely to right channel,
and 0.0 is the center.
EXAMPLE
See audio_open.
Ano script 2016-2023 Ano script(3)
audio_solo
Ano script(3) Ano function reference Ano script(3)
NAME
audio_solo - Mute or unmute other audio tracks.
SYNOPSIS
audio_solo (
(handle) AUDIO_HANDLE [required]
)
DESCRIPTION
Mute all other audio tracks currently playing, or unmute all
other audio tracks currently muted. Solo audio track must be
already opened or created by audio_open() or one of the
audio_create_*() functions. This function affects all other
audio tracks not identified by AUDIO_HANDLE, if another tracks
exists. Soloing the track also unmutes or resumes it if it is
either muted or paused.
AUDIO_HANDLE is the handle of the audio track which to solo and
must be returned by one of the functions stated above.
EXAMPLE
; Initialize audio system
audio_init
; Handles for the audio
var [handle] handle_audio_1
var [handle] handle_audio_2
; Generate 5 seconds of white noise
audio_create_noise_white (5.0)
cmp rc (@0)
je "error_1"
mov handle_audio_1 (rc)
audio_create_noise_white (5.0)
cmp rc (@0)
je "error_2"
mov handle_audio_2 (rc)
audio_play (handle_audio_1, 1.0, 0.0)
audio_play (handle_audio_2, 1.0, 0.0)
; Sleep for a while and mute other track...
sleep (1, 0)
audio_solo (handle_audio_1)
; ...and after a while unmute it
sleep (1, 0)
audio_solo (handle_audio_1)
; Wait until audio finishes
audio_wait (handle_audio_1)
audio_close (handle_audio_2)
: "error_2"
audio_close (handle_audio_1)
: "error_1"
exit
Ano script 2016-2023 Ano script(3)
audio_vol_dec
Ano script(3) Ano function reference Ano script(3)
NAME
audio_vol_dec - Decrease audio track volume.
SYNOPSIS
audio_vol_dec (
(handle) AUDIO_HANDLE [required],
(float) VALUE [required]
)
DESCRIPTION
Decrease volume of audio track. Audio track must be already
opened or created by audio_open() or one of the audio_create_*()
functions. Volume range is from complete silence, 0.0 to maximum
volume, 1.0, so decrementing VALUE of 0.1 from maximum volume
causes current volume to be 90% from maximum, or decrease by
1/10th, which way you want to look at it.
AUDIO_HANDLE is the handle of the audio track which volume to
decrease and must be returned by one of the functions stated
above.
VALUE to decrement from current value.
EXAMPLE
; Initialize audio system
audio_init
; Handle for the audio
var [handle] handle_audio
; Generate 5 seconds of white noise and play it
audio_create_noise_white (5.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_vol_set (handle_audio, 1.0)
audio_play (handle_audio, 1.0, 0.0)
; Sleep for a while and decrease volume by 50%
sleep (2, 0)
audio_vol_dec (handle_audio, 0.5)
; Wait until audio finishes
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_vol_get
Ano script(3) Ano function reference Ano script(3)
NAME
audio_vol_get - Get audio track volume.
SYNOPSIS
audio_vol_get (
(handle) AUDIO_HANDLE [required]
)
DESCRIPTION
Get current audio track volume value to internal variable rc.
AUDIO_HANDLE is the handle of the audio track which volume to
get.
EXAMPLE
; Initialize audio system
audio_init
; Handle for the audio
var [handle] handle_audio
; Generate 5 seconds of white noise and play it
audio_create_noise_white (5.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_vol_set (handle_audio, 1.0)
audio_vol_get (handle_audio)
mov vol (rc)
dump vol
audio_play (handle_audio, 1.0, 0.0)
; Sleep for a while and decrease volume by 50%
sleep (2, 0)
audio_vol_dec (handle_audio, 0.5)
audio_vol_get (handle_audio)
mov vol (rc)
dump vol
; Wait until audio finishes
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_vol_inc
Ano script(3) Ano function reference Ano script(3)
NAME
audio_vol_inc - Increase audio track volume.
SYNOPSIS
audio_vol_inc (
(handle) AUDIO_HANDLE [required],
(float) VALUE [required]
)
DESCRIPTION
Increase volume of audio track. Audio track must be already
opened or created by audio_open() or one of the audio_create_*()
functions. Volume range is from complete silence, 0.0 to maximum
volume, 1.0, so incrementing VALUE of 0.1 to current volume
causes volume to increase by 1/10th.
AUDIO_HANDLE is the handle of the audio track which volume to
increase and must be returned by one of the functions stated
above.
VALUE to increment to current value.
EXAMPLE
; Initialize audio system
audio_init
; Handle for the audio
var [handle] handle_audio
; Generate 5 seconds of white noise and play it
audio_create_noise_white (5.0)
cmp rc (@0)
je "error"
mov handle_audio (rc)
audio_vol_set (handle_audio, 0.25)
audio_play (handle_audio, 1.0, 0.0)
; Sleep for a while and increase volume by 50%
sleep (2, 0)
audio_vol_inc (handle_audio, 0.5)
; Wait until audio finishes
audio_wait (handle_audio)
audio_close (handle_audio)
: "error"
exit
Ano script 2016-2023 Ano script(3)
audio_vol_set
Ano script(3) Ano function reference Ano script(3)
NAME
audio_vol_set - Set audio track volume.
SYNOPSIS
audio_vol_set (
(handle) AUDIO_HANDLE [required],
(float) VALUE [required]
)
DESCRIPTION
Set volume for audio track. Audio track must be already opened
or created by audio_open() or one of the audio_create_*()
functions. Volume range is from complete silence, 0.0 to maximum
volume, 1.0.
AUDIO_HANDLE is the handle of the audio track which volume to
set and must be returned by one of the functions stated above.
VALUE audio track volume to set.
EXAMPLE
See audio_vol_dec.
Ano script 2016-2023 Ano script(3)
audio_wait
Ano script(3) Ano function reference Ano script(3)
NAME
audio_wait - Wait until audio track completes.
SYNOPSIS
audio_wait (
(handle) AUDIO_HANDLE [required]
)
DESCRIPTION
Wait until audio track completes. Audio track must be already
opened or created by audio_open() or one of the audio_create_*()
functions.
AUDIO_HANDLE is the handle of the audio track which to wait and
must be returned by one of the functions stated above.
EXAMPLE
See audio_open.
Ano script 2016-2023 Ano script(3)
Clock functions
clock_get_multiplier
Ano script(3) Ano function reference Ano script(3)
NAME
clock_get_multiplier - Get internal clock resolution multiplier.
SYNOPSIS
clock_get_multiplier"
DESCRIPTION
Get internal clock resolution multiplier to internal variable
rc.
EXAMPLE
; Global uninitialized variables
var [number] ticks
var [number] new_multiplier
var [number] old_multiplier
; Get system time in secs since epoch and set clock to that
time
mov time (rc)
dump time
clock_set (time)
; Get clock tick count
clock_get_ticks
mov ticks (rc)
dump ticks
; Set clock multiplier to ten to make it run ten times faster
clock_set_multiplier (10)
mov old_multiplier (rc)
dump old_multiplier
; Get current multiplier
clock_get_multiplier
mov new_multiplier (rc)
dump new_multiplier
; Wait for a while to tick count to increase
sleep (2, 0)
; Get clock tick count again
clock_get_ticks
mov ticks (rc)
dump ticks
exit
Ano script 2016-2023 Ano script(3)
clock_get_ticks
Ano script(3) Ano function reference Ano script(3)
NAME
clock_get_ticks - Get internal clock tick count.
SYNOPSIS
clock_get_ticks"
DESCRIPTION
Get internal clock tick count, also known as stretching seconds,
to internal variable rc.
EXAMPLE
See clock_get_multiplier.
Ano script 2016-2023 Ano script(3)
clock_set
Ano script(3) Ano function reference Ano script(3)
NAME
clock_set - Set internal clock tick count.
SYNOPSIS
clock_set (
(double) VALUE [required]
)
DESCRIPTION
Set internal clock tick count and return old tick count in
internal variable rc. Tick count affects the date what application
thinks it is. Tick count usually follows system time(), and is
set to that automatically when application starts. Tick count
is advanced once per second, but can be either slowed down or
speeded up by clock_set_multiplier() function.
VALUE is the new clock tick count in seconds since epoch.
EXAMPLE
See clock_get_multiplier.
Ano script 2016-2023 Ano script(3)
clock_set_multiplier
Ano script(3) Ano function reference Ano script(3)
NAME
clock_set_multiplier - Set internal clock resolution multiplier.
SYNOPSIS
clock_set_multiplier (
(double) VALUE [required]
)
DESCRIPTION
Set internal clock resolution multiplier and return old multiplier
in internal variable rc. Multiplier affects internal clock
speed, either slowing it down if value is less than 1.0, or
speeding it up if value is greater than 1.0. Value of 1.0 is
the default and makes clock run in realtime, and for example,
value of 10.0 makes clock run ten times faster.
VALUE to set to internal clock multiplier.
EXAMPLE
See clock_get_multiplier.
Ano script 2016-2023 Ano script(3)
Color functions
color_brightness
Ano script(3) Ano function reference Ano script(3)
NAME
color_brightness - Get color brightness.
SYNOPSIS
color_brightness (
(color) COLOR [required]
)
DESCRIPTION
Get color brightness and store it in internal variable rc.
Brightness range is from 100% black, 0.0 to 100% white, 255.0.
COLOR is the color which brightness to get.
EXAMPLE
; Global uninitialized variables
var [color] color
mov color ("indianred")
; Get color brightness
color_brightness (color)
mov color (rc)
dump color
exit
Ano script 2016-2023 Ano script(3)
color_complement
Ano script(3) Ano function reference Ano script(3)
NAME
color_complement - Get complement color.
SYNOPSIS
color_complement (
(color) COLOR [required]
)
DESCRIPTION
Get complement color and store it in internal variable rc.
COLOR is the color which complement to get.
EXAMPLE
; Global uninitialized variables
var [color] color
mov color ("indianred")
; Get color complement
color_complement (color)
mov color (rc)
dump color
exit
Ano script 2016-2023 Ano script(3)
color_mix
Ano script(3) Ano function reference Ano script(3)
NAME
color_mix - Mix two colors together.
SYNOPSIS
color_mix (
(color) COLOR1 [required],
(color) COLOR2 [required],
(float) FACTOR [required]
)
DESCRIPTION
Mix two colors together by a factor and store mixed color in
internal variable rc. Mixing is done in natural way, for
example, if you mix red and blue, you get somewhat brownish/violet
color, not light magenta as mixing RGB values. Color tone can
be further adjusted by adding, for example, a bit of yellow in
the mix to make it look more natural, just like you would with
oil colors.
COLOR1 is the first color to be mixed.
COLOR2 is the second color to be mixed.
FACTOR is the mixing factor, ranging from 0.0 to 1.0.
EXAMPLE
; Global uninitialized variables
var [color] color1
var [color] color2
mov color1 ("indianred")
mov color2 ("steelblue")
; Mix two colors together using factor 0.5
color_mix (color1, color2, 0.5)
mov color1 (rc)
dump color1
exit
Ano script 2016-2023 Ano script(3)
Coordinate functions
coords_dot_product
Ano script(3) Ano function reference Ano script(3)
NAME
coords_dot_product - Get dot product of two points.
SYNOPSIS
coords_dot_product (
(point) POINT1 [required],
(point) POINT2 [required]
)
DESCRIPTION
Get dot product of two points and store it in internal variable
rc.
POINT1 is the first point.
POINT2 is the second point.
EXAMPLE
; Global initialized variables
mov point1 (& 1.1, 2.2, 3.3)
mov point2 (& 4.4, 5.5, 6.6)
; Get dot product of two points
coords_dot_product (point1, point2)
mov dot (rc)
dump dot
exit
Ano script 2016-2023 Ano script(3)
coords_get_angle
Ano script(3) Ano function reference Ano script(3)
NAME
coords_get_angle - Get angle of point.
SYNOPSIS
coords_get_angle (
(point) POINT [required]
)
DESCRIPTION
Get angle of point in degrees from origin (x = 0.0, y = 0.0, z
= 0.0) and store it in internal variable rc. Only x and y
coordinates are effective, so calculating the angle works only
in two dimensional plane.
POINT is the point which angle to get.
EXAMPLE
; Global initialized variables
mov point (& 1.1, 2.2, 0.0)
; Get point angle from origin, x = 0.0, y = 0.0, z = 0.0
coords_get_angle (point)
mov angle (rc)
dump angle
exit
Ano script 2016-2023 Ano script(3)
coords_difference_2d
Ano script(3) Ano function reference Ano script(3)
NAME
coords_difference_2d - Get difference of two points.
SYNOPSIS
coords_difference_2d (
(point) POINT1 [required],
(point) POINT2 [required]
)
DESCRIPTION
Get difference of two dimensional points and store it in internal
variable rc.
POINT1 is the first point.
POINT2 is the second point.
EXAMPLE
; Global initialized variables
mov point1 (& 1.1, 2.2, 0.0)
mov point2 (& 3.3, 4.4, 0.0)
; Get difference of two points
coords_difference_2d (point1, point2)
mov diff (rc)
dump diff
exit
Ano script 2016-2023 Ano script(3)
coords_difference_3d
Ano script(3) Ano function reference Ano script(3)
NAME
coords_difference_3d - Get difference of two points.
SYNOPSIS
coords_difference_3d (
(point) POINT1 [required],
(point) POINT2 [required]
)
DESCRIPTION
Get difference of three dimensional points and store it in
internal variable rc.
POINT1 is the first point.
POINT2 is the second point.
EXAMPLE
; Global initialized variables
mov point1 (& 1.1, 2.2, 3.3)
mov point2 (& 4.4, 5.5, 6.6)
; Get difference of two points
coords_difference_3d (point1, point2)
mov diff (rc)
dump diff
exit
Ano script 2016-2023 Ano script(3)
coords_mag_2d
Ano script(3) Ano function reference Ano script(3)
NAME
coords_mag_2d - Get magnitude of point.
SYNOPSIS
coords_mag_2d (
(point) POINT [required]
)
DESCRIPTION
Get magnitude of two dimensional point and store it in internal
variable rc.
POINT is the point.
EXAMPLE
; Global initialized variables
mov point1 (& 1.1, 2.2, 0.0)
mov point2 (& 3.3, 4.4, 0.0)
sub point2 (point1)
; Get the magnitude
coords_mag_2d (point2)
mov dist (rc)
dump dist
exit
Ano script 2016-2023 Ano script(3)
coords_mag_3d
Ano script(3) Ano function reference Ano script(3)
NAME
coords_mag_3d - Get magnitude of point.
SYNOPSIS
coords_mag_3d (
(point) POINT [required]
)
DESCRIPTION
Get magnitude of three dimensional point and store it in internal
variable rc.
POINT is the point.
EXAMPLE
; Global initialized variables
mov point1 (& 1.1, 2.2, 3.3)
mov point2 (& 4.4, 5.5, 6.6)
sub point2 (point1)
; Get the magnitude
coords_mag_3d (point2)
mov dist (rc)
dump dist
exit
Ano script 2016-2023 Ano script(3)
coords_get_pos
Ano script(3) Ano function reference Ano script(3)
NAME
coords_get_pos - Get point position by angle and distance.
SYNOPSIS
coords_get_pos (
(double) ANGLE [required],
(double) DISTANCE [required]
)
DESCRIPTION
Get point position by angle and distance and store it in internal
variable rc.
ANGLE in degrees of the point.
DISTANCE from origin.
EXAMPLE
; Global uninitialized variables
var [point] point
; Get point position
coords_get_pos (45.0, 10.0)
mov point (rc)
dump point
exit
Ano script 2016-2023 Ano script(3)
coords_intp_catmull_x
Ano script(3) Ano function reference Ano script(3)
NAME
coords_intp_catmull_x - Catmull-Rom interpolation along x axis.
SYNOPSIS
coords_intp_catmull_x (
(point) POINT1 [required],
(point) POINT2 [required],
(point) POINT3 [required],
(point) POINT4 [required],
(double) INTERPOLATION_POINT [required]
)
DESCRIPTION
Interpolate INTERPOLATION_POINT between control points POINT2
and POINT3 and stores it in internal variable rc. The additional
control points, POINT1 and POINT4 are used to adjust the shape
of the curve by implicitly defining tangents.
POINT2,3 are the control points for interpolation.
POINT1,4 are the additional control points to adjust the curve
shape.
INTERPOLATION_POINT between POINT2 and POINT3, range is from
0.0 to 1.0, 0.5 is halfway between POINT2 and POINT3.
EXAMPLE
; Set initial points for interpolation
mov point1 (& -1.1, 0.0, 0.0)
mov point2 (& -1.1, -0.75, 0.0)
mov point3 (& 1.9, 0.75, 0.0)
mov point4 (& 1.9, 0.0, 0.0)
; Set interpolation point
mov intp (0.0)
; Loop for ten interpolation points
mov ecx (10)
: "loop"
coords_intp_catmull_x (point1, point2, point3, point4, intp)
mov pos_x (rc)
dump pos_x
coords_intp_catmull_y (point1, point2, point3, point4, intp)
mov pos_y (rc)
dump pos_y
add intp (0.1)
dec ecx
jnz "loop"
exit
Ano script 2016-2023 Ano script(3)
coords_intp_catmull_y
Ano script(3) Ano function reference Ano script(3)
NAME
coords_intp_catmull_y - Catmull-Rom interpolation along y axis.
SYNOPSIS
coords_intp_catmull_y (
(point) POINT1 [required],
(point) POINT2 [required],
(point) POINT3 [required],
(point) POINT4 [required],
(double) INTERPOLATION_POINT [required]
)
DESCRIPTION
See coords_intp_catmull_x.
EXAMPLE
See coords_intp_catmull_x.
Ano script 2016-2023 Ano script(3)
coords_intp_catmull_z
Ano script(3) Ano function reference Ano script(3)
NAME
coords_intp_catmull_z - Catmull-Rom interpolation along z axis.
SYNOPSIS
coords_intp_catmull_z (
(point) POINT1 [required],
(point) POINT2 [required],
(point) POINT3 [required],
(point) POINT4 [required],
(double) INTERPOLATION_POINT [required]
)
DESCRIPTION
See coords_intp_catmull_x.
EXAMPLE
See coords_intp_catmull_x.
Ano script 2016-2023 Ano script(3)
coords_intp_cubic_x
Ano script(3) Ano function reference Ano script(3)
NAME
coords_intp_cubic_x - Cubic interpolation along x axis.
SYNOPSIS
coords_intp_cubic_x (
(point) POINT1 [required],
(point) POINT2 [required],
(point) POINT3 [required],
(point) POINT4 [required],
(double) INTERPOLATION_POINT [required]
)
DESCRIPTION
See coords_intp_catmull_x.
EXAMPLE
See coords_intp_catmull_x.
Ano script 2016-2023 Ano script(3)
coords_intp_cubic_y
Ano script(3) Ano function reference Ano script(3)
NAME
coords_intp_cubic_y - Cubic interpolation along y axis.
SYNOPSIS
coords_intp_cubic_y (
(point) POINT1 [required],
(point) POINT2 [required],
(point) POINT3 [required],
(point) POINT4 [required],
(double) INTERPOLATION_POINT [required]
)
DESCRIPTION
See coords_intp_cubic_x.
EXAMPLE
See coords_intp_cubic_x.
Ano script 2016-2023 Ano script(3)
coords_intp_cubic_z
Ano script(3) Ano function reference Ano script(3)
NAME
coords_intp_cubic_z - Cubic interpolation along z axis.
SYNOPSIS
coords_intp_cubic_z (
(point) POINT1 [required],
(point) POINT2 [required],
(point) POINT3 [required],
(point) POINT4 [required],
(double) INTERPOLATION_POINT [required]
)
DESCRIPTION
See coords_intp_cubic_x.
EXAMPLE
See coords_intp_cubic_x.
Ano script 2016-2023 Ano script(3)
coords_intp_hermite_x
Ano script(3) Ano function reference Ano script(3)
NAME
coords_intp_hermite_x - Hermite interpolation along x axis.
SYNOPSIS
coords_intp_hermite_x (
(point) POINT1 [required],
(point) POINT2 [required],
(point) POINT3 [required],
(point) POINT4 [required],
(double) INTERPOLATION_POINT [required],
(double) BIAS [required],
(double) TENSION [required]
)
DESCRIPTION
Interpolate INTERPOLATION_POINT between control points POINT2
and POINT3 and stores it in internal variable rc. The additional
control points, POINT1 and POINT4 are used to adjust the shape
of the curve by implicitly defining tangents.
POINT2,3 are the control points for interpolation.
POINT1,4 are the additional control points to adjust the curve
shape.
INTERPOLATION_POINT between POINT2 and POINT3, range is from
0.0 to 1.0, 0.5 is halfway between POINT2 and POINT3.
BIAS 0.0 is even, >0.0 towards the POINT2, <0.0 towards
the POINT3.
TENSION 1.0 is high, 0.0 is normal, -1.0 is low.
EXAMPLE
; Set initial points for interpolation
mov point1 (& -1.1, 0.0, 0.0)
mov point2 (& -1.1, -0.75, 0.0)
mov point3 (& 1.9, 0.75, 0.0)
mov point4 (& 1.9, 0.0, 0.0)
; Set interpolation point, bias and tension
mov intp (0.0)
mov bias (0.0)
mov tension (0.0)
; Loop for ten interpolation points
mov ecx (10)
: "loop"
coords_intp_hermite_x (point1, point2, point3, point4, intp, bias, tension)
mov pos_x (rc)
dump pos_x
coords_intp_hermite_y (point1, point2, point3, point4, intp, bias, tension)
mov pos_y (rc)
dump pos_y
add intp (0.1)
dec ecx
jnz "loop"
exit
Ano script 2016-2023 Ano script(3)
coords_intp_hermite_y
Ano script(3) Ano function reference Ano script(3)
NAME
coords_intp_hermite_y - Hermite interpolation along y axis.
SYNOPSIS
coords_intp_hermite_y (
(point) POINT1 [required],
(point) POINT2 [required],
(point) POINT3 [required],
(point) POINT4 [required],
(double) INTERPOLATION_POINT [required],
(double) BIAS [required],
(double) TENSION [required]
)
DESCRIPTION
See coords_intp_hermite_x.
EXAMPLE
See coords_intp_hermite_x.
Ano script 2016-2023 Ano script(3)
coords_intp_hermite_z
Ano script(3) Ano function reference Ano script(3)
NAME
coords_intp_hermite_z - Hermite interpolation along z axis.
SYNOPSIS
coords_intp_hermite_z (
(point) POINT1 [required],
(point) POINT2 [required],
(point) POINT3 [required],
(point) POINT4 [required],
(double) INTERPOLATION_POINT [required],
(double) BIAS [required],
(double) TENSION [required]
)
DESCRIPTION
See coords_intp_hermite_x.
EXAMPLE
See coords_intp_hermite_x.
Ano script 2016-2023 Ano script(3)
coords_intp_linear_x
Ano script(3) Ano function reference Ano script(3)
NAME
coords_intp_linear_x - Linear interpolation along x axis.
SYNOPSIS
coords_intp_linear_x (
(point) POINT1 [required],
(point) POINT2 [required],
(double) INTERPOLATION_POINT [required]
)
DESCRIPTION
Interpolate INTERPOLATION_POINT between control points POINT1
and POINT2 and stores it in internal variable rc.
POINT1,2 are the control points for interpolation.
INTERPOLATION_POINT between POINT1 and POINT2, range is from
0.0 to 1.0, 0.5 is halfway between POINT1 and POINT2.
EXAMPLE
; Set initial points for interpolation
mov point1 (& -1.1, -0.75, 0.0)
mov point2 (& 1.9, 0.75, 0.0)
; Set interpolation point
mov intp (0.0)
; Loop for ten interpolation points
mov ecx (10)
: "loop"
coords_intp_linear_x (point1, point2, intp)
mov pos_x (rc)
dump pos_x
coords_intp_linear_y (point1, point2, intp)
mov pos_y (rc)
dump pos_y
add intp (0.1)
dec ecx
jnz "loop"
exit
Ano script 2016-2023 Ano script(3)
coords_intp_linear_y
Ano script(3) Ano function reference Ano script(3)
NAME
coords_intp_linear_y - Linear interpolation along y axis.
SYNOPSIS
coords_intp_linear_y (
(point) POINT1 [required],
(point) POINT2 [required],
(double) INTERPOLATION_POINT [required]
)
DESCRIPTION
See coords_intp_linear_x.
EXAMPLE
See coords_intp_linear_x.
Ano script 2016-2023 Ano script(3)
coords_intp_linear_z
Ano script(3) Ano function reference Ano script(3)
NAME
coords_intp_linear_z - Linear interpolation along z axis.
SYNOPSIS
coords_intp_linear_z (
(point) POINT1 [required],
(point) POINT2 [required],
(double) INTERPOLATION_POINT [required]
)
DESCRIPTION
See coords_intp_linear_x.
EXAMPLE
See coords_intp_linear_x.
Ano script 2016-2023 Ano script(3)
coords_normalize
Ano script(3) Ano function reference Ano script(3)
NAME
coords_normalize - Normalize point.
SYNOPSIS
coords_normalize (
(point) POINT [required]
)
DESCRIPTION
Normalize point and store it in internal variable rc.
POINT to normalize.
EXAMPLE
; Global initialized variables
mov point (& 1.1, 2.2, 3.3)
; Get normalized point
coords_normalize (point)
mov normal (rc)
dump normal
exit
Ano script 2016-2023 Ano script(3)
Drawing functions
draw_border
Ano script(3) Ano function reference Ano script(3)
NAME
draw_border - Draw rectangular border to window.
SYNOPSIS
draw_border (
(handle) WINDOW_HANDLE [required],
(int) POSITION_X [required],
(int) POSITION_Y [required],
(uint) WIDTH [required],
(uint) HEIGHT [required],
(uint) THICKNESS [required],
(color) COLOR [required]
)
DESCRIPTION
Draw rectangular border to window.
WINDOW_HANDLE is the handle of the window where to draw and
must be returned by window_open().
POSITION_X is the horizontal position of border's upper-left
corner in pixels.
POSITION_Y is the vertical position of border's upper-left
corner in pixels.
WIDTH is the width of the border in pixels.
HEIGHT is the height of the border in pixels.
THICKNESS is the thickness of the border in pixels.
COLOR is the color for the border.
EXAMPLE
; ...open window here first, see window_open...
mov border_color ("cyanwhite")
draw_border (window_handle, 10, 100, 10, 10, 1, border_color)
end
Ano script 2016-2023 Ano script(3)
draw_border_alpha
Ano script(3) Ano function reference Ano script(3)
NAME
draw_border_alpha - Draw rectangular border with alpha value to window.
SYNOPSIS
draw_border_alpha (
(handle) WINDOW_HANDLE [required],
(int) POSITION_X [required],
(int) POSITION_Y [required],
(uint) WIDTH [required],
(uint) HEIGHT [required],
(uint) THICKNESS [required],
(color) COLOR [required]
)
DESCRIPTION
Draw rectangular border with alpha value to window. Alpha value
is specified by COLOR alpha component.
WINDOW_HANDLE is the handle of the window where to draw and
must be returned by window_open().
POSITION_X is the horizontal position of border's upper-left
corner in pixels.
POSITION_Y is the vertical position of border's upper-left
corner in pixels.
WIDTH is the width of the border in pixels.
HEIGHT is the height of the border in pixels.
THICKNESS is the thickness of the border in pixels.
COLOR is the color and alpha value for the border.
EXAMPLE
; ...open window here first, see window_open...
mov border_color ("cyanwhite")
draw_border_alpha (window_handle, 30, 100, 10, 10, 3, border_color)
end
Ano script 2016-2023 Ano script(3)
draw_copy
Ano script(3) Ano function reference Ano script(3)
NAME
draw_copy - Copy region.
SYNOPSIS
draw_copy (
(handle) WINDOW_HANDLE [required],
(int) SOURCE_AREA_X [required],
(int) SOURCE_AREA_Y [required],
(int) DESTINATION_AREA_X [required],
(int) DESTINATION_AREA_Y [required],
(uint) AREA_WIDTH [required],
(uint) AREA_HEIGHT [required]
)
DESCRIPTION
Copy block in window from source to destination. Source and
destination regions may not overlap.
WINDOW_HANDLE is the handle of the window to wipe and must be
returned by window_open().
EXAMPLE
; ...open window here first, see window_open...
; Copy 50x50 pixel block from 0, 0 to 100, 100
draw_copy_alpha (window_handle, 0, 0, 100, 100, 50, 50)
end
Ano script 2016-2023 Ano script(3)
draw_copy_alpha
Ano script(3) Ano function reference Ano script(3)
NAME
draw_copy_alpha - Copy region with alpha value.
SYNOPSIS
draw_copy_alpha (
(handle) WINDOW_HANDLE [required],
(int) SOURCE_AREA_X [required],
(int) SOURCE_AREA_Y [required],
(int) DESTINATION_AREA_X [required],
(int) DESTINATION_AREA_Y [required],
(uint) AREA_WIDTH [required],
(uint) AREA_HEIGHT [required]
)
DESCRIPTION
Copy block in window from source to destination, making destination
block pixels possibly translucent according to pixels alpha
value. Source and destination regions may not overlap.
WINDOW_HANDLE is the handle of the window to wipe and must be
returned by window_open().
EXAMPLE
; ...open window here first, see window_open...
; Copy 50x50 pixel block from 0, 0 to 100, 100
draw_copy_alpha (window_handle, 0, 0, 100, 100, 50, 50)
end
Ano script 2016-2023 Ano script(3)
draw_pixel
Ano script(3) Ano function reference Ano script(3)
NAME
draw_pixel - Draw pixel to window.
SYNOPSIS
draw_pixel (
(handle) WINDOW_HANDLE [required],
(int) POSITION_X [required],
(int) POSITION_Y [required],
(color) COLOR [required]
)
DESCRIPTION
Draw pixel to window.
WINDOW_HANDLE is the handle of the window where to draw and
must be returned by window_open().
POSITION_X is the window X-coordinate for the pixel.
POSITION_Y is the window Y-coordinate for the pixel.
COLOR is the color for the pixel.
EXAMPLE
; ...open window here first, see window_open...
mov pixel_color ("cyanwhite")
draw_pixel (window_handle, 10, 10, pixel_color)
end
Ano script 2016-2023 Ano script(3)
draw_pixel_alpha
Ano script(3) Ano function reference Ano script(3)
NAME
draw_pixel_alpha - Draw pixel with alpha value to window.
SYNOPSIS
draw_pixel_alpha (
(handle) WINDOW_HANDLE [required],
(int) POSITION_X [required],
(int) POSITION_Y [required],
(color) COLOR [required]
)
DESCRIPTION
Draw pixel with alpha value to window.
WINDOW_HANDLE is the handle of the window where to draw and
must be returned by window_open().
POSITION_X is the window X-coordinate for the pixel.
POSITION_Y is the window Y-coordinate for the pixel.
COLOR is the color and alpha value for the pixel.
EXAMPLE
; ...open window here first, see window_open...
mov pixel_color ("cyanwhite")
draw_pixel_alpha (window_handle, 10, 10, pixel_color)
end
Ano script 2016-2023 Ano script(3)
draw_set
Ano script(3) Ano function reference Ano script(3)
NAME
draw_set - Fill region.
SYNOPSIS
draw_set (
(handle) WINDOW_HANDLE [required],
(int) START_X [required],
(int) START_Y [required],
(int) END_X [required],
(int) END_Y [required],
(color) COLOR [required]
)
DESCRIPTION
Fill region with color.
WINDOW_HANDLE is the handle of the window where to draw and
must be returned by window_open().
COLOR is the color for the block.
EXAMPLE
; ...open window here first, see window_open...
mov block_color ("cyanwhite")
; Set ten pixel block from 10, 10 to 20, 20
draw_set (window_handle, 10, 10, 20, 20, block_color)
end
Ano script 2016-2023 Ano script(3)
draw_set_alpha
Ano script(3) Ano function reference Ano script(3)
NAME
draw_set_alpha - Fill region with alpha value.
SYNOPSIS
draw_set_alpha (
(handle) WINDOW_HANDLE [required],
(int) START_X [required],
(int) START_Y [required],
(int) END_X [required],
(int) END_Y [required],
(color) COLOR [required]
)
DESCRIPTION
Fill region with color and alpha value making it possible
translucent.
WINDOW_HANDLE is the handle of the window where to draw and
must be returned by window_open().
COLOR is the color and alpha value for the block.
EXAMPLE
; ...open window here first, see window_open...
mov block_color ("cyanwhite")
; Set ten pixel block from 10, 10 to 20, 20
draw_set_alpha (window_handle, 10, 10, 20, 20, block_color)
end
Ano script 2016-2023 Ano script(3)
draw_subpixel
Ano script(3) Ano function reference Ano script(3)
NAME
draw_subpixel - Draw subpixel to window.
SYNOPSIS
draw_subpixel (
(handle) WINDOW_HANDLE [required],
(double) POSITION_X [required],
(double) POSITION_Y [required],
(color) COLOR [required]
)
DESCRIPTION
Draw subpixel to window. Subpixel can be drawn between two
adjacent pixels, for example setting POSITION_X to 1.5 it is
exactly middle of second and third pixel.
WINDOW_HANDLE is the handle of the window where to draw and
must be returned by window_open().
POSITION_X is the window X-coordinate for the pixel.
POSITION_Y is the window Y-coordinate for the pixel.
COLOR is the color for the pixel.
EXAMPLE
; ...open window here first, see window_open...
mov pixel_color ("cyanwhite")
draw_subpixel (window_handle, 1.25, 1.0, pixel_color)
end
Ano script 2016-2023 Ano script(3)
draw_subpixel_alpha
Ano script(3) Ano function reference Ano script(3)
NAME
draw_subpixel_alpha - Draw subpixel with alpha value to window.
SYNOPSIS
draw_subpixel_alpha (
(handle) WINDOW_HANDLE [required],
(double) POSITION_X [required],
(double) POSITION_Y [required],
(color) COLOR [required]
)
DESCRIPTION
Draw subpixel with alpha value to window. Subpixel can be drawn
between two adjacent pixels, for example setting POSITION_X to
1.5 it is exactly middle of second and third pixel.
WINDOW_HANDLE is the handle of the window where to draw and
must be returned by window_open().
POSITION_X is the window X-coordinate for the pixel.
POSITION_Y is the window Y-coordinate for the pixel.
COLOR is the color and alpha value for the pixel.
EXAMPLE
; ...open window here first, see window_open...
mov pixel_color ("cyanwhite")
draw_subpixel_alpha (window_handle, 1.25, 1.0, pixel_color)
end
Ano script 2016-2023 Ano script(3)
draw_text
Ano script(3) Ano function reference Ano script(3)
NAME
draw_text - Draw rendered text to window.
SYNOPSIS
draw_text (
(handle) WINDOW_HANDLE [required],
(handle) FONT_HANDLE [required],
(int) POSITION_X [required],
(int) POSITION_Y [required]
)
DESCRIPTION
Draw rendered text to window. Text must be already rendered by
font_render().
WINDOW_HANDLE is the handle of the window where to draw and
must be returned by window_open().
FONT_HANDLE is the handle of the font to use for rendering
returned by font_open().
POSITION_X and POSITION_Y are text coordinates in pixels measured
from upper left corner.
EXAMPLE
; ...open window here first, see window_open...
; Variable type is handle
var [handle] font_handle
; String to be rendered
mov string ("Make my Mojo working baby!")
; Open font or bail out if failed
mov font_file ("myfont.ttf")
mov font_size ([uint] 12)
mov font_dpi ([uint] 100)
mov font_color ("cyanwhite")
font_open (font_file, font_size, font_dpi)
cmp rc (@0)
je "error"
; Store font handle for later use
mov font_handle (rc)
; Render text to be displayed
font_render (font_handle, NULL, string, [uint] 0, font_color)
; Erase window and draw rendered text
draw_wipe (window_handle)
draw_text (window_handle, font_handle, [int] 10, [int] 10)
; Close font when no longer needed
font_close (font_handle)
: "error"
exit
Ano script 2016-2023 Ano script(3)
draw_wipe
Ano script(3) Ano function reference Ano script(3)
NAME
draw_wipe - Erase window active content.
SYNOPSIS
draw_wipe (
(handle) WINDOW_HANDLE [required]
)
DESCRIPTION
Erase window active content. Erasing means that window active
area is filled completely with zeroes.
WINDOW_HANDLE is the handle of the window to wipe and must be
returned by window_open().
EXAMPLE
See draw_text.
Ano script 2016-2023 Ano script(3)
Font functions
font_close
Ano script(3) Ano function reference Ano script(3)
NAME
font_close - Close opened font.
SYNOPSIS
font_close (
(handle) FONT_HANDLE [required]
)
DESCRIPTION
Close opened font. FONT_HANDLE must be valid handle returned
by font_open(). After call completes, font is gone for good and
should not be referenced again.
EXAMPLE
See draw_text.
Ano script 2016-2023 Ano script(3)
font_open
Ano script(3) Ano function reference Ano script(3)
NAME
font_open - Open new font face.
SYNOPSIS
font_open (
(string) FONT_FILE [required],
(uint) FONT_SIZE [required],
(uint) FONT_RESOLUTION [optional]
)
DESCRIPTION
Open new font face. If opening the font succeeds, internal
variable rc has a handle for this font. Application must store
this handle for later use. See example below.
FONT_FILE must be the full path to font file to be opened.
FONT_SIZE is the size of desired face in 1/64 points.
FONT_RESOLUTION is the resolution of desired face in dots per
inch. If FONT_RESOLUTION is zero, then screen default resolution
is used.
EXAMPLE
See draw_text.
Ano script 2016-2023 Ano script(3)
font_render
Ano script(3) Ano function reference Ano script(3)
NAME
font_render - Render text to internal buffer.
SYNOPSIS
font_render (
(handle) FONT_HANDLE [required],
(string) STRING_CHARSET [optional],
(string) STRING [required],
(uint) STRING_LENGTH [optional],
(color) COLOR [required]
)
DESCRIPTION
Render text to internal buffer to be displayed later. Use
draw_text() to display rendered text. Rendered text can be
displayed until font is closed without the need of re-rendering.
FONT_HANDLE is the handle returned by font_open().
STRING_CHARSET is character set name to be used when rendering.
Character set must be understandable by iconv().
STRING is the actual string to be rendered.
If STRING_LENGTH is zero, whole STRING is rendered, otherwise
only STRING_LENGTH characters are rendered.
COLOR is the color for the STRING.
EXAMPLE
See draw_text.
Ano script 2016-2023 Ano script(3)
Math functions
math_clamp
Ano script(3) Ano function reference Ano script(3)
NAME
math_clamp - Clamp value to range.
SYNOPSIS
math_clamp (
(double) VALUE [required],
(double) MIN [required],
(double) MAX [required]
)
DESCRIPTION
Clamp value to range of MIN and MAX and store it in internal
variable rc.
VALUE is the value to clamp.
MIN is the minimum border for value.
MAX is the maximum border for value.
EXAMPLE
; Global uninitialized variables
var [number] value
; Clamp value between min and max
math_clamp (0.5, 1.0, 2.0)
mov value (rc)
dump value
exit
Ano script 2016-2023 Ano script(3)
math_get_hcf
Ano script(3) Ano function reference Ano script(3)
NAME
math_get_hcf - Get highest common factor.
SYNOPSIS
math_get_hcf (
(double) VALUE1 [required],
(double) VALUE2 [required]
)
DESCRIPTION
Get highest common value and store it in internal variable rc.
VALUE1 is the first value.
VALUE2 is the second value.
EXAMPLE
; Global uninitialized variables
var [number] hcf
; Get highest common factor
math_get_hcf (0.5, 1.5)
mov hcf (rc)
dump hcf
exit
Ano script 2016-2023 Ano script(3)
math_map
Ano script(3) Ano function reference Ano script(3)
NAME
math_map - Map value to range.
SYNOPSIS
math_map (
(double) VALUE [required],
(double) CURRENT_MIN [required],
(double) CURRENT_MAX [required],
(double) MAPPED_MIN [required],
(double) MAPPED_MAX [required]
)
DESCRIPTION
Map value from range of CURRENT_MIN between CURRENT_MAX to range
of MAPPED_MIN between MAPPED_MAX and store it in internal
variable rc.
VALUE is the value to map.
CURRENT_MIN is the current minimum border for value.
CURRENT_MAX is the current maximum border for value.
MAPPED_MIN is the new minimum border for value.
MAPPED_MAX is the new maximum border for value.
EXAMPLE
; Global uninitialized variables
var [number] value
; Map value between new min and max
math_map (1.5, 1.0, 2.0, 10.0, 20.0)
mov value (rc)
dump value
exit
Ano script 2016-2023 Ano script(3)
Misc functions
misc_exec
Ano script(3) Ano function reference Ano script(3)
NAME
exec - Execute a system command.
SYNOPSIS
exec (
(string) COMMAND [required],
(string) OPTION [optional],
(string) ... [optional]
)
DESCRIPTION
Execute a system command. exec() works exactly like system
execvp() function, but does not replace process image with the
command image to be executed, so this call will return to the
caller. Command to be executed can have any number of options,
although there is hard limit somewhere in engine's willingness
for reading them. See example below.
COMMAND to be executed.
OPTION is the command line option to pass to command.
EXAMPLE
; Fork one child process
fork
mov pid (rc)
; Parent process exists immediately...
cmp pid (0)
jne "parent"
; ...and child process does all the work
mov command ("uname")
sleep ([long] 1, [long] 0)
exec (command, "-p", "-m", "-r")
sleep ([long] 1, [long] 0)
system (command)
sleep ([long] 1, [long] 0)
: "parent"
exit
Ano script 2016-2023 Ano script(3)
misc_exit
Ano script(3) Ano function reference Ano script(3)
NAME
exit - Terminate running script and request engine to stop.
SYNOPSIS
exit (
(int8) EXIT_CODE [optional]
)
DESCRIPTION
Terminate running script and request engine to stop. This is
mandatory call at the end of every application, otherwise
application wont quit even when the running script is terminated.
Terminate running script and request engine to stop. This is
mandatory call at the end of every application, otherwise
application wont quit even when the running script is terminated.
It is possible to pass optional EXIT_CODE code, ranging from 0 to
255, to remote caller.
EXAMPLE
See exec.
Ano script 2016-2023 Ano script(3)
Thread functions
thread_spawn
Ano script(3) Ano function reference Ano script(3)
NAME
thread_spawn - Spawn a new thread.
SYNOPSIS
thread_spawn (
(string) THREAD_NAME [required],
(string) THREAD_FUNCTION [required]
)
DESCRIPTION
Spawn a new thread to run concurrently with main application.
Thread runs until it calls 'end', when thread is destroyed. If
thread is needed again after that, is must be respawned. Care
should be taken if thread modifies global variables as there
is no thread-safeness in internal data structures.
THREAD_NAME is name of the thread.
THREAD_FUNCTION is executing function name of the thread.
EXAMPLE
; Spawn thread
thread_spawn ("My thread", "my_thread")
exit
thread my_thread {
mov _msg ("Hello from thread!")
dump _msg
}
Ano script 2016-2023 Ano script(3)
Widget functions
widget_change_set
Ano script(3) Ano function reference Ano script(3)
NAME
widget_change_set - Change active widget set.
SYNOPSIS
widget_change_set (
(handle) WINDOW_HANDLE [required],
(uint) WIDGET_SET [required]
)
DESCRIPTION
Change active widget set to WIDGET_SET. Widget set is defined
in widget definition file, by using set keyword. Widgets having
set 0 are members of every set, in other words, their appearance
cannot be changed by this function. It is required to call
widget_refresh() afterwards to update changes to window.
EXAMPLE
XXX
Ano script 2016-2023 Ano script(3)
widget_indicator_set
Ano script(3) Ano function reference Ano script(3)
NAME
widget_indicator_set - Set widget indicator mode and outlook.
SYNOPSIS
widget_indicator_set (
(handle) WINDOW_HANDLE [required],
(string) WIDGET_NAME [required],
(string) FONT_FILE [optional],
(string) FONT_CHARSET [optional],
(uint) FONT_SIZE [required],
(uint) FONT_RESOLUTION [optional],
(color) INDICATOR_COLOR [required],
(uint) INDICATOR_MODE [required],
(int) INDICATOR_VERTICAL_OFFSET [required]
)
DESCRIPTION
Indicator displays the current value of the widget.
Indicator is placed in opposite of widget title, so if title
is above the widget, indicator is below.
WINDOW_HANDLE is the handle of the window where the widget is
and must be returned by window_open().
WIDGET_NAME
FONT_FILE
FONT_CHARSET
FONT_SIZE
FONT_RESOLUTION
INDICATOR_COLOR
INDICATOR_MODE can be either 0 to disable indicator (this is
the default when widget is created), 1 to display indicator ?,
2 to display indicator only when mouse is over the widget.
INDICATOR_VERTICAL_OFFSET is the offset in pixels to move
indicator up or down from its default position.
EXAMPLE
Ano script 2016-2023 Ano script(3)
Window functions
window_close
Ano script(3) Ano function reference Ano script(3)
NAME
window_close - Close opened window.
SYNOPSIS
window_close (
(handle) WINDOW_HANDLE [required]
)
DESCRIPTION
Close opened window. WINDOW_HANDLE must be valid handle returned
by window_open(). After call completes, window is gone for good
and should not be referenced again.
EXAMPLE
See window_open.
Ano script 2016-2023 Ano script(3)
window_icon
Ano script(3) Ano function reference Ano script(3)
NAME
window_icon - Set window icon.
SYNOPSIS
window_icon (
(handle) WINDOW_HANDLE [required],
(string) FILE_NAME [required]
)
DESCRIPTION
Add a small icon to window, usually displayed in titlebar's left
corner, on taskbar and possibly some other places. Supported file
formats for FILE_NAME are BMP and TGA.
EXAMPLE
; Variable type is handle
var [handle] window_handle
; Initialize windowing system
window_init
; Open window that refresh 60 times per second and end main process,
; leaving further actions to callback functions
window_open ("Window Title", NULL, [handle] @0, \
[uint] 0, [uint] 0, [uint] 1, [int] -1, [int] -1, \
[uint] 800, [uint] 600, NULL, NULL, NULL, NULL, NULL, NULL, \
NULL, NULL, "cb_destroy", NULL, NULL, NULL, "cb_open")
end
callback cb_open (hnd) {
; Store window handle for later use
mov window_handle (hnd)
; Set window icon
window_icon (window_handle, "my_icon.tga")
; Map window to screen
window_map (window_handle)
}
callback cb_destroy {
; When window close button is pressed by user, close window and terminate
; application
window_unmap (window_handle)
window_close (window_handle)
exit
}
Ano script 2016-2023 Ano script(3)
window_init
Ano script(3) Ano function reference Ano script(3)
NAME
window_init - Initialize windowing system.
SYNOPSIS
window_init
DESCRIPTION
Initialize windowing system. This call must be called before
any other windowing functions, like window_open(). Initialization
must be done only once in application lifetime.
EXAMPLE
See window_open.
Ano script 2016-2023 Ano script(3)
window_map
Ano script(3) Ano function reference Ano script(3)
NAME
window_map - Map unmapped window.
SYNOPSIS
window_map (
(handle) WINDOW_HANDLE [required]
)
DESCRIPTION
Map (show) unmapped (hidden) window. WINDOW_HANDLE must be valid
handle returned by window_open().
EXAMPLE
See window_open.
Ano script 2016-2023 Ano script(3)
window_open
Ano script(3) Ano function reference Ano script(3)
NAME
window_open - Open new window.
SYNOPSIS
window_open (
(string) TITLE_NAME [optional],
(string) TITLE_CHARSET [optional],
(handle) PARENT_HANDLE [required],
(uint) WIDGET_STACK_ID [required],
(uint) WIDGET_SET [required],
(uint) WINDOW_REFRESH_DIVIDER [required],
(int) POSITION_X [required],
(int) POSITION_Y [required],
(uint) SIZE_WIDTH [required],
(uint) SIZE_HEIGHT [required],
(string) CB_MAIN_LOOP [optional],
(string) CB_EXPOSE [optional],
(string) CB_KEY_PRESS [optional],
(string) CB_KEY_RELEASE [optional],
(string) CB_BUTTON_PRESS [optional],
(string) CB_BUTTON_RELEASE [optional],
(string) CB_CLIENT_MESSAGE [optional],
(string) CB_CONFIGURE_NOTIFY [optional],
(string) CB_DESTROY_NOTIFY [optional],
(string) CB_MOTION_NOTIFY [optional],
(string) CB_MAP_NOTIFY [optional],
(string) CB_UNMAP_NOTIFY [optional],
(string) CB_OPEN_NOTIFY [optional]
)
DESCRIPTION
Open new window and initialize callback functions. If opening
the window succeeds, CB_OPEN_NOTIFY is called with window handle
as a parameter. Application must store this handle for later
use. See example below.
If PARENT_HANDLE is not zero, window is created as subwindow
to PARENT_HANDLE.
If WIDGET_STACK_ID is not zero, window is populated with widgets
defined by that ID (= window ID in widget definitions). When
using widgets in window, using zero as WINDOW_REFRESH_DIVIDER
is recommended.
If WIDGET_SET is not zero, only widget belonging to that set
are initially populated to window. Widgets having set 0 belongs
to all sets and are drawn to window no matter what value
WIDGET_SET has.
If WINDOW_REFRESH_DIVIDER is zero, window is considered as
passive, and is refreshed only when there is something to
refresh.
If WINDOW_REFRESH_DIVIDER greater than zero, window is considered
as active, and is refreshed continuously <screen refresh
rate> / WINDOW_REFRESH_DIVIDER times per second. Values
higher than current screen refresh rate will be clamped down
equal to current screen refresh rate. According to formula
above, value of 1 makes screen refresh realtime.
By setting window refresh divider greater than zero affects to
other active windows as well, in other words, this parameter
is global, and last active window opened sets the global refresh
rate for all other active windows.
If either WINDOW_POSITION_[X,Y] is -1, window is centered on
screen or parent window in that, or both, axis.
If CB_MAIN_LOOP is not empty, main loop callback function is
installed and called at same frequency as window refresh rate.
If only one passive window exists, its main loop callback will
be called 60 times per second until window is closed or active
window sets new refresh rate (see WINDOW_REFRESH_DIVIDER above).
All other callback functions except CB_MAIN_LOOP and CB_OPEN_NOTIFY
follows more or less standard Xlib style how they are called.
EXAMPLE
; Variable type is handle
var [handle] window_handle
; Initialize windowing system
window_init
; Open window that refresh 60 times per second and end main process,
; leaving further actions to callback functions
window_open ("Window Title", NULL, [handle] @0, \
[uint] 0, [uint] 0, [uint] 1, [int] -1, [int] -1, \
[uint] 800, [uint] 600, NULL, NULL, NULL, NULL, NULL, NULL, \
NULL, NULL, "cb_destroy", NULL, NULL, NULL, "cb_open")
end
callback cb_open (hnd) {
; Store window handle for later use
mov window_handle (hnd)
; Map window to screen
window_map (window_handle)
}
callback cb_destroy {
; When window close button is pressed by user, close window and terminate
; application
window_unmap (window_handle)
window_close (window_handle)
exit
}
Ano script 2016-2023 Ano script(3)
window_refresh
Ano script(3) Ano function reference Ano script(3)
NAME
window_refresh - Refresh window area.
SYNOPSIS
window_refresh (
(handle) WINDOW_HANDLE [required],
(int) AREA_X [required],
(int) AREA_Y [required],
(uint) AREA_WIDTH [required],
(uint) AREA_HEIGHT [required]
)
DESCRIPTION
Refresh (redraw) window area. WINDOW_HANDLE must be valid handle
returned by window_open(). This function returns immediately
and window refresh actually takes place when drawing request
pipeline is flushed somewhere in near future.
If AREA_WIDTH or AREA_HEIGHT is zero, it will be replaced with
window width or height, respectively.
EXAMPLE
; ...open window here first, see window_open...
; Refresh whole window
window_refresh (window_handle, [int] 0, [int] 0, [uint] 0, [uint] 0)
end
Ano script 2016-2023 Ano script(3)
window_set_attrs
Ano script(3) Ano function reference Ano script(3)
NAME
window_set_attrs - Set window attributes.
SYNOPSIS
window_set_attrs (
(handle) WINDOW_HANDLE [required],
(uint) ATTRIBUTE [required],
(double) ATTRIBUTE_VALUE [required]
)
DESCRIPTION
WINDOW_HANDLE must be valid handle returned by window_open().
Set the window attribute value in ATTRIBUTE parameter:
1 window is above all other windows, set ATTRIBUTE_VALUE to
zero.
2 window is below all other windows, set ATTRIBUTE_VALUE to
zero.
3 window has border, set ATTRIBUTE_VALUE to zero if not, or
greater than zero if yes.
4 put window on certain desktop, set desktop number in
ATTRIBUTE_VALUE.
5 window x position, set position in pixels in ATTRIBUTE_VALUE.
6 window y position, set position in pixels in ATTRIBUTE_VALUE.
7 skip pager, set ATTRIBUTE_VALUE to zero.
8 skip taskbar, set ATTRIBUTE_VALUE to zero.
9 set window sticky, set ATTRIBUTE_VALUE to zero.
10 window transparency, set transparency in ATTRIBUTE_VALUE,
from 0.0 to 1.0. It depends on windowing system and window
manager whether setting transparency works or not.
EXAMPLE
; ...open window here first, see window_open...
; Set window to above all others, 1 = keep above
window_set_attrs (window_handle, 1, 0)
; Set window border off, 3 = has border, 0 = not
window_set_attrs (window_handle, 3, 0)
; Map window
window_map (window_handle)
end
Ano script 2016-2023 Ano script(3)
window_unmap
Ano script(3) Ano function reference Ano script(3)
NAME
window_unmap - Unmap mapped window.
SYNOPSIS
window_unmap (
(handle) WINDOW_HANDLE [required]
)
DESCRIPTION
Unmap (hide) mapped (visible) window. WINDOW_HANDLE must be
valid handle returned by window_open().
EXAMPLE
See window_open.
Ano script 2016-2023 Ano script(3)
Copyright © 2023, Jani Salonen <salojan at goto10 piste co>. Piste is finnish word and means dot. All rights reserved.