Overview

WaveTransitionEffectLib uses wave distortion to transition between images, wrapping TWaveTransitionEffect. Creates a flowing, wave-like animation during the crossfade — fluid and organic.

PropertyDetails
LibraryWaveTransitionEffectLib
Prefixwavetrans_
WrapsTWaveTransitionEffect
Functions13
TypeTransition effect
🌊 Wave Crossfade: Simple progress-only transition — just animate from 0 to 1. Mid-transition shows wave distortion as images blend.

Creation & Destruction

wavetrans#(parent#)

Creates a new wave transition effect attached to the specified visual control.

wavetrans_free(effect#)

Destroys the effect and releases resources.

Error Handling

FunctionSignatureDescription
wavetrans_error()wavetrans_error@Last error code
wavetrans_errormsg$()wavetrans_errormsg$@Last error message
wavetrans_strerror$(code)wavetrans_strerror$@nCode to text
wavetrans_clearerror()wavetrans_clearerror@Clear error

Target Image

FunctionSignatureDescription
wavetrans_target#(effect#, bitmap#)wavetrans_target#@##Set target bitmap
wavetrans_target#(effect#)wavetrans_target#@#Get target bitmap
wavetrans_loadtarget#(effect#, url$)wavetrans_loadtarget#@#$Load target

Progress

FunctionSignatureDescription
wavetrans_progress#(effect#, value)wavetrans_progress#@#nSet progress (0–1)
wavetrans_progress(effect#)wavetrans_progress@#Get progress

Effect Control

FunctionSignatureDescription
wavetrans_enabled#(effect#, value)wavetrans_enabled#@#nEnable/disable
wavetrans_enabled(effect#)wavetrans_enabled@#Get enabled

Complete Examples

Animated Wave Transition

╯ wave-trans.bas
let frm# = Pointer#(0)
let img# = Pointer#(0)
let trans# = Pointer#(0)
let tmr# = Pointer#(0)
let btn# = Pointer#(0)
let progress = 0

frm# = form#("Animated Wave", 400, 350)
img# = image#(frm#)
image_bounds#(img#, 100, 30, 200, 150)
image_load#(img#, "https://picsum.photos/200/150?random=1")

trans# = wavetrans#(img#)
wavetrans_loadtarget#(trans#, "https://picsum.photos/200/150?random=2")

tmr# = timer#()
timer_interval#(tmr#, 30)
timer_enabled#(tmr#, 0)
timer_ontimer#(tmr#, "Animate")

btn# = button#(frm#, "Wave!")
button_bounds#(btn#, 150, 210, 100, 30)
button_onclick#(btn#, "Start")
form_show(frm#)

function Start(sender#)
  progress = 0
  timer_enabled#(tmr#, 1)
  button_enabled#(btn#, 0)
endfunction

function Animate(sender#)
  progress = progress + 0.02
  wavetrans_progress#(trans#, progress)
  if progress >= 1 then
    timer_enabled#(tmr#, 0)
    button_enabled#(btn#, 1)
  endif
endfunction

Quick Reference

FunctionSignatureDescription
CREATION & DESTRUCTION
wavetrans#(parent#)wavetrans#@#Create
wavetrans_free(effect#)wavetrans_free@#Destroy
TARGET IMAGE
wavetrans_target#(effect#, bitmap#)wavetrans_target#@##Set target
wavetrans_target#(effect#)wavetrans_target#@#Get target
wavetrans_loadtarget#(effect#, url$)wavetrans_loadtarget#@#$Load target
PROGRESS
wavetrans_progress#(effect#, value)wavetrans_progress#@#nSet progress
wavetrans_progress(effect#)wavetrans_progress@#Get progress
EFFECT CONTROL
wavetrans_enabled#(effect#, value)wavetrans_enabled#@#nEnable/disable
wavetrans_enabled(effect#)wavetrans_enabled@#Get enabled
ERROR HANDLING
wavetrans_error()wavetrans_error@Last error
wavetrans_errormsg$()wavetrans_errormsg$@Error message
wavetrans_strerror$(code)wavetrans_strerror$@nCode to text
wavetrans_clearerror()wavetrans_clearerror@Clear error

See Also

LibraryDescription
WaveEffectLibStatic/animated wave effect
RippleTransitionEffectLibRipple transition
SwirlTransitionEffectLibSwirl transition