RECTANGLE SWAP ... TO ...
DESCRIPTION.
L'instruction RECTANGLE SWAP ... TO ... permet d'échanger le contenu de 2 zones rectangulaires de la fenêtre de sortie.
Voir l'instruction RECTANGLE pour créer des rectangles de la couleur d'avant-plan.
Voir l'instruction RECTANGLE FILL pour créer des rectangles pleins de la couleur d'avant-plan.
Voir l'instruction RECTANGLE ... TO pour recopier une zone rectangulaire
Voir l'instruction RECTANGLE FILL ... TO pour déplacer une zone rectangulaire.
SYNTAXE.
RECTANGLE SWAP abscisse , ordonnee , largeur , hauteur TO versx , versy
REMARQUES.
abscisse, ordonnee, largeur, hauteur, versx et versy doivent être des nombres entiers compris entre −32768 et +32767.
abscisse est l'abscisse du coin inférieur bas (origine) de la zone à déplacer.
ordonnee est l'ordonnée du coin inférieur bas (origine) de la zone à déplacer.
largeur largeur de la zone à déplacer.
hauteur hauteur de la zone à déplacer.
versx est l'abscisse du coin inférieur bas de la zone de destination.
versy est l'ordonnée du coin inférieur bas de la zone de destination.
L'instruction RECTANGLE SWAP ... TO ... permute le contenu de 2 zones rectangulaires de la fenêtre de sortie. primaire recevra le contenu de secondaire et secondaire recevra le contenu de primaire. Si primaire et secondaire se chevauchent, la partie de la zone de destination ne sera effacée après le transfère des graphismes.
Si les caractéristiques de la surface graphique ont été modifiées avec une commande VDU 24, les zones d'origine et de destination peuvent tout de même se trouver hors de la surface graphique.
MODE 8
GCOL 9 : CIRCLE FILL 250 , 775 , 50
VDU 24 , 100 ; 100 ; 500 ; 500 ; : REM - restreint la surface graphique
GCOL 12
GCOL 143
CLG : REM - remplie la surface graphique de la couleur d'arrière-plan
CIRCLE FILL 250 , 250 , 75
LINE 100 , 300 , 500 , 300
LINE 300 , 100 , 300 , 500
RECTANGLE SWAP 150 , 150 , 200 , 200 TO 800 , 600 : REM - echange hors de la surface graphique
RECTANGLE SWAP 800 , 600 , 200 , 200 TO 200 , 700 : REM - echange exterieur à la surface graphique
LINE 0 , 0 , 1279 , 1023 : REM - trace temoin
END
Le tracé témoin LINE 0 , 0 , 1279 , 1023, programmé pour aller du coin inférieur-gauche au coin supérieur-droit, et qui n'est affiché que dans la surface graphique, démontre bien qu'il n'est pas possible de dessiner en dehors de la surface graphique, mais que les échanges peuvent être fait vers et/ou depuis toute la fenêtre de sortie.
Rappel : Avec BBC BASIC SDL 2.0 une points graphique corresponds en réalité à deux pixels. Par exemple, en MODE 8, la fenêtre de sortie a une surface graphique de 640 x 512 points graphiques soit une surface d'image de 1280 x 1024 pixels. Comme les valeurs retournées par certaines variables système sont exprimées en points graphiques, il faudra les multiplier par 2 pour obtenir le nombre de pixels équivalents. Pour pallier à cet inconvénient, il est fortement recommandé de n'utiliser que des valeurs pairs pour désigner les coordonnées des tracés et des dessins.
L'instruction RECTANGLE SWAP ... TO ... correspond à PLOT 253.
RUBRIQUES.
Les dessins et les graphismes pour plus de détails sur la création de dessins et de graphismes.
La gestion des couleurs pour plus de détails sur la gestion des couleurs logiques et physiques.
EXEMPLE.
MODE 8
GCOL 2 : RECTANGLE 200 , 200 , 200 , 200
GCOL 6 : ELLIPSE FILL 300 , 300 , 80 , 30
GCOL 7 : ELLIPSE FILL 300 , 300 , 30 , 80
GCOL 4 : CIRCLE FILL 300 , 300 , 35
GCOL 5 : RECTANGLE 850 , 600 , 200 , 200
GCOL 3 : CIRCLE 950 , 700 , 50
GCOL 6 : LINE 900 , 750 , 1000 , 650
GCOL 3 : LINE 900 , 650 , 1000 , 750
PRINT "Q pour quitter ou P pour permuter les zones ... "
REPEAT
kpause$ = GET$
IF kpause$ = "Q" OR kpause$ = "q" THEN EXIT REPEAT
RECTANGLE SWAP 175 , 175 , 250 , 250 TO 850 , 600
UNTIL FALSE
CLS
PRINT "Fin du test. Au revoir."
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.