Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

SkiaCubesPopup

A floating, Cube grid popup menu for Delphi VCL, rendered entirely via Skia4Delphi.

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

README

SkiaCubesPopup

A floating, Cube grid popup menu for Delphi VCL, rendered entirely via Skia4Delphi.

cubes

Sample video: https://youtu.be/wF4WAVfPBqk

Bypasses standard VCL limitations by using the Windows UpdateLayeredWindow API combined with Skia to deliver a smooth, anti-aliased grid menu with true per-pixel alpha transparency and soft drop shadows. No clFuchsia masking, no jagged edges, no flickering.

Features

pascal
True Anti-Aliasing & Alpha: Flawless per-pixel transparency via WS_EX_LAYERED.   
Soft Drop Shadows: Genuine, soft drop shadows rendered via Skia ImageFilter.    
Rounded Corners: Cubes are rendered with a subtle 8px corner radius and a 3D inner border stroke.    
Dynamic Grid: Automatically calculates a 3-column x 2-row grid based on the number of items passed.    
Zero Flicker: Rendered off-screen and pushed directly to the Windows Compositor.

Requirements

pascal
Delphi (10.3 Rio or newer recommended)   
Skia4Delphi must be installed.

Latest Changes

v 0.4:

  • Per-Segment color hot tracking! Each cube fades individually between states.
  • Smooth Alpha Fade-In and Fade-Out (Show/Close).
  • Renamed Inner/OuterRadius conceptually to Gap/CubeSize (Interface remains compatible).

v 0.3:

  • Ported the CirclePopup WinAPI UpdateLayeredWindow pipeline to Cubes
  • Using TAlphaColor natively to prevent color type crashes
  • Added true drop shadows using Skia ImageFilters
  • Enabled true Anti-Aliasing for smooth rounded cube edges
  • Using PNG stream for 100% safe VCL Alpha transfer

Sample project and zipped exe included :)

🎨 Skia4Delphi Components:
Alive Progress/Loading circle https://github.com/LaMitaOne/SkiaAliveProgress
Audio Visualizer https://github.com/LaMitaOne/SkiaAVisualizer
CustomThreadedBase (this i use mostly) https://github.com/LaMitaOne/SkiaCustomThreadedBase
Skia Alive Grid https://github.com/LaMitaOne/Skia-AliveGrid
Skia-Flowmotion animated image grid https://github.com/LaMitaOne/skia-flowmotion
Skia-Slideshow https://github.com/LaMitaOne/Skia-Slideshow
Skia-Circlepopup https://github.com/LaMitaOne/skia-circlepopup
Skia-Button https://github.com/LaMitaOne/SkiaButton
Skia Desktop Pet https://github.com/LaMitaOne/SkiaDesktopPetBase

🧪 Skia4Delphi experimental Components:
CustomMultithreadedBase https://github.com/LaMitaOne/SkiaCustomMultiThreadedBase
Page Control https://github.com/LaMitaOne/SkiaPageControl
Surface Widget/modules rendering engine https://github.com/LaMitaOne/MRX-Skia-Surface
LCARS fluid engine https://github.com/LaMitaOne/Skia-LCARS-Fluid-Engine
Fluid Magma effect https://github.com/LaMitaOne/Fluid-Magma-Effect