Changeset 18 for trunk/lingosource/castlib2/newResizableStageBehavior.ls
- Timestamp:
- 10/24/08 12:12:09 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lingosource/castlib2/newResizableStageBehavior.ls
r14 r18 1 1 -- xxxx reposition or resize sprites for scalable movies 2 2 -- New Version -> more simple -> just takes relative values for distances to the screen bound 3 -- Alex da Franca ©2002 da.franca@online.de3 -- Alex da Franca c2002 da.franca@online.de 4 4 -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 5 5 … … 15 15 property pPreserveAspect 16 16 property pCurrentRect 17 18 property pResizeListenerList 17 19 18 20 on beginsprite me … … 20 22 pOldrect = pKanal.rect 21 23 pCurrentRect = duplicate(pOldrect) 24 25 pResizeListenerList = [] 22 26 23 27 pCenterV = 0 … … 67 71 68 72 on endsprite me 73 pResizeListenerList = [] 69 74 theMember = pKanal.member 70 75 if theMember.type = #text then … … 91 96 retlist[#pPreserveAspect] = [#format:#boolean, #default:0, #comment:"Preserve initial aspect ratio when scaling:"] 92 97 return retlist 98 end 99 100 -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 101 102 on 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 113 end 114 115 -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 116 117 on 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 124 end 125 126 -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 127 128 on 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 93 138 end 94 139 … … 195 240 pCurrentRect = newR 196 241 end if 242 197 243 sendSprite(me.spritenum, #mRefreshSpriteRectAfterStageChange, newR, r) 244 245 mSendResizeEventToListeners me, newR, r 198 246 199 247 end if … … 290 338 mRefreshResizeTargetRect me, newRect 291 339 end 340 292 341 -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 293 342
Note: See TracChangeset
for help on using the changeset viewer.
