2014-11-30 20:29:30 +00:00
|
|
|
|
namespace BizHawk.Emulation.Common
|
|
|
|
|
{
|
2016-03-02 02:10:09 +00:00
|
|
|
|
/// <summary>
|
2017-04-19 14:41:26 +00:00
|
|
|
|
/// This service specifies the interaction of the client and the core in terms of the state of input polling
|
2016-03-02 02:10:09 +00:00
|
|
|
|
/// A lag frame is a frame in which input was not polled
|
|
|
|
|
/// Input callbacks fire whenever input is polled
|
2016-12-14 15:11:07 +00:00
|
|
|
|
/// This service is used for the lag counter on the front end, if available. In addition,
|
2017-04-19 14:41:26 +00:00
|
|
|
|
/// LUA script makes use of input callbacks as well as reporting lag status
|
2016-03-02 02:10:09 +00:00
|
|
|
|
/// Setters for both the count and lag flag are used by tools who offer custom notions of lag
|
|
|
|
|
/// Additionally, movie support could in theory make use of input callbacks
|
|
|
|
|
/// </summary>
|
2015-02-22 16:57:32 +00:00
|
|
|
|
public interface IInputPollable : IEmulatorService
|
2014-11-30 20:29:30 +00:00
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
2017-04-19 14:41:26 +00:00
|
|
|
|
/// Gets or sets the current lag count.
|
2014-11-30 20:29:30 +00:00
|
|
|
|
/// </summary>
|
2015-07-09 17:05:30 +00:00
|
|
|
|
int LagCount { get; set; }
|
2014-11-30 20:29:30 +00:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
2017-04-19 14:41:26 +00:00
|
|
|
|
/// Gets or sets a value indicating whether or not current frame is a lag frame.
|
2014-11-30 20:29:30 +00:00
|
|
|
|
/// All cores should define it the same, a lag frame is a frame in which input was not polled.
|
|
|
|
|
/// </summary>
|
2016-01-26 10:34:42 +00:00
|
|
|
|
bool IsLagFrame { get; set; }
|
2014-12-04 00:43:12 +00:00
|
|
|
|
|
|
|
|
|
IInputCallbackSystem InputCallbacks { get; }
|
2014-11-30 20:29:30 +00:00
|
|
|
|
}
|
|
|
|
|
}
|