Public Sub PrepareTransition_OpenDoor (Xui As XUI, RootWidth As Float, RootHeight As Float, CurrentPageRoot As B4XView, NewPageRoot As B4XView) As ResumableSub
Dim pnl As B4XView = Xui.CreatePanel("")
NewPageRoot.AddView(pnl, 0, 0, RootWidth, RootHeight)
Dim cnv As B4XCanvas
cnv.Initialize(pnl)
Dim leftDoor As B4XBitmap = CurrentPageRoot.Snapshot.Crop(0,0,RootWidth/2, RootHeight)
Dim rightDoor As B4XBitmap = CurrentPageRoot.Snapshot.Crop(RootWidth/2,0,RootWidth/2, RootHeight)
Dim backBmp As B4XBitmap = NewPageRoot.Snapshot
cnv.ClearRect(cnv.TargetRect)
Dim frames As Int = 14
Dim stepWidth As Float = (RootWidth/2)/frames
For i = 0 To frames-1
cnv.DrawBitmap(backBmp,getRect(0,0,RootWidth,RootHeight))
cnv.DrawBitmap(leftDoor,getRect(-(i*stepWidth),0,RootWidth/2,RootHeight))
cnv.DrawBitmap(rightDoor,getRect((RootWidth/2)+(i*stepWidth),0,RootWidth/2,RootHeight))
cnv.Invalidate
Sleep(16)
Next
pnl.RemoveViewFromParent
Return True
End Sub