RectStuff®

Version 2.1 - Février 1999 - OSMOSE éditeur ©1998-2002.

Généralités - English Texts and commands.

Auteur : Thibaud@osmose.net Éditeur : editeur@osmose.net distributeur exclusif : sales@e-node.com


Syntaxe des routines

 


rs_FLASH RECT(nombre;haut;gauche;bas;droit)

Paramètres Type flêche Description
nombre Entier -> nombre de flashs
haut, gauche, droit, bas Entiers -> coordonnées locales du rectangle

Fait flasher nombre de fois le rectangle dont les coordonnées (locales) sont spécifiées par haut, gauche, bas et droit.

Index des routines


rs_INVERT RECT(haut;gauche;bas;droit)

Paramètres Type flêche Description
haut, gauche, droit, bas Entiers -> coordonnées locales du rectangle

Provoque l'inversion vidéo du rectangle dont les coordonnées (locales) sont spécifiées par haut, gauche, bas et droit. Cette inversion persiste tant que la fenêtre n'est pas redessinée: il n'est pas possible "d'enregistrer" cette inversion.

Index des routines


rs_SET THE RECT(unRectangle;haut;gauche;bas;droit)

Paramètres Type flêche Description
unRectangle Réel <- réel dans lequel seront stockées les coordonnées d'un rectangle
haut, gauche, bas, droit Entiers -> coordonnées du rectangle

rs_SET THE RECT stocke dans le réel unRectangle les coordonnées qui lui sont passées. Vous pouvez ainsi plus facilement préparer plusieurs rectangles, et utiliser par la suite les routines rs_FLASH THE RECT et rs_INVERT THE RECT. rs_SET THE RECT est également indispensable à la préparation des rectangles utilisés par les routines de glisser-déposer et celles de rectangle de sélection.

Index des routines


rs_FLASH THE RECT(nombre;unRectangle)

Paramètres Type flêche Description
nombre Entier -> nombre de flashs
unRectangle Réel -> réel contenant les coordonnées du rectangle

Fait flasher nombre de fois le rectangle dont les coordonnées (locales) sont spécifiées par unRectangle, préalablement rempli par la routine rs_SET THE RECT.

Index des routines


rs_INVERT THE RECT(unRectangle)

Paramètres Type flêche Description
unRectangle Réel -> réel contenant les coordonnées du rectangle

Provoque l'inversion vidéo du rectangle dont les coordonnées (locales) sont spécifiées par unRectangle, préalablement remplit par la routine rs_SET THE RECT.

Index des routines


rs_DRAG RECT ON ONERECT(rectDépart;rectArrivée;bienDéposé;entourer;calculerOffset)

Paramètres Type flêche Description
rectDépart Réel -> coordonnées du rectangle de départ
rectArrivée Réel -> coordonnées du rectangle d'arrivée
bienDéposé Entier <- 1 si rectDépart a été déposé sur rectArrivée
entourer Entier -> Entourer rectArrivée au lieu de l'inverser calculer
Offset Entier -> Calculer un offset pour rectDepart

Cette routine sera habituellement appelée à partir de la méthode objet d'un bouton invisible (un tel bouton reçoit l'événement "Sur clic souris" lorsque le bouton de la souris est enfoncé, alors qu'un bouton normal reçoit cet événement lorsque le bouton est enfonçé puis rel‚ché), d'une liste de défilement ou de tout objet réagissant à l'enfoncement du bouton de la souris.

Elle dessine le contour de rectDépart. Ce contour suit les mouvements de l'utilisateur. Chaque fois que le pointeur passe au-dessus de rectArrivée, celui-ci est inversé. Si l'utilisateur quitte rectArrivée, le contraste est annulé, et ainsi de suite.

Lorque l'utilisateur relâche le bouton de la souris, si le pointeur était au-dessus de rectArrivée, bienDéposé est mis à 1, sinon, bienDéposé vaut 0.

Index des routines


rs_DRAG RECT ON LOT OF RECTS(rDepart;tRects;index;entourer;calculerOffset)

Paramètres Type flêche Description
rDepart Réel -> Rectangle de départ
tRects Tableau de réels -> rectangles d'arrivée
index Entier <- indice, dans tRects, du rect. ayant reçu le drop
entourer Entier -> Entourer les rectangles de tRects au lieu de les inverser
calculerOffset Entier -> Calculer un offset pour rectDepart

Cette routine fait la même chose que rs_DRAG RECT ON ONE RECT, mais reçoit en 2e argument un tableau de réels, dont chaque élément aura obligatoirement été initialisé avec tp_SET THE RECT.

Chaque fois que la souris (bouton maintenu enfoncé par l'utilisateur) passera au dessus d'un des rectangles de tRects, celui-ci sera inversé.

Au retour, index vaut -1 si le bouton a été rel‚ché ailleurs que sur un des rectangles de tabRect, sinon index contient l'indice du rectangle dans le tableau tRects.

Note: un élément de tableau ne peut pas recevoir de valeur d'un plug-in. (ceci est valable pour tous les plug-in) Il faut toujours passer par une variable intermédiaire.

Par exemple, on ne peut écrire:
rs_SET THE RECT(unTableau{10};5;5;25;25)

Il faut à la place écrire :

rs_SET THE RECT($unRect;5;5;25;25)
unTableau{10}:=$unRect

Index des routines


rs_SELECTION RECT(haut;gauche;bas;droite;ecranComplet)

Paramètres Type flêche Description
Haut, gauche, droit, bas Entiers <- Coordonnées du rectangle dessiné par l'utilisateur
ecranComplet Entier -> Autoriser le dessin sur tout l'écran

La routine attend que l'utilisateur enfonce le bouton de la souris, puis suit alors ses mouvements en dessinant un "rectangle de sélection", comme on le fait sur le bureau ou dans une application de dessin par exemple.

Quand l'utilisateur a terminé (bouton de souris relaché), les paramètres haut, gauche, bas, et droit reçoivent les coordonnées du rectangle dessiné par l'utilisateur. S'il n'a rien fait (simple clic, ou retour au point de départ) les paramètres sont tous mis à 0.

Le dessin du rectangle de sélection se fait dans la fenêtre de premier plan. Si ecranComplet est différent de 0, tout l'écran peut alors être utilisé.

A noter: Si ecranComplet est égal à zéro (dessin limité à la fenêtre de 1er plan), les coordonnées sont locales, exprimées par rapport à cette fenêtre (le point 0;0 étant situé en haut à gauche). Si ecranComplet est différent de 0, les coordonnées sont alors globales, exprimées par rapport à tout l'écran.

Index des routines


rs_SELECTION RECT_2(haut;gauche;bas;droite;tRects;tIndex;entourer;laisser)

Paramètres Type flêche Description
Haut, gauche, droit, bas Entiers -> Coordonnées du rectangle dessiné
tRects Tableau de réels -> Rectangles à tester
tIndex Tableau entiers <- Rectangles sélectionnés ou entier long
entourer Entier -> entourer au lieu d'inverser
laisser Entier -> laisser en l'état quand l'utilisateur a terminé

Cette routine fait la même chose que rs_SELECTION RECT, mais permet de sélectionner un ou plusieurs rectangles passés dans le tableau tRects (préalablement rempli à l'aide de la routine tp_SET THE RECT). Tous les rectangles contenus dans tRects sont contrastés s'ils sont inclus (même incomplètement) dans le rectangle tracé par l'utilisateur. Ils se désélectionnent automatiquement si l'utilisateur change le tracé de son rectangle. Tout se fait donc comme une sélection d'icones sur le bureau, par exemple, ou dans l'éditeur de formulaire de 4D. Si l'utilisateur termine normalement son déplacement, haut, gauche, bas et droit contiennent les coordonnées du rectangle qu'il a tracé, et la taille de tIndex est égale au nombre de rectangles sélectionnés. Chaque élément de tIndex correspond à l'indice du rectangle sélectionné dans tRects. Si laisser est différent de 0, les rectangles sélectionnés restent contrastés jusqu'au prochain redessinement de la fenêtre par 4D.

A noter:

Index des routines