// Licensed under the Apache License, Version 2.0 // or the MIT license // , at your option. // All files in the project carrying such notice may not be copied, modified, or distributed // except according to those terms. use ctypes::c_uint; use shared::minwindef::{BOOL, DWORD, UINT}; use shared::windef::{HWND, POINT, RECT}; pub type LPUINT = *mut c_uint; STRUCT!{struct COMPOSITIONFORM { dwStyle: DWORD, ptCurrentPos: POINT, rcArea: RECT, }} DECLARE_HANDLE!{HIMC, HIMC__} pub type LPCOMPOSITIONFORM = *mut COMPOSITIONFORM; extern "system" { pub fn ImmGetContext( hwnd: HWND, ) -> HIMC; pub fn ImmGetOpenStatus( himc: HIMC, ) -> BOOL; pub fn ImmSetOpenStatus( himc: HIMC, fopen: BOOL, ) -> BOOL; pub fn ImmSetCompositionWindow( himc: HIMC, lpCompForm: LPCOMPOSITIONFORM, ) -> BOOL; pub fn ImmReleaseContext( hwnd: HWND, himc: HIMC, ) -> BOOL; } pub const CFS_DEFAULT: UINT = 0x0000; pub const CFS_RECT: UINT = 0x0001; pub const CFS_POINT: UINT = 0x0002; pub const CFS_FORCE_POSITION: UINT = 0x0020; pub const CFS_CANDIDATEPOS: UINT = 0x0040; pub const CFS_EXCLUDE: UINT = 0x0080;