SkiaGalleryFlow
A Card Stack / Coverflow control prototype for Delphi FMX. Built entirely on Skia4Delphi.
- Active · last change 8-26-2026
- ★ 1 on GitHub
README
SkiaGalleryFlow
A Card Stack / Coverflow control prototype for Delphi FMX. Built entirely on Skia4Delphi.
SkiaGalleryFlow (Async Coverflow v0.1)

Features:
[ Async Loading Pipeline ]
- Background Image Decoding : Loads files off the main UI thread.
- Offscreen Thumbnail Raster : Pre-scales to target size via TSkSurface.
- Thread-Safe Sync : Safely injects ISkImage back into the UI.
- Anti-Duplicate Locking : State flags prevent double-loading.
- Smart Proximity Loader : Spawns threads only for visible items.
[ Rendering Pipeline ]
- Cached Skia Objects : Reuses ISkPaint to prevent memory overhead.
- Painter's Algorithm (Z-Order): Sorts slides by offset for correct overlap.
- Canvas Transformations : Combines Translate, Rotate, Scale in one stack.
[ Animation & Performance ]
- Idle-Skip Physics : Skips heavy interpolation math if no slide is dirty (IsDirty flag), saving CPU when idle. (0% cpu/gpu)
- Exponential Interpolation : Frame-rate independent easing.
- Smooth Alpha Crossfading : Fades old selected out while new glides in.
- Continuous Render Loop : Dedicated background physics thread.
[ Memory & Layout Management ]
- Auto-Scale Caching : Clears and reloads thumbnails on form Resize.
- Critical Sections : Locks arrays to prevent UI/Worker race conditions.
[ Input & Interaction ]
- Advanced Hit Testing : Differentiates clicks on center vs. side images.
- Inertia & Velocity : Swipe physics with smooth snap-to-grid.
- Full Input Support : Keyboard (Arrows, Home/End) and Mouse Wheel.
Sample project and zipped exe included.
Latest Changes:v0.1 (First Release):
- Implemented async threaded image loading (ported from Flowmotion).
- Added smart proximity loading (only loads images near scroll center).
- Added auto-scale resize handling (reloads thumbnails on resize).
- Added smooth alpha crossfading for selected items.
- Fixed thread initialization exceptions.
