Code: Select all
Procedure Paint()
Protected x.i=GetGadgetAttribute(5, #PB_Canvas_MouseX), y.i=GetGadgetAttribute(5, #PB_Canvas_MouseY)
Protected kOut.i =RGBA( 0,255, 0, 255)
Protected kOver.i=RGBA(255, 0, 0, 255)
If StartVectorDrawing(CanvasVectorOutput(5))
AddPathSegments("M 150 220 L 150 50 L 360 50 L 360 220 Z")
If IsInsidePath(x,y): VectorSourceColor(kOut): Else: VectorSourceColor(kOver): EndIf: StrokePath(5, #PB_Path_Preserve)
VectorSourceColor(RGBA(255, 255, 0, 255)): FillPath()
MovePathCursor(40, 160)
AddPathLine(100, 20)
AddPathLine(180, 160)
ClosePath()
If IsInsidePath(x,y): VectorSourceColor(kOut): Else: VectorSourceColor(kOver): EndIf: StrokePath(5, #PB_Path_Preserve)
VectorSourceColor(RGBA(255, 255, 0, 255)): FillPath()
StopVectorDrawing()
EndIf
EndProcedure
If OpenWindow(10, 0,0, 500,480, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(5, 0,0, 500,480)
BindGadgetEvent(5, @Paint())
Paint()
Repeat
Event = WaitWindowEvent()
Select WindowEvent()
Case #PB_Event_Gadget
eg=EventGadget()
Case #PB_Event_CloseWindow
Break
EndSelect
Until false
EndIf
