AxibugEmuOnline/AxibugEmuOnline.Client/Assets/MyNes.Core/IVideoProvider.cs

42 lines
787 B
C#
Raw Normal View History

2024-07-03 18:22:22 +08:00
namespace MyNes.Core
2024-07-03 18:15:28 +08:00
{
2024-07-03 18:22:22 +08:00
public interface IVideoProvider
{
string Name { get; }
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
string ID { get; }
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void WriteErrorNotification(string message, bool instant);
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void WriteInfoNotification(string message, bool instant);
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void WriteWarningNotification(string message, bool instant);
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void TakeSnapshotAs(string path, string format);
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void TakeSnapshot();
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void Initialize();
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void ShutDown();
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void SignalToggle(bool started);
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void SubmitFrame(ref int[] buffer);
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void ResizeBegin();
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void ResizeEnd();
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void ApplyRegionChanges();
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void Resume();
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void ToggleAspectRatio(bool keep_aspect);
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void ToggleFPS(bool show_fps);
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void ApplyFilter();
}
2024-07-03 15:40:13 +08:00
}