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 diagonal
CoordonneeSysteme (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

<- IsInsidePath() - VectorDrawing Index - IsPathEmpty() ->