IsInsideStroke()
Syntaxe
Resultat = IsInsideStroke(X.d, Y.d, Largeur.d [, Options [, CoordonneeSysteme]])Description
Teste si les coordonnées indiquées sont dans un contour qui sera dessiné par un appel à StrokePath().
Arguments
X.d, Y.d Les coordonnées du point à tester. Largeur.d La largeur de ligne à utiliser pour le test. Options (optionnel) Peut être une combinaison des valeurs suivantes: #PB_Path_Default : Pas de comportement spécial (Par défaut) #PB_Path_Preserve : Ne pas réinitialiser le chemin après cette fonction #PB_Path_RoundEnd : Trace la ligne avec des extrémités arrondies #PB_Path_SquareEnd : Trace la ligne avec un carré aux extrémités #PB_Path_RoundCorner : Trace la ligne avec des coins arrondis #PB_Path_DiagonalCorner: Trace la ligne avec les coins coupés en diagonalCoordonneeSysteme (optionnel) Indique le système de coordonnées à utiliser.
Peut être l'une des valeurs suivantes:#PB_Coordinate_Device: Le système de coordonnées du dispositif de sortie #PB_Coordinate_Output: Le système de coordonnées comme il a été créé avec la fonction de sortie de dessin #PB_Coordinate_User : Le système de coordonnées des points du chemin de dessin (Par défaut) #PB_Coordinate_Source: Le système de coordonnées de la source du dessin vectoriel
Valeur de retour
Renvoie une valeur non nulle si le point est dans le trait, zéro sinon.
Remarques
Voir l'aperçu de VectorDrawing pour une introduction aux différents systèmes de coordonnées.
Exemple
; Cet exemple utilise la fonction IsInsideStroke () pour colorer la contour en vert
; tant que la souris est dessus, en bleu sinon
;
Procedure Draw()
x = GetGadgetAttribute(0, #PB_Canvas_MouseX)
y = GetGadgetAttribute(0, #PB_Canvas_MouseY)
If StartVectorDrawing(CanvasVectorOutput(0))
VectorSourceColor(RGBA(255, 255, 255, 255)) ; efface le contenu précédent
FillVectorOutput()
AddPathEllipse(200, 100, 150, 75) ; prépare le chemin
If IsInsideStroke(x, y, 20, #PB_Path_Default, #PB_Coordinate_Device) ; vérifie si la souris est à l'intérieur
VectorSourceColor(RGBA(0, 255, 0, 255))
Else
VectorSourceColor(RGBA(0, 0, 255, 255))
EndIf
StrokePath(20) ; chemin avec motif
StopVectorDrawing()
EndIf
EndProcedure
If OpenWindow(0, 0, 0, 400, 200, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(0, 0, 0, 400, 200)
LoadFont(0, "Times New Roman", 20, #PB_Font_Bold)
Draw()
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget And EventGadget() = 0 And EventType() = #PB_EventType_MouseMove
Draw()
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
Voir aussi
FillPath(), DotPath(), DashPath(), CustomDashPath(), IsInsideStroke(), ResetPath()
OS Supportés
Tous