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);
void SelectSlot(int slot);
void PreviousSlot();
void NextSlot();
bool WantsToControlReadOnly { get; }
///
/// Function that is called by Mainform instead of using its own code
/// when a Tool sets WantsToControlReadOnly.
/// Should not be called directly.
///
void ToggleReadOnly();
bool WantsToControlStopMovie { get; }
///
/// Function that is called by Mainform instead of using its own code
/// when a Tool sets WantsToControlStopMovie.
/// Should not be called directly.
/// Like MainForm's StopMovie(), saving the movie is part of this function's responsibility.
///
void StopMovie(bool supressSave);
bool WantsToControlRewind { get; }
void CaptureRewind();
///
/// 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
///
///
bool Rewind();
bool WantsToControlRestartMovie { get; }
void RestartMovie();
}
}