// Mouse button demo
//
// Press left mouse button and you will get the position
// Move mouse while button is pressed

USE CITScreen
USE CITWindow

DIM Error OF SHORT
DIM MouseMoveEvent OF SHORT

DIM DemoWindow OF CITWindow
DemoWindow.Position(50,20)
DemoWindow.Size(530,150)
DemoWindow.CloseGadget
DemoWindow.DragBar
DemoWindow.SizingGadget
DemoWindow.DepthGadget
DemoWindow.Activate
DemoWindow.SelectEventHandler(Button(,,))
DemoWindow.PointerEventHandler(MouseMove(,))
ComalScreen.InsObject(DemoWindow,Error)
IF Error THEN
  STOP "Could'nt open the window"
ENDIF

DemoWindow.MouseMove(TRUE)

WHILE NOT DemoWindow.ClosePressed DO WAIT

ComalScreen.RemObject(DemoWindow)

PROC Button(Down OF BYTE,x OF FLOAT,y OF FLOAT)
  IF Down THEN
    IF NOT MouseMoveEvent THEN
      MouseMoveEvent:=TRUE
      DemoWindow.MouseMove(TRUE)
    ENDIF
    PRINT AT 20,5: USING "x = -### ,  y = -###": x,y,
  ELSE
    IF MouseMoveEvent THEN
      MouseMoveEvent:=FALSE
      DemoWindow.MouseMove(FALSE)
    ENDIF
  ENDIF
ENDPROC Button

PROC MouseMove(x OF FLOAT,y OF FLOAT)
  PRINT AT 20,5: USING "x = -### ,  y = -###": x,y,
ENDPROC MouseMove
