Farbflash projects: Imaging lingo table | 3-D scene list | Find all | Handler menu | Lingo message window

Ignore:
Timestamp:
10/24/08 12:12:09 (4 years ago)
Author:
alex
Message:

updated movie to incorporate new version of library scripts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lingosource/castlib2/newResizableStageBehavior.ls

    r14 r18  
    11-- xxxx reposition or resize sprites for scalable movies 
    22-- New Version -> more simple -> just takes relative values for distances to the screen bound 
    3 -- Alex da Franca ©2002  da.franca@online.de 
     3-- Alex da Franca c2002  da.franca@online.de 
    44-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
    55 
     
    1515property pPreserveAspect 
    1616property pCurrentRect 
     17 
     18property pResizeListenerList 
    1719 
    1820on beginsprite me 
     
    2022  pOldrect = pKanal.rect 
    2123  pCurrentRect = duplicate(pOldrect) 
     24   
     25  pResizeListenerList = [] 
    2226   
    2327  pCenterV = 0 
     
    6771 
    6872on endsprite me 
     73  pResizeListenerList = [] 
    6974  theMember = pKanal.member 
    7075  if theMember.type = #text then 
     
    9196  retlist[#pPreserveAspect] = [#format:#boolean, #default:0, #comment:"Preserve initial aspect ratio when scaling:"] 
    9297  return retlist 
     98end 
     99 
     100-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
     101 
     102on RegisterForResizeEvent me, listenerList 
     103   
     104  if not(objectP(listenerList)) then return 0 
     105  if not(symbolP(listenerList[#handler])) then return 0 
     106  theTarget = listenerList[#target] 
     107  if not(objectP(theTarget)) then return 0 
     108   
     109  UnRegisterForResizeEvent me, theTarget 
     110   
     111  pResizeListenerList.add(listenerList) 
     112   
     113end 
     114 
     115-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
     116 
     117on UnRegisterForResizeEvent me, atarget 
     118  repeat with n = count(pResizeListenerList) down to 1 
     119    if pResizeListenerList[n][#target] = atarget then 
     120      pResizeListenerList.deleteAt(n) 
     121      exit repeat 
     122    end if 
     123  end repeat 
     124end 
     125 
     126-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
     127 
     128on mSendResizeEventToListeners me, newRect, oldRect 
     129  repeat with n = count(pResizeListenerList) down to 1 
     130    if objectP(pResizeListenerList[n][#target]) then 
     131      pResizeListenerList[n][#newRect] = newRect 
     132      pResizeListenerList[n][#oldRect] = oldRect 
     133      call(pResizeListenerList[n][#handler], [pResizeListenerList[n][#target]], pResizeListenerList[n]) 
     134    else 
     135      pResizeListenerList.deleteAt(n) 
     136    end if 
     137  end repeat 
    93138end 
    94139 
     
    195240      pCurrentRect = newR     
    196241    end if 
     242     
    197243    sendSprite(me.spritenum, #mRefreshSpriteRectAfterStageChange, newR, r) 
     244     
     245    mSendResizeEventToListeners me, newR, r 
    198246     
    199247  end if 
     
    290338  mRefreshResizeTargetRect me, newRect 
    291339end 
     340 
    292341-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
    293342 
Note: See TracChangeset for help on using the changeset viewer.