winit-core/window: wrap ImeCapabilities in struct

To prevent user from using `::all()` and thus writing not forward
compatible code wrap the bitflags struct and provide simpler interface
to it.
This commit is contained in:
DorotaC 2025-06-29 06:53:47 +02:00 committed by GitHub
parent 08907148ec
commit abed32eb80
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 86 additions and 46 deletions

View file

@ -669,7 +669,11 @@ impl WindowState {
let request_data = ImeRequestData::default()
.with_purpose(ImePurpose::Normal)
.with_cursor_area(LogicalPosition { x: 0, y: 0 }.into(), IME_CURSOR_SIZE.into());
let enable_request = ImeEnableRequest::new(ImeCapabilities::all(), request_data).unwrap();
let enable_request = ImeEnableRequest::new(
ImeCapabilities::new().with_purpose().with_cursor_area(),
request_data,
)
.unwrap();
let enable_ime = ImeRequest::Enable(enable_request);
// Initial update
@ -714,8 +718,11 @@ impl WindowState {
.unwrap_or(LogicalPosition { x: 0, y: 0 }.into());
let request_data =
ImeRequestData::default().with_cursor_area(cursor_pos, IME_CURSOR_SIZE.into());
let enable_request =
ImeEnableRequest::new(ImeCapabilities::all(), request_data).unwrap();
let enable_request = ImeEnableRequest::new(
ImeCapabilities::new().with_purpose().with_cursor_area(),
request_data,
)
.unwrap();
self.window.request_ime_update(ImeRequest::Enable(enable_request)).unwrap();
};