Hi Sarah:

Depending on the arrangement and characteristics of your 400 controls,
you could take the approach of putting mouse detection in an image above
your buttons instead of in a card script below:  Create a one-bit
mask...with areas in the image that register with buttons being made
opaque, other areas being transparent.  In Rev set the blendlevel of the
image to 100.  The entire image will be visually transparent, but mouse
clicks will respect *original* opacity/transparency.  Therefore in the
script of the image you could have something like this:

on mouseDown    
  --detectable in opaque areas only     
  put BtnBelowAtMouseDown() into gBtnDown       
  set the hilite of btn gBtnDown to true        
end mouseDown   
        
on mouseRelease 
  set the hilite of btn gBtnDown to false       
end mouseRelease        

on mouseUp      
  set the hilite of btn gBtnDown to false       
  send mouseUp to btn gBtnDown  -- if needed    
end mouseUp     
        
on mouseMove    
  put BtnBelowAtHover() into tBtnHovered        
  ...   
end mouseMove   


The BtnBelowAtMouseDown and BtnBelowAtHover algorithms depend a lot on
card design.  I have done something similar, but with 4 underlying
controls instead of 400 so I am not sure about performance and the
efficiency of those two algorithms in your particular case.  A
compelling feature of this approach is that the creation of the mask
itself could be scriptable...using snapshot, button rects, alphadata,
etc...though I have never done it.

Mark
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to