Within a border?

Brian Yennie briany at qldlearning.com
Wed Mar 24 19:18:08 EST 2004


How about something like:

function isWithinBorder tLoc,tObject
   put the rect of tObject into tRect
   if (tLoc is within tRect) then
      if abs(item 1 of tLoc - item 1 of tRect) <= (the borderWidth of 
tObject) then return TRUE
      if abs(item 1 of tLoc - item 3 of tRect) <= (the borderWidth of 
tObject) then return TRUE
      if abs(item 2 of tLoc - item 2 of tRect) <= (the borderWidth of 
tObject) then return TRUE
      if abs(item 2 of tLoc - item 4 of tRect) <= (the borderWidth of 
tObject) then return TRUE
   end if
   return FALSE
end isWithinBorder

You could call it with something like:

if (isWithinBorder(the mouseLoc, "field 1")) then...

The idea being if it's within the rect, and within (borderWidth) pixels 
of the left, right, top or bottom, then it's in the border.

This is untested and of course won't work with non-rectangular controls.

HTH

Brian

> I need to detect whether the cursor is within the border area of a 
> control
> (in this case, a field).
>
> I believe I can do this by using "is within", then defining two 
> rectangles -
> one for the object (containing the border) and one for the object 
> (inside
> the border) and doing an appropriate test with both rectangles.
>
> Unless Revolution has some more convenient syntax for testing for being
> within a control's border. Does it, by any chance?
>
> Any caveats worth mentioning?
>
> Thanks,
>
> doug
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
>



More information about the use-livecode mailing list