145 lines
3.5 KiB
C
145 lines
3.5 KiB
C
/*
|
|
* DDK version of imm.h - imm.h for IMM and IME.
|
|
*
|
|
* Copyright 2000 Hidenori Takeshima
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#ifndef __WINE_IMMDDK_H
|
|
#define __WINE_IMMDDK_H
|
|
|
|
#include "imm.h"
|
|
|
|
/*** IMM and IME Structures ***/
|
|
|
|
typedef struct tagINPUTCONTEXT {
|
|
HWND hWnd;
|
|
BOOL fOpen;
|
|
POINT ptStatusWndPos;
|
|
POINT ptSoftKbdPos;
|
|
DWORD fdwConversion;
|
|
DWORD fdwSentence;
|
|
union {
|
|
LOGFONTA A;
|
|
LOGFONTW W;
|
|
} lfFont;
|
|
COMPOSITIONFORM cfCompForm;
|
|
CANDIDATEFORM cfCandForm[4];
|
|
HIMCC hCompStr;
|
|
HIMCC hCandInfo;
|
|
HIMCC hGuideLine;
|
|
HIMCC hPrivate;
|
|
DWORD dwNumMsgBuf;
|
|
HIMCC hMsgBuf;
|
|
DWORD fdwInit;
|
|
DWORD dwReserve[3];
|
|
} INPUTCONTEXT, * LPINPUTCONTEXT;
|
|
|
|
typedef struct tagCOMPOSITIONSTRING
|
|
{
|
|
DWORD dwSize;
|
|
DWORD dwCompReadAttrLen;
|
|
DWORD dwCompReadAttrOffset;
|
|
DWORD dwCompReadClauseLen;
|
|
DWORD dwCompReadClauseOffset;
|
|
DWORD dwCompReadStrLen;
|
|
DWORD dwCompReadStrOffset;
|
|
DWORD dwCompAttrLen;
|
|
DWORD dwCompAttrOffset;
|
|
DWORD dwCompClauseLen;
|
|
DWORD dwCompClauseOffset;
|
|
DWORD dwCompStrLen;
|
|
DWORD dwCompStrOffset;
|
|
DWORD dwCursorPos;
|
|
DWORD dwDeltaStart;
|
|
DWORD dwResultReadClauseLen;
|
|
DWORD dwResultReadClauseOffset;
|
|
DWORD dwResultReadStrLen;
|
|
DWORD dwResultReadStrOffset;
|
|
DWORD dwResultClauseLen;
|
|
DWORD dwResultClauseOffset;
|
|
DWORD dwResultStrLen;
|
|
DWORD dwResultStrOffset;
|
|
DWORD dwPrivateSize;
|
|
DWORD dwPrivateOffset;
|
|
} COMPOSITIONSTRING, * LPCOMPOSITIONSTRING;
|
|
|
|
typedef struct tagCANDIDATEINFO
|
|
{
|
|
DWORD dwSize;
|
|
DWORD dwCount;
|
|
DWORD dwOffset[32];
|
|
DWORD dwPrivateSize;
|
|
DWORD dwPrivateOffset;
|
|
} CANDIDATEINFO, * LPCANDIDATEINFO;
|
|
|
|
typedef struct tagGUIDELINE
|
|
{
|
|
DWORD dwSize;
|
|
DWORD dwLevel;
|
|
DWORD dwIndex;
|
|
DWORD dwStrLen;
|
|
DWORD dwStrOffset;
|
|
DWORD dwPrivateSize;
|
|
DWORD dwPrivateOffset;
|
|
} GUIDELINE, * LPGUIDELINE;
|
|
|
|
|
|
|
|
/*** IME Management Structures ***/
|
|
|
|
typedef struct tagIMEINFO
|
|
{
|
|
DWORD dwPrivateDataSize;
|
|
DWORD fdwProperty;
|
|
DWORD fdwConversionCaps;
|
|
DWORD fdwSentenceCaps;
|
|
DWORD fdwUICaps;
|
|
DWORD fdwSCSCaps;
|
|
DWORD fdwSelectCaps;
|
|
} IMEINFO, * LPIMEINFO;
|
|
|
|
|
|
/*** IME Communication Structures ***/
|
|
|
|
typedef struct tagSOFTKBDDATA
|
|
{
|
|
UINT uCount;
|
|
WORD wCode[1][256];
|
|
} SOFTKBDDATA, * LPSOFTKBDDATA;
|
|
|
|
|
|
/*** IMM DDK APIs ***/
|
|
|
|
HWND WINAPI ImmCreateSoftKeyboard(UINT uType, HWND hwndOwner, int x, int y);
|
|
BOOL WINAPI ImmDestroySoftKeyboard(HWND hwndSoftKeyboard);
|
|
BOOL WINAPI ImmShowSoftKeyboard(HWND hwndSoftKeyboard, int nCmdShow);
|
|
|
|
LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC);
|
|
BOOL WINAPI ImmUnlockIMC(HIMC hIMC);
|
|
DWORD WINAPI ImmGetIMCLockCount(HIMC hIMC);
|
|
|
|
HIMCC WINAPI ImmCreateIMCC(DWORD dwSize);
|
|
HIMCC WINAPI ImmDestroyIMCC(HIMCC hIMCC);
|
|
LPVOID WINAPI ImmLockIMCC(HIMCC hIMCC);
|
|
BOOL WINAPI ImmUnlockIMCC(HIMCC hIMCC);
|
|
DWORD WINAPI ImmGetIMCCLockCount(HIMCC hIMCC);
|
|
HIMCC WINAPI ImmReSizeIMCC(HIMCC hIMCC, DWORD dwSize);
|
|
DWORD WINAPI ImmGetIMCCSize(HIMCC hIMCC);
|
|
|
|
|
|
#endif /* __WINE_IMMDDK_H */
|