Files
cthulhu/wine-access/nvdaController.idl
2026-07-17 18:17:23 -04:00

52 lines
1.5 KiB
Plaintext

// SPDX-License-Identifier: LGPL-2.1-or-later
typedef [v1_enum] enum tagSPEECH_PRIORITY {
SPEECH_PRIORITY_NORMAL = 0,
SPEECH_PRIORITY_NEXT = 1,
SPEECH_PRIORITY_NOW = 2
} SPEECH_PRIORITY;
typedef [v1_enum] enum tagSYMBOL_LEVEL {
SYMBOL_LEVEL_NONE = 0,
SYMBOL_LEVEL_SOME = 100,
SYMBOL_LEVEL_MOST = 200,
SYMBOL_LEVEL_ALL = 300,
SYMBOL_LEVEL_CHAR = 1000,
SYMBOL_LEVEL_UNCHANGED = -1
} SYMBOL_LEVEL;
[
uuid(DFF50B99-F7FD-4ca7-A82C-DAEB3E025295),
version(1.0)
]
interface NvdaController {
error_status_t __stdcall testIfRunning();
error_status_t __stdcall speakText([in, string] const wchar_t *text);
error_status_t __stdcall cancelSpeech();
error_status_t __stdcall brailleMessage([in, string] const wchar_t *message);
};
[
uuid(3D168D45-CB58-4270-8257-4E0BE515D557),
version(1.0)
]
interface NvdaController2 {
error_status_t __stdcall getProcessId([out] unsigned long *pid);
error_status_t __stdcall speakSsml(
[in, string] const wchar_t *ssml,
[in] const SYMBOL_LEVEL symbolLevel,
[in] const SPEECH_PRIORITY priority,
[in] const boolean asynchronous);
// WIDL lacks MIDL's callback attribute. Keeping this method in slot 2
// preserves the wire layout used by the unmodified controller client.
error_status_t __stdcall onSsmlMarkReached([in, string] const wchar_t *mark);
};
[
uuid(019e4216-a9a1-7540-a217-e1a2d2793025),
version(1.0)
]
interface NvdaController3 {
error_status_t __stdcall isSpeaking([out] boolean *speaking);
};