On 4/1/11 11:14 AM, J. Landman Gay wrote:

Since you are taking snapshots of other cards and the "preopen" is for
the control, I'm not sure you need to wait for the control to load. I
think the issue is the ID of the icon.


I just tried the handler you posted and there's more wrong than just the icon ID.

on preOpenControl
   import snapshot from the rect of card "Example"
   set the icon of me to it
end preOpenControl

It might be a typo, but the first line will error without the "rect" keyword: import snapshot from rect (the rect of cd "example"). Also, snapshots use the 0,0 point of the monitor (not the stack) for coordinates when dealing with cards, so the rect of a card will result in the snapshot containing the top left portion of whatever's on the monitor at that position. You'll need to translate the coordinates from global to local coords. You can either do that using the globalloc function or you can just use the rect of the stack instead of the rect of the card. The second method won't always work if you have a menubar on a Mac (which makes the stack shorter than the card.)

After either an import or an export, the "it" variable is not given a value, so it becomes the string literal "it". You can't set an icon to a string literal, you need an ID number.

While you can take snapshots of objects that aren't open, you can't take them of cards that aren't open. Cards are not objects. I was unable to get a snapshot of another card unless I went there first. This did work:

on test
  get the rect of this cd
  put globalloc(item 1 to 2 of it) into tRect
  put globalLoc(item 3 to 4 of it) into item 3 to 4 of tRect
  go cd 2
  import snapshot from rect tRect
  go back
  set the icon of me to the short id of last img of cd 2
end test

The "export snapshot" offers more options. You can export a snapshot to a variable and then put that variable into an image object. However, I was still unable to get a snapshot without going to the card. This works:

on test2
  lock screen
  go cd 2
  export snapshot from cd 2 to tVar as JPEG
  go back
  unlock screen
  create img "iconImg"
  set the text of img "iconImg" to tVar
  set the icon of me to the short id of img "iconImg"
end test2

--
Jacqueline Landman Gay         |     jac...@hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com

_______________________________________________
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