BizHawk/BizHawk.Client.EmuHawk/IControlMainform.cs

58 lines
1.6 KiB
C#

namespace BizHawk.Client.EmuHawk
{
public interface IControlMainform
{
bool WantsToControlSavestates { get; }
void SaveState();
void LoadState();
void SaveStateAs();
void LoadStateAs();
void SaveQuickSave(int slot);
void LoadQuickSave(int slot);
/// <summary>
/// Overrides the select slot method
/// </summary>
/// <returns>Returns whether the function is handled.
/// If false, the mainform should continue with its logic</returns>
bool SelectSlot(int slot);
bool PreviousSlot();
bool NextSlot();
bool WantsToControlReadOnly { get; }
/// <summary>
/// Function that is called by Mainform instead of using its own code
/// when a Tool sets WantsToControlReadOnly.
/// Should not be called directly.
/// </summary>
void ToggleReadOnly();
bool WantsToControlStopMovie { get; }
/// <summary>
/// Function that is called by Mainform instead of using its own code
/// when a Tool sets WantsToControlStopMovie.
/// Should not be called directly.
/// <remarks>Like MainForm's StopMovie(), saving the movie is part of this function's responsibility.</remarks>
/// </summary>
void StopMovie(bool suppressSave);
bool WantsToControlRewind { get; }
void CaptureRewind();
/// <summary>
/// Function that is called by Mainform instead of using its own code
/// when a Tool sets WantsToControlRewind
/// Returns whether or not the rewind action actually occured
/// </summary>
bool Rewind();
bool WantsToControlRestartMovie { get; }
void RestartMovie();
}
}