■ Drawing Lines.
- Cet essai trace des Dotted Line (Lignes en pointillés) toutes les 40 millisecondes.
- Chaque ligne est reliée à la précédente.
- Sur chaque angle est tracé un cercle en pointillé.
- Chaque ligne s’estompe toute les 30 millisecondes.
Code : Tout sélectionner
; PB 5.40 (x86)
; VectorDrawing : Drawing Lines
;
EnableExplicit
Enumeration
#MainForm
#TimerBlank
#TimerLine
#Canvas
EndEnumeration
Declare Clear()
Declare DrawLines()
Global LastX = Random(1024)
Global LastY = Random(768)
Global Hue = 0
If OpenWindow(#MainForm, 0, 0, 1024, 768, "VectorDrawing: Drawing Lines.", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CanvasGadget(#Canvas, 0, 0, 1024, 768)
AddWindowTimer(#MainForm, #TimerBlank, 30)
AddWindowTimer(#MainForm, #TimerLine, 40)
BindEvent(#PB_Event_Timer, @Clear(), #MainForm, #TimerBlank)
BindEvent(#PB_Event_Timer, @DrawLines(), #MainForm, #TimerLine)
Repeat : Until WaitWindowEvent(10) = #PB_Event_CloseWindow
EndIf
Procedure Clear()
StartVectorDrawing(CanvasVectorOutput(#Canvas))
AddPathBox(0, 0, 1024, 768)
VectorSourceColor(RGBA(0, 0, 0, 10))
FillPath()
StopVectorDrawing()
EndProcedure
Procedure DrawLines()
Protected NewX, NewY
StartVectorDrawing(CanvasVectorOutput(#Canvas))
NewX = Random(1024)
NewY = Random(768)
MovePathCursor(LastX, LastY)
AddPathLine(NewX-LastX, NewY-LastY, #PB_Path_Relative)
AddPathCircle(NewX, NewY, 15)
VectorSourceColor(RGBA(Random(255), Random(255), Random(255), 255))
DotPath(5, 10, #PB_Path_RoundEnd)
StopVectorDrawing()
LastX = NewX
LastY = NewY
EndProcedure