Code: Select all
Procedure test()
Debug "*OUT*"
EndProcedure
If OpenWindow(0, 0, 0, 220, 220, "CanvasGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(0, 10, 10, 200, 200); ,#PB_Canvas_ClipMouse
BindEvent(#PB_Event_Gadget,@test(),0,0,#PB_EventType_MouseLeave)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget And EventGadget() = 0
Select EventType()
Case #PB_EventType_MouseLeave
Debug "OUT"
Case #PB_EventType_MouseEnter
Debug "IN"
Case #PB_EventType_LeftButtonDown,#PB_EventType_MouseMove
If GetGadgetAttribute(0, #PB_Canvas_Buttons) & #PB_Canvas_LeftButton
If StartDrawing(CanvasOutput(0))
x = GetGadgetAttribute(0, #PB_Canvas_MouseX)
y = GetGadgetAttribute(0, #PB_Canvas_MouseY)
Circle(x, y, 10, RGB(Random(255), Random(255), Random(255)))
StopDrawing()
EndIf
EndIf
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
EndIf