Overview
WaterTransitionEffectLib simulates a water-drop or splash effect when transitioning between images, wrapping the FireMonkey TWaterTransitionEffect. Creates liquid distortion ripples during the crossfade.
| Property | Details |
|---|---|
| Library | WaterTransitionEffectLib |
| Prefix | watertrans_ |
| Wraps | TWaterTransitionEffect |
| Functions | 15 |
| Type | Transition 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
| Platform | Support |
|---|---|
| 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.
| Parameter | Type | Description |
|---|---|---|
parent# | Pointer | Target visual control |
| Returns | Pointer | Effect handle, or 0 on failure |
watertrans_free(effect#)
Destroys the effect and releases associated resources.
Error Handling
| Function | Signature | Description |
|---|---|---|
watertrans_error() | watertrans_error@ | Returns last error code (0 = none) |
watertrans_errormsg$() | watertrans_errormsg$@ | Returns last error message |
watertrans_strerror$(code) | watertrans_strerror$@n | Converts error code to text |
watertrans_clearerror() | watertrans_clearerror@ | Clears the error state |
Target Image
| Function | Signature | Description |
|---|---|---|
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
| Function | Signature | Description |
|---|---|---|
watertrans_progress#(effect#, value) | watertrans_progress#@#n | Set progress (0.0–1.0) |
watertrans_progress(effect#) | watertrans_progress@# | Get current progress |
Random Seed
| Function | Signature | Description |
|---|---|---|
watertrans_randomseed#(effect#, value) | watertrans_randomseed#@#n | Set random seed |
watertrans_randomseed(effect#) | watertrans_randomseed@# | Get random seed |
Effect Control
| Function | Signature | Description |
|---|---|---|
watertrans_enabled#(effect#, value) | watertrans_enabled#@#n | Enable (1) or disable (0) |
watertrans_enabled(effect#) | watertrans_enabled@# | Gets enabled state |
Complete Examples
Example 1: Animated Water Splash
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
| Function | Signature | Description |
|---|---|---|
| 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#@#n | Set progress (0–1) |
watertrans_progress(effect#) | watertrans_progress@# | Get progress |
| RANDOM SEED | ||
watertrans_randomseed#(effect#, value) | watertrans_randomseed#@#n | Set seed |
watertrans_randomseed(effect#) | watertrans_randomseed@# | Get seed |
| EFFECT CONTROL | ||
watertrans_enabled#(effect#, value) | watertrans_enabled#@#n | Enable/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$@n | Code to text |
watertrans_clearerror() | watertrans_clearerror@ | Clear error |
See Also
| Library | Description |
|---|---|
RippleTransitionEffectLib | Ripple-based transition |
WaveTransitionEffectLib | Wave-based transition |
DropTransitionEffectLib | Drop/drip transition |
