Skip to content

CircularProgress ​

Progression & retour visuel

Engine\Native\CircularProgress est l'équivalent natif du CircularProgress HTML : un anneau de progression déterminé, à un pourcentage connu à l'instant du rendu. Le dessin passe par deux appels à Canvas::arc() — un anneau de piste sur 360° puis un anneau de remplissage partiel démarrant à -90° (midi), ce qui reproduit sans rotation de canvas l'astuce -rotate-90 du SVG de la version HTML. L'épaisseur du trait se déduit automatiquement de la taille (size / 16, minimum 2px).

Exemple ​

php
<?php

use Engine\Native\CircularProgress;
use Engine\Color;

$progress = new CircularProgress(
    percent: 0.72,
    size: 56.0,
    color: Color::indigo(600),
);

Un anneau de 56px affiche 72% de sweep en indigo sur une piste grise par défaut ; le pourcentage est recalculé à chaque rendu côté serveur, contrairement à Spinner qui tourne tout seul côté client.

Constructeur ​

ParamètreTypeDéfautDescription
percentfloat—Valeur entre 0.0 et 1.0, bornée automatiquement (max(0, min(1, …))).
sizefloat64.0Diamètre total du carré occupé par l'anneau.
trackColor?Colornull → Tokens::surfaceMuted()Couleur de la piste de fond (anneau complet).
color?Colornull → Tokens::ink()Couleur de l'arc de remplissage.

À savoir. Si percent est à 0, seul l'arc de piste est dessiné (l'arc de remplissage est sauté entièrement) — un percent négatif ou supérieur à 1 est silencieusement bridé plutôt que de produire un sweep invalide.

Voir aussi ​

PhpNitro est un produit FINANFA TECH — Publié sous licence MIT.