Devin Asay wrote:

> I had mistakenly assumed that if a field was hidden a snapshot of
> the field would not show that field, but what was behind it. The
> dictionary entry for import snapshot is not as clear as is could
> be, but with a little trial and error I came up with this:
>
> on dragStart
>     set the allowableDragActions to "copy"
>     set the dragAction to "copy"
>     set the dragData["private"] to word 2 of the clickLIne
>     put the clicktext into tText
>     put tText into fld "dragFld"
>     set the width of fld "dragFld" to the formattedWidth of fld
> "dragFld"
>     lock screen
>     import snapshot from (the long id of fld "dragFld" of this cd)
>     set the name of last image of this card to "dragImg"
>     hide img "dragImg"
>     unlock screen
>     set the dragImage to the id of img "dragImg"
> end dragStart

With the rendering enhancements in v2.7 the engine now supports exporting any object to a snapshop - even ones that aren't on the current card, things that are offscreen, hidden objects, etc. With the "from <object>" form as you're using the engine renders the object into the buffer from scratch rather than grab its rect from the current window buffer, which makes your use and a great many others possible (even easy <g>).

BUT -

Unfortunately the dragImage property is not yet supported on Linux:
<http://quality.runrev.com/qacenter/show_bug.cgi?id=9386>

So if you need a truly cross-platform solution you'll have to do what RunRev did when they first wrote their IDE (which predates the dragImage property): put your image into a new temporary translucent stack, tracking the mouse to move it and doing your own hit-testing to monitor when you should show your drop hilite.

Ugly, but until we get dragImage for Linux I know of no other way....

--
 Richard Gaskin
 Fourth World
 LiveCode training and consulting: http://www.fourthworld.com
 Webzine for LiveCode developers: http://www.LiveCodeJournal.com
 LiveCode Journal blog: http://LiveCodejournal.com/blog.irv

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

Reply via email to