home *** CD-ROM | disk | FTP | other *** search
/ Encyklopedia Omnia / Planeta.iso / data / m_info.dir / 00012_Script_FieldThumbScroll < prev    next >
Text File  |  2000-10-16  |  4KB  |  112 lines

  1. ---------------------------------------
  2. --         HTML ScrollThumb          --
  3. --                                   --
  4. --  Behavior per scrollare un field  --
  5. --  Html tramite un cursore.         --
  6. --  Applicalo al cursore.            --
  7. ---------------------------------------
  8.  
  9.  
  10. property normalCursor, pressedCursor, upArrowSN, downArrowSN,¼
  11.           spaceFromArrows, thumbMinY, thumbMaxY, thumbX, thumbName, NStesto
  12.  
  13. on beginSprite
  14.   set the cursor of sprite (the currentSpriteNum) to¼
  15.   [member normalCursor, member (normalCursor & "_m")]
  16.   
  17.   resetThumbScroll
  18. end
  19.  
  20.  
  21. on resetThumbScroll
  22.   -- chiamato da beginSprite e ogniqualvolta
  23.   -- cambi il testo nel field.
  24.   set upDisplace =  getAt(the regPoint of member the member of sprite the currentSpriteNum,2)
  25.   set downDisplace = (the height of sprite the currentSpriteNum) - upDisplace
  26.   set thumbMinY = (the bottom of sprite upArrowSN) + upDisplace + spaceFromArrows
  27.   set thumbMaxY = (the top of sprite downArrowSN) - downDisplace - spaceFromArrows
  28.   set thumbX = the locH of sprite the currentSpriteNum
  29.   set the loc of sprite the currentSpriteNum to point(thumbX,thumbMinY)
  30. end
  31.  
  32.  
  33. on mouseDown
  34.   if (the height of member the member of sprite NStesto) > (the PageHeight of member the member of sprite NStesto) then
  35.     -- settings iniziali
  36.     set ns = the currentSpriteNum
  37.     set the cursor of sprite (ns) to¼
  38.     [member pressedCursor, member (pressedCursor & "_m")]
  39.     set totalTextHeight = the height of member the member of sprite NStesto
  40.     set singlePageHeight = the PageHeight of member the member of sprite NStesto
  41.     set scrollExtent = thumbMaxY - thumbMinY
  42.     set oldY = the locV of sprite ns
  43.     
  44.     set offset = getAt(the clickLoc, 2) - the locV of sprite ns
  45.     
  46.     -- loop sul mouseDown
  47.     repeat while the mousedown
  48.       set newY = mouseV() - offset
  49.       if newY > thumbMaxY then set newY = thumbMaxY
  50.       if newY < thumbMinY then set newY = thumbMinY
  51.       
  52.       -- se necessario...
  53.       if newY <> oldY then
  54.         -- sposta il thumb
  55.         set the loc of sprite ns to point(thumbX, newY)
  56.         set oldY = newY
  57.         
  58.         -- e scrolla il testo
  59.         set newScrollTop = (totalTextHeight - singlePageHeight) * ((newY - thumbMinY)/float(scrollExtent))
  60.         set the scrollTop of member the member of sprite NStesto to newScrollTop
  61.       end if
  62.       
  63.       updateStage
  64.     end repeat
  65.     
  66.     set the cursor of sprite (ns) to¼
  67.     [member normalCursor, member (normalCursor & "_m")]
  68.   end if
  69. end
  70.  
  71.  
  72. on trackArrowScroll
  73.   -- chiamato dalle freccie per seguire lo scroll
  74.   set totalTextHeight = the height of member the member of sprite NStesto
  75.   set singlePageHeight = the PageHeight of member the member of sprite NStesto
  76.   set scrollExtent = thumbMaxY - thumbMinY
  77.   set currentScrollTop = the scrollTop of member the member of sprite NStesto
  78.   
  79.   set diff = totalTextHeight - singlePageHeight
  80.   if diff <> 0 then
  81.     set newY = thumbMinY + scrollExtent*(currentScrollTop/float(diff))
  82.     -- sposta il thumb
  83.     set the loc of sprite the currentSpriteNum to point(thumbX, newY)
  84.   end if
  85. end
  86.  
  87.  
  88. on getPropertyDescriptionList
  89.   set p_list = [#upArrowSN: [#comment:"N╛ sprite freccia s∙:",¼
  90.                 #format: #integer, #default: 1, #range: [#min:1,#max:120]],¼
  91.                 #downArrowSN: [#comment:"N╛ sprite freccia gi∙:",¼
  92.                 #format: #integer, #default: 1, #range: [#min:1,#max:120]],¼
  93.                 #normalCursor:[#comment:"Cursore normale:",¼
  94.                 #format: #string, #default: "palmo"],¼
  95.                 #pressedCursor:[#comment:"Cursore premuto:",¼
  96.                 #format: #string, #default: "pugno"],¼
  97.                 #spaceFromArrows: [#comment:"Spaziatura tra freccie e thumb:",¼
  98.                 #format: #integer, #default: 2],¼
  99.                 #thumbName:[#comment:"Nome del membro html:",¼
  100.                 #format: #string, #default: "testo"],¼
  101.                 #NStesto:[#comment:"N╛ sprite del testo:",¼
  102.                 #format: #integer, #default: 1, #range: [#min:1,#max:120]]]
  103.   
  104.   return p_list
  105. end
  106.  
  107.  
  108. on getBehaviorDescription
  109.   set descr = "Behavior per scrollare un field Html tramite un cursore."
  110.   set descr = descr & RETURN & "Applicalo al cursore."
  111.   return descr
  112. end