2022-01-30 22:25:02 +05:30
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
|
|
namespace stardew_access.ScreenReader
|
|
|
|
|
{
|
2022-02-04 14:26:19 +05:30
|
|
|
public class ScreenReaderController
|
|
|
|
|
{
|
2022-02-13 16:57:06 +05:30
|
|
|
public IScreenReader Initialize()
|
2022-02-04 14:26:19 +05:30
|
|
|
{
|
2023-01-20 18:33:52 +01:00
|
|
|
IScreenReader ScreenReader = new ScreenReaderMac(); // Mac by default
|
2022-02-04 14:26:19 +05:30
|
|
|
|
2023-01-20 18:33:52 +01:00
|
|
|
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
|
2022-02-04 14:26:19 +05:30
|
|
|
{
|
2022-01-30 22:25:02 +05:30
|
|
|
ScreenReaderLinux screenReaderLinux = new ScreenReaderLinux();
|
|
|
|
|
screenReaderLinux.InitializeScreenReader();
|
|
|
|
|
|
|
|
|
|
ScreenReader = screenReaderLinux;
|
|
|
|
|
}
|
2022-03-05 16:11:48 +01:00
|
|
|
else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) {
|
|
|
|
|
var reader = new ScreenReaderMac();
|
|
|
|
|
reader.InitializeScreenReader();
|
|
|
|
|
|
|
|
|
|
ScreenReader = reader;
|
|
|
|
|
}
|
2022-02-13 16:57:06 +05:30
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
ScreenReader.InitializeScreenReader();
|
|
|
|
|
}
|
2022-01-30 22:25:02 +05:30
|
|
|
|
|
|
|
|
return ScreenReader;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|