Implement movie mask transition opcode
This commit is contained in:
@@ -51,6 +51,7 @@ internal class RecordingHost : IHost
|
||||
public readonly List<(long Resource, int Surface, long Flags, long SyncMask)> Movies = new();
|
||||
public readonly List<(long Resource, int Surface, long Flags, long SyncMask, long PositionMs)>
|
||||
PositionedMovies = new();
|
||||
public readonly List<MovieMaskTransitionRequest> MovieMaskTransitions = new();
|
||||
public System.Action? OnPlayMovie;
|
||||
public long? MovieStopTimeMs;
|
||||
public readonly HashSet<int> ActiveMovieSurfaces = new();
|
||||
@@ -225,6 +226,12 @@ internal class RecordingHost : IHost
|
||||
OnPlayMovie?.Invoke();
|
||||
return MovieStopTimeMs;
|
||||
}
|
||||
public void PlayMovieMaskTransition(GfxState gfx, MovieMaskTransitionRequest request)
|
||||
{
|
||||
MovieMaskTransitions.Add(request);
|
||||
gfx.QueueMovieMaskTransition(request);
|
||||
gfx.CompleteMovieMaskTransition(request.SurfaceSlot);
|
||||
}
|
||||
public bool IsMovieSurfaceActive(int surfaceSlot) => ActiveMovieSurfaces.Contains(surfaceSlot);
|
||||
public void PlayModalMovieToSurface(long resourceId, int surfaceSlot, long movieFlags)
|
||||
=> ModalMovies.Add((resourceId, surfaceSlot, movieFlags));
|
||||
|
||||
Reference in New Issue
Block a user