home *** CD-ROM | disk | FTP | other *** search
- property pOnMember, pOffMember, pState, pMySprite, pMyMember, pMyMember2, pMyMember3
- global gProject, gSize, gCast, myCurrentImage, myCurrentPreview
-
- on beginSprite me
- pMySprite = sprite(me.spriteNum)
- pMyMember = pMySprite.memberNum
- pMyMember2 = pMyMember - 1
- pMyMember3 = pMyMember + 1
- setMember(me)
- end
-
- on mouseEnter me
- if (sprite(4).left <> 800) or (sprite(1).pUndoTrigger = 0) then
- pass()
- else
- set the memberNum of sprite pMySprite to pMyMember3
- put "Click to undo or redo the last action. (Ctrl+Z)" into field "status"
- end if
- end
-
- on mouseLeave me
- if (sprite(4).left <> 800) or (sprite(1).pUndoTrigger = 0) then
- pass()
- else
- set the memberNum of sprite pMySprite to pMyMember
- put EMPTY into field "status"
- end if
- end
-
- on mouseDown me
- if (sprite(4).left <> 800) or (sprite(1).pUndoTrigger = 0) then
- pass()
- else
- repeat while the mouseDown
- set the memberNum of sprite pMySprite to pMyMember2
- updateStage()
- end repeat
- end if
- end
-
- on mouseUp me
- if (sprite(4).left <> 800) or (sprite(1).pUndoTrigger = 0) then
- pass()
- else
- pState = not pState
- doUndoRedo(me)
- setMember(me)
- set the memberNum of sprite pMySprite to pMyMember3
- end if
- end
-
- on setMember me
- if pState = 1 then
- sprite(me.spriteNum).member = pOnMember
- pMyMember = pMySprite.memberNum
- pMyMember2 = pMyMember - 1
- pMyMember3 = pMyMember + 1
- else
- sprite(me.spriteNum).member = pOffMember
- pMyMember = pMySprite.memberNum
- pMyMember2 = pMyMember - 1
- pMyMember3 = pMyMember + 1
- end if
- end
-
- on doUndoRedo me
- myCurrentPreview = duplicate(member("preview", gCast).image)
- if pState = 1 then
- myCurrentImage = duplicate(member("state1 - " & gSize, gCast).image)
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- else
- myCurrentImage = duplicate(member("state2 - " & gSize, gCast).image)
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- end if
- updateStage()
- fnUpdatePreview()
- myCurrentImage = VOID
- myCurrentPreview = VOID
- end
-
- on isChecked me
- return pState
- end
-
- on getPropertyDescriptionList me
- list = [:]
- addProp(list, #pOnMember, [#comment: "On Member", #format: #member, #default: "redo off"])
- addProp(list, #pOffMember, [#comment: "Off Member", #format: #member, #default: "undo off"])
- addProp(list, #pState, [#comment: "Initial State", #format: #boolean, #default: 0])
- return list
- end
-