Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Sortie de BGRA Controls v4.0
Une bibliothèque de composants graphiques pour Free Pascal/Lazarus

Le , par gvasseur58

0PARTAGES

Le monde de Lazarus souffre dans l'ensemble d'un manque cruel de bibliothèques fiables. Aussi, dans le domaine du graphisme, est-il heureux qu'existent des bibliothèques comme BGRABitmap de Johann Elsass pour dessiner avec anticrénelage et transparence. Puissante et stable, elle permet d'envisager la création de logiciels sophistiqués de dessin comme LazPaint, opensource lui aussi et du même auteur.

Autant dire que la nouvelle version 4.0 des contrôles graphiques BGRA Controls, fondée elle encore sur la même bibliothèque, était attendue !

Ce sont plus de trente composants qui sont à présent proposés, avec de nombreux exemples. L'ensemble s'installe sans anicroche sur la palette de Lazarus pour donner deux nouveaux volets :



Petite déception à l'installation : les icônes ne sont pas vraiment explicites et souvent dupliquées. Et inutile de vouloir afficher celles des contrôles du second volet : elles n'ont même pas été personnalisées .

Cette déception est vite passée, car la richesse de la bibliothèque est indéniable.
En premier lieu, les traditionnels boutons personnalisables ne manquent pas, adaptables comme il se doit à de nombreuses situations. Voici le genre de boutons obtenus :



Voici à présent d'autres boutons particulièrement adaptés à la transparence :



Enfin, une place est faite aux styles qui peuvent les habiller comme d'autres contrôles :


Encore un petit désagrément qui aurait pu être évité facilement : certains contrôles comme TBCXButton, TBGGameGrid ou encore TBCTrackbarUpDown sont initialisés à une taille de 5x5 pixels, ce qui les rend invisibles sur une fiche lorsqu'ils n'ont pas le focus.

Dans le domaine des mesures, les horloges et autres vus-mètres sont plutôt sympathiques :



Si vous leur adjoignez des représentations en barres, vous pourrez obtenir des animations spectaculaires dont voici un instantané :



Vous pourrez aussi leur préférer des instruments plus modestes, mais tout aussi efficaces :



Même les éditeurs les plus connus prennent une forme et acquièrent des fonctionnalités intéressantes. Regardez par exemple ces éditeurs dont les flèches de droite vous paraîtront familières, mais qui disposent d'un troisième curseur à leur base fort utile :


Le graphisme est bien évidemment à l'honneur et vous disposez de nombreux filtres pour vos dessins :



Vous pouvez même utiliser des animations. L'exemple suivant est un instantané d'une pluie réglable en intensité et qui tombe sur un paysage :



Ma préférence va cependant au composant TBGRAVirtualScreen qui permet la réalisation d'applications graphiques époustouflantes. Voici un exemple de jeu de labyrinthe fourni avec la bibliothèque :



Le même composant sert aussi de support à des interfaces qui rappellent étrangement celles de certains logiciels actuels :



J'ai encore noté la possibilité d'importer des scripts et, nouveauté très récente, d'utiliser des contrôles régis par des styles. La richesse de l'ensemble ne s'arrête pas à ce survol : il reste une étiquette bien plus polyvalente que TLabel, un bouton de commande, une barre d'outils, un panneau étendu, de quoi animer des lutins (sprites), de quoi concevoir des plugins et des grilles pour les jeux...

Reste à savoir si l'ensemble est aussi fiable que la bibliothèque sur laquelle il est fondé. J'avais laissé de côté ces contrôles il y a près de deux ans à cause de bogues rédhibitoires. Il semblerait que le travail fourni par les concepteurs ait été payant, car seul le composant TBGRAImageManipulation s'est montré récalcitrant (y compris avec l'exemple fourni). Je n'ai descellé qu'un bogue avec TBCDSpinEdit qui contrôle mal la diminution de la valeur après son augmentation, mais le problème vient de l'ancêtre TCDSpinEdit. De toute façon, l'accès au code source est garanti et, même si les commentaires sont assez rares, les concepteurs ont joué le jeu d'identificateurs très parlants.

Après avoir manipulé dans tous les sens ces contrôles, je crois pouvoir dire qu'ils devraient satisfaire les besoins essentiels de ceux qui veulent soigner la présentation de leurs applications. Pour les utilisateurs de Lazarus, c'est un véritable bonheur !

Qu'en pensez-vous ?
Allez-vous utiliser cette bibliothèque de contrôles ?

Une erreur dans cette actualité ? Signalez-le nous !