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); /// /// Overrides the select slot method /// /// Returns whether the function is handled. /// If false, the mainform should continue with its logic bool SelectSlot(int slot); bool PreviousSlot(); bool 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 suppressSave); 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(); } }