# WimpWorks Information File
# WimpWorks  Jaffa Software 1997. All rights reserved.

DEF TASKdetails
	Name		Mouse Info
	Purpose		Give Pointer Info
	Author		 HxBro 1997
	Licence		Public Domain
	Version		1.01 (29-Oct-97)
	Compress	True
	Memory		0K
	IconbarSide	Right
	IconbarPriority	&00000000
	IconbarSprite	!mouseinfo
	IconbarText	
ENDTASK

DEF WEMinclude
	Starter Pack
ENDWEM

DEF MENUmainMenu%
	Mouse Info
	Info
		S(infoWindow%)
		
	Quit
		
		CLOSEDOWN
ENDMENU

DEF SUBR_PROCsetup_variables
	Event	0
	Every	-1
DEF PROCsetup_variables
  DIM workspace% 20   : REM Space for mouse data
  task_mem%=CLAIM(1024)   : REM More space for task info
  button$="Dormant"
  windowhandle$="Application"
  oldxcoordinate%=0
  oldycoordinate%=0
  oldbuttonstate%=999
  oldwindowhandle%=0
  oldiconhandle%=9999

  REM Delete the iconbar icon and open up the main window

  DELETEICON(-2,TASKINFO(wwIconbarHandle))
  OPENWINDOW(main)
  main_window_open = TRUE

  REM Enable the POLL Null event
  BUSYON
ENDPROC
ENDSUBR

DEF SUBR_PROCmessage
	Event	5
	Every	-1
DEF PROCmessage(file$, type%)
  
ENDPROC
ENDSUBR

DEF SUBR_FNclose_window
	Event	11
	Every	-1
DEF FNclose_window(window%)
  IF window% = main CLOSEDOWN
=0
ENDSUBR

DEF SUBR_PROCclick_on_main
	Event	12
	Every	-1
DEF PROCclick_on_main(window%, icon%, button%)
  IF window% = main AND button% = 2 OPENMENU(mainMenu%,-1,-1)
ENDPROC
ENDSUBR

DEF SUBR_PROCnull_update
	Event	1
	Every	-1
DEF PROCnull_update(time%)
  SYS "Wimp_GetPointerInfo",,workspace%
  IF workspace%!0 <> oldxcoordinate% SETICON(main,1,STR$workspace%!0)
  IF workspace%!4 <> oldycoordinate% SETICON(main,3,STR$workspace%!4)
  IF workspace%!8 <> oldbuttonstate% THEN
     CASE workspace%!8 OF
          WHEN 4 : button$="Select"
          WHEN 2 : button$="Middle"
          WHEN 1 : button$="Adjust"
          OTHERWISE button$="Dormant"
     ENDCASE
     SETICON(main,5,button$)
  ENDIF
  IF workspace%!12 <> oldwindowhandle% THEN
     CASE workspace%!12 OF
          WHEN -1 : windowhandle$="Background" : SETICON(main,7,windowhandle$)
          WHEN -2 : windowhandle$="Iconbar" : SETICON(main,7,windowhandle$)
     OTHERWISE
          REPEAT
            task_mem%!12 = 0
            SYS "Wimp_SendMessage",19,task_mem%,workspace%!12 TO ,,owner_taskhandle%
          UNTIL owner_taskhandle% <> -1
          IF owner_taskhandle% <> -1 THEN
             windowhandle$=TASKNAME(owner_taskhandle%)
             SETICON(main,7,windowhandle$)
          ENDIF
     ENDCASE
  ENDIF
  IF workspace%!16 <> oldiconhandle% THEN
     CASE workspace%!16 OF
          WHEN -1  : iconhandle$="Work area"
          WHEN -2  : iconhandle$="Back icon"
          WHEN -3  : iconhandle$="Close icon"
          WHEN -4  : iconhandle$="Title bar"
          WHEN -5  : iconhandle$="Toggle size icon"
          WHEN -6  : iconhandle$="Scroll up arrow"
          WHEN -7  : iconhandle$="Vertical scrollbar"
          WHEN -8  : iconhandle$="Scroll down arrow"
          WHEN -9  : iconhandle$="Adjust size icon"
          WHEN -10 : iconhandle$="Scroll left arrow"
          WHEN -11 : iconhandle$="Horizontal scrollbar"
          WHEN -12 : iconhandle$="Scroll right arrow"
          WHEN -13 : iconhandle$="Outer window frame"
     OTHERWISE iconhandle$=STR$workspace%!16
     ENDCASE
     SETICON(main,9,iconhandle$)
  ENDIF
  oldxcoordinate%  = workspace%!0
  oldycoordinate%  = workspace%!4
  oldbuttonstate%  = workspace%!8
  oldwindowhandle% = workspace%!12
  oldiconhandle%   = workspace%!16
ENDPROC
ENDSUBR

