Ah! I overlooked that. Here's a fix:

-- card script --

local h1, h2, v1, v2, wasWithinGrc


on mouseDown
   put false into wasWithinGrc
   put the clickH into h1
   put the clickV into v1
end mouseDown


on mouseMove h,v
   if h,v is within the rect of grc 1
   then put true into wasWithinGrc
end mouseMove


on mouseUp
   -- exit if mouse never entered the grc
   if wasWithinGrc = true then
      put the mouseH into h2
      put the mouseV into v2
      put grcDragRegion()
   else
      put empty
   end if
end mouseUp


function grcDragRegion
   -- define mouse drag rect
   put min(h1,h2) into tMouseLeft
   put max(h1,h2) into tMouseRight
   put min(v1,v2) into tMouseTop
   put max(v1,v2) into tMouseBottom

   -- define overlap of mouse drag rect & grc rect
   put max(tMouseLeft, the left of grc 1) into item 1 of tOverlapRect
   put max(tMouseTop, the top of grc 1) into item 2 of tOverlapRect
   put min(tMouseRight, the right of grc 1) into item 3 of tOverlapRect
   put min(tMouseBottom, the bottom of grc 1) into item 4 of tOverlapRect

   -- return it
   return tOverlapRect
end grcDragRegion



On 11/9/10 11:57 AM, Glen Bojsza wrote:
Hi Phil,

Yes it works BUT it doesn't constrain itself to the graphic.

I want it to only to report the points if the user includes the graphic when
they d their drag... as it currently stands it reports coordinates even if
the user does not drag across the graphic.

But other that that it is total a different perspective on how I was looking
at the problem... I was too focused on the graphic.

thanks,

Glen

On Tue, Nov 9, 2010 at 12:27 PM, Phil Davis<[email protected]>  wrote:

Hi Glen,

See if this works:


-- card script --

local h1, h2, v1, v2


on mouseDown
   put the clickH into h1
   put the clickV into v1
end mouseDown


on mouseUp
   put the mouseH into h2
   put the mouseV into v2
   put grcDragRegion()
end mouseUp


function grcDragRegion
   -- define mouse drag rect
   put min(h1,h2) into tMouseLeft
   put max(h1,h2) into tMouseRight
   put min(v1,v2) into tMouseTop
   put max(v1,v2) into tMouseBottom

   -- define overlap of mouse drag rect&  grc rect
   put max(tMouseLeft, the left of grc 1) into item 1 of tOverlapRect
   put max(tMouseTop, the top of grc 1) into item 2 of tOverlapRect
   put min(tMouseRight, the right of grc 1) into item 3 of tOverlapRect
   put min(tMouseBottom, the bottom of grc 1) into item 4 of tOverlapRect

   -- return it
   return tOverlapRect
end grcDragRegion

Phil Davis



On 11/9/10 10:48 AM, Glen Bojsza wrote:

I have a problem which I am not certain which method is valid or should be
used (with Rev / Livecode there are sometimes too many ways of achieving a
goal).

I have a graphic on a card left 62 right 462.

My objective is to allow a user to left click and drag across the graphic
as
if selecting a section of it.

I need start left,top,right,bottom and end left,top,right,bottom.

The only interest is knowing the start of the drag when inside the graphic
and the end of the drag inside the graphic... with the following caveats.


    - The user may start the drag either outside the graphic and then
    continue the drag into the graphic (which is the start point) or start
the
    drag inside the graphic which would be the start point.
    - The user may release the mouse button inside the graphic which
    indicates the stop point or release the mouse button outside the
graphic
    where the stop point is at the point of the mouse leaving the graphic.


This seems like it should be simple but I am getting tied down but trying
to
over complicate it?

This is for Windows and Linux .

Any elegant or simple solutions out there?
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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

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


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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

Reply via email to