home *** CD-ROM | disk | FTP | other *** search
/ Inventor Labs: Technology / INVENTORLABS_TECHNOLOGY.BIN / mac / FILES / SHARED.CST / 00043_Script_zoomBtnObject < prev    next >
Text File  |  1997-07-24  |  3KB  |  112 lines

  1. --P3:Tool3: zoom btn object--
  2.  
  3.  
  4.  
  5. property pToolRects, pNumOfRects
  6. property pMenuCast
  7. property argClickLocPnt
  8. property pHiliteStartCast
  9. property pHiliteSprite
  10. property pQTVRsteps
  11.  
  12. global gModeManager, gQTVRobj, gActiveQTVRhandler, gActiveFunctionObj
  13. --==============================================================
  14. on mInit me
  15.   
  16.   
  17.   return (me)
  18.   
  19. end
  20. ----------------------------------------------------------------------------ò
  21. on mSetup me
  22.   
  23.   set pQTVRsteps = [[0,0,-1],[0,0,1]]
  24.   
  25. end mSetup
  26. ----------------------------------------------------------------------------ò
  27. on mSetMenuProp me, WhatMenuCast, toolrects, hiliteSprite, ActiveFunctionalty
  28.   
  29.   set pWhatFunctActive = ActiveFunctionalty
  30.   set pMenuCast = WhatMenuCast
  31.   set pToolRects = toolrects
  32.   set pHiliteSprite = hiliteSprite
  33.   set pHiliteStartCast = pMenuCast + 1
  34.   set pNumOfRects = count(pToolRects)
  35.   
  36. end mSetMenuProp
  37. ----------------------------------------------------------------------------ò
  38. on mGetToolMenuCast me
  39.   
  40.   return ( pMenuCast )
  41.   
  42. end mGetToolMenuCast
  43. ----------------------------------------------------------------------------ò
  44. on mButtonClicked me
  45.   
  46.   set ClickLocPnt = the clickloc
  47.   set whatrect = mGetWhatToolRect( me, ClickLocPnt)
  48.   if  (whatrect <> 0 ) then
  49.     
  50.     if mGetCurrentMode( gModeManager) = #QTVR then ZoomQTVR( me, whatrect, ClickLocPnt )
  51.     else if objectP(gActiveFunctionObj) then mZoom( gActiveFunctionObj, whatrect)
  52.     
  53.   end if
  54.   
  55. end mButtonClicked
  56. ----------------------------------------------------------------------------ò
  57. on mGetWhatToolRect me, argClickedPnt
  58.   
  59.   set whatrect = 1
  60.   set found = #FALSE
  61.   repeat while (found = #FALSE)
  62.     if inside(argClickedPnt, getat(pToolRects,whatrect)) then 
  63.       set found = #TRUE
  64.       set the castnum of sprite pHiliteSprite = pHiliteStartCast + whatrect - 1
  65.       updatestage
  66.     else set whatrect = whatrect + 1
  67.     if (whatrect > pNumOfRects) then set found = #NEVER
  68.   end repeat
  69.   
  70.   if (found = #TRUE) then return( whatrect ) 
  71.   else  return( 0 ) 
  72.   
  73. end mGetWhatToolRect
  74. ----------------------------------------------------------------------------ò
  75. on ZoomQTVR me, whatrect, argClickedPnt
  76.   
  77.   if (whatrect <> 0) then
  78.     set OverActiveRect = TRUE
  79.     set MouseLocPnt = argClickedPnt
  80.   else set OverActiveRect = FALSE
  81.   
  82.   set NewCords = value("[" & mGetQTVRProps( gQTVRobj ) & "]")
  83.   
  84.   repeat while the mousedown and OverActiveRect
  85.     
  86.     set MouseLocPnt = point(the mouseh, the mousev)
  87.     if inside(MouseLocPnt, getat(pToolRects,whatrect)) then
  88.       set QTVRstep = getat(pQTVRsteps,whatrect)
  89.       set NewCords = NewCords + QTVRstep
  90.       set NewViewStr = string(getat(NewCords,1)) & "," & string(getat(NewCords,2)) & "," & string(getat(NewCords,3))
  91.       mSwingToView( gQTVRobj, NewViewStr,"5" )
  92.       --mSetQTVRView( gQTVRobj, NewViewStr )
  93.       --mUpdate( gQTVRobj )
  94.     else 
  95.       set the castnum of sprite pHiliteSprite = 0
  96.       updatestage
  97.       set OverActiveRect = FALSE
  98.     end if
  99.     
  100.   end repeat
  101.   
  102.   if not OverActiveRect and the mousedown then 
  103.     set MouseLocPnt = point(the mouseh, the mousev)
  104.     ZoomQTVR( me,mGetWhatToolRect( me, MouseLocPnt), MouseLocPnt)
  105.   else set the castnum of sprite pHiliteSprite = 0
  106.   
  107.   
  108.   
  109. end ZoomQTVR
  110. ----------------------------------------------------------------------------ò
  111.  
  112.