2026-01-01 06:22:48 -05:00
|
|
|
using System;
|
2025-12-19 09:30:16 +00:00
|
|
|
|
|
|
|
|
namespace Microsoft.Maui.Platform.Linux.Services;
|
|
|
|
|
|
|
|
|
|
public interface IInputMethodService
|
|
|
|
|
{
|
2026-01-01 06:22:48 -05:00
|
|
|
bool IsActive { get; }
|
2025-12-19 09:30:16 +00:00
|
|
|
|
2026-01-01 06:22:48 -05:00
|
|
|
string PreEditText { get; }
|
2025-12-19 09:30:16 +00:00
|
|
|
|
2026-01-01 06:22:48 -05:00
|
|
|
int PreEditCursorPosition { get; }
|
2025-12-19 09:30:16 +00:00
|
|
|
|
2026-01-01 06:22:48 -05:00
|
|
|
event EventHandler<TextCommittedEventArgs>? TextCommitted;
|
2025-12-19 09:30:16 +00:00
|
|
|
|
2026-01-01 06:22:48 -05:00
|
|
|
event EventHandler<PreEditChangedEventArgs>? PreEditChanged;
|
2025-12-19 09:30:16 +00:00
|
|
|
|
2026-01-01 06:22:48 -05:00
|
|
|
event EventHandler? PreEditEnded;
|
2025-12-19 09:30:16 +00:00
|
|
|
|
2026-01-01 06:22:48 -05:00
|
|
|
void Initialize(IntPtr windowHandle);
|
2025-12-19 09:30:16 +00:00
|
|
|
|
2026-01-01 06:22:48 -05:00
|
|
|
void SetFocus(IInputContext? context);
|
2025-12-19 09:30:16 +00:00
|
|
|
|
2026-01-01 06:22:48 -05:00
|
|
|
void SetCursorLocation(int x, int y, int width, int height);
|
2025-12-19 09:30:16 +00:00
|
|
|
|
2026-01-01 06:22:48 -05:00
|
|
|
bool ProcessKeyEvent(uint keyCode, KeyModifiers modifiers, bool isKeyDown);
|
2025-12-19 09:30:16 +00:00
|
|
|
|
2026-01-01 06:22:48 -05:00
|
|
|
void Reset();
|
2025-12-19 09:30:16 +00:00
|
|
|
|
2026-01-01 06:22:48 -05:00
|
|
|
void Shutdown();
|
2025-12-19 09:30:16 +00:00
|
|
|
}
|