Overview

WaterTransitionEffectLib simulates a water-drop or splash effect when transitioning between images, wrapping the FireMonkey TWaterTransitionEffect. Creates liquid distortion ripples during the crossfade.

PropertyDetails
LibraryWaterTransitionEffectLib
Prefixwatertrans_
WrapsTWaterTransitionEffect
Functions15
TypeTransition effect
💧 Water Splash: The transition distorts like a water surface being disturbed. Change RandomSeed to get different splash patterns. Great for nature or fluid-themed presentations.

Cross-Platform Support

PlatformSupport
Windows✅ Full support
Linux✅ Full support
Android✅ Full support

Creation & Destruction

watertrans#(parent#)

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

ParameterTypeDescription
parent#PointerTarget visual control
ReturnsPointerEffect handle, or 0 on failure

watertrans_free(effect#)

Destroys the effect and releases associated resources.

Error Handling

FunctionSignatureDescription
watertrans_error()watertrans_error@Returns last error code (0 = none)
watertrans_errormsg$()watertrans_errormsg$@Returns last error message
watertrans_strerror$(code)watertrans_strerror$@nConverts error code to text
watertrans_clearerror()watertrans_clearerror@Clears the error state

Target Image

FunctionSignatureDescription
watertrans_target#(effect#, bitmap#)watertrans_target#@##Sets target from bitmap
watertrans_target#(effect#)watertrans_target#@#Gets target bitmap
watertrans_loadtarget#(effect#, url$)watertrans_loadtarget#@#$Loads target from URL or file

Progress

FunctionSignatureDescription
watertrans_progress#(effect#, value)watertrans_progress#@#nSet progress (0.0–1.0)
watertrans_progress(effect#)watertrans_progress@#Get current progress

Random Seed

FunctionSignatureDescription
watertrans_randomseed#(effect#, value)watertrans_randomseed#@#nSet random seed
watertrans_randomseed(effect#)watertrans_randomseed@#Get random seed

Effect Control

FunctionSignatureDescription
watertrans_enabled#(effect#, value)watertrans_enabled#@#nEnable (1) or disable (0)
watertrans_enabled(effect#)watertrans_enabled@#Gets enabled state

Complete Examples

Example 1: Animated Water Splash

╯ water-splash.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 Water", 400, 350)
img# = image#(frm#)
image_bounds#(img#, 100, 30, 200, 150)
image_load#(img#, "https://picsum.photos/200/150?random=1")

trans# = watertrans#(img#)
watertrans_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#, "Splash!")
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
  watertrans_progress#(trans#, progress)
  if progress >= 1 then
    timer_enabled#(tmr#, 0)
    button_enabled#(btn#, 1)
  endif
endfunction

Quick Reference

FunctionSignatureDescription
CREATION & DESTRUCTION
watertrans#(parent#)watertrans#@#Create effect
watertrans_free(effect#)watertrans_free@#Destroy effect
TARGET IMAGE
watertrans_target#(effect#, bitmap#)watertrans_target#@##Set target bitmap
watertrans_target#(effect#)watertrans_target#@#Get target bitmap
watertrans_loadtarget#(effect#, url$)watertrans_loadtarget#@#$Load target
PROGRESS
watertrans_progress#(effect#, value)watertrans_progress#@#nSet progress (0–1)
watertrans_progress(effect#)watertrans_progress@#Get progress
RANDOM SEED
watertrans_randomseed#(effect#, value)watertrans_randomseed#@#nSet seed
watertrans_randomseed(effect#)watertrans_randomseed@#Get seed
EFFECT CONTROL
watertrans_enabled#(effect#, value)watertrans_enabled#@#nEnable/disable
watertrans_enabled(effect#)watertrans_enabled@#Get enabled
ERROR HANDLING
watertrans_error()watertrans_error@Last error code
watertrans_errormsg$()watertrans_errormsg$@Last error message
watertrans_strerror$(code)watertrans_strerror$@nCode to text
watertrans_clearerror()watertrans_clearerror@Clear error

See Also

LibraryDescription
RippleTransitionEffectLibRipple-based transition
WaveTransitionEffectLibWave-based transition
DropTransitionEffectLibDrop/drip transition