//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992-2000. // // File: softkbd.idl // // Contents: ISoftKbd declarations. // // //-------------------------------------------------------------------------- cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// softkbd.h") cpp_quote("") cpp_quote("") cpp_quote("// ISoftKbd declarations.") cpp_quote("") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// (C) Copyright 1995-2000 Microsoft Corporation. All Rights Reserved.") cpp_quote("//") cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF") cpp_quote("// ANY KIND, EITHER EXPRESSED OR TFPLIED, INCLUDING BUT NOT LIMITED TO") cpp_quote("// THE TFPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A") cpp_quote("// PARTICULAR PURPOSE.") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("") cpp_quote("#ifndef SOFTKBD_DEFINED") cpp_quote("#define SOFTKBD_DEFINED") cpp_quote("") cpp_quote("#include ") cpp_quote("") import "oaidl.idl"; import "ocidl.idl"; import "msctf.idl"; cpp_quote("#define SOFTKBD_US_STANDARD 1") cpp_quote("#define SOFTKBD_US_ENHANCE 2") cpp_quote("#define SOFTKBD_EURO_STANDARD 3") cpp_quote("#define SOFTKBD_EURO_ENHANCE 4") cpp_quote("#define SOFTKBD_JPN_STANDARD 5") cpp_quote("#define SOFTKBD_JPN_ENHANCE 6") cpp_quote("") cpp_quote("#define SOFTKBD_CUSTOMIZE_BEGIN 100") cpp_quote("") cpp_quote("#define SOFTKBD_NO_MORE 0") cpp_quote("") cpp_quote("#define SOFTKBD_SHOW 0x00000001") cpp_quote("#define SOFTKBD_DONT_SHOW_ALPHA_BLEND 0x80000000") cpp_quote("") // =-------------------------------------------------------------------------= // // T Y P E D E F I N I T I O N // // =-------------------------------------------------------------------------= /* Logical Font */ #define LF_FACESIZE 32 cpp_quote( "#ifndef _WINGDI_") typedef [uuid(8849aa7d-f739-4dc0-bc61-ac48908af060)] struct LOGFONTA { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; CHAR lfFaceName[LF_FACESIZE]; } LOGFONTA; typedef [uuid(f8c6fe8a-b112-433a-be87-eb970266ec4b)] struct LOGFONTW { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; WCHAR lfFaceName[LF_FACESIZE]; } LOGFONTW; #ifdef UNICODE typedef LOGFONTW LOGFONT; #else typedef LOGFONTA LOGFONT; #endif // UNICODE cpp_quote( "#endif") cpp_quote("") cpp_quote("#if 0") typedef [uuid(f0a544c0-1281-4e32-8bf7-a6e012e980d4)] UINT_PTR HKL; cpp_quote("#endif") cpp_quote("") cpp_quote("") typedef [uuid(432ec152-51bf-43ca-8f86-50a7e230a069)] DWORD KEYID; // COLORTYPE typedef [uuid(5f46a703-f012-46db-8cda-294e994786e8)] enum { bkcolor = 0 , UnSelForeColor = 1, UnSelTextColor = 2, SelForeColor = 3, SelTextColor = 4, Max_color_Type = 5 } COLORTYPE; // TYPEMODE typedef [uuid(711c6200-587a-46ef-9647-5a83638bac00)] enum { ClickMouse = 0, Hover = 1, Scanning = 2 } TYPEMODE; // TITLEBAR_TYPE typedef [uuid(10b50da7-ce0b-4b83-827f-30c50c9bc5b9)] enum { TITLEBAR_NONE = 0, TITLEBAR_GRIPPER_HORIZ_ONLY = 1, TITLEBAR_GRIPPER_VERTI_ONLY = 2, TITLEBAR_GRIPPER_BUTTON = 3 } TITLEBAR_TYPE; [ object, uuid(3CB00755-7536-4B0A-A213-572EFCAF93CD), helpstring("ISoftKbd Interface"), pointer_default(unique) ] interface ISoftKbd : IUnknown { [helpstring("method Initialize")] HRESULT Initialize(); [helpstring("method EnumStandardSoftKeyBoard")] HRESULT EnumSoftKeyBoard([in] LANGID langid, [out] DWORD *lpdwKeyboard); [helpstring("method SelectStandardSoftKeyboard")] HRESULT SelectSoftKeyboard([in] DWORD dwKeyboardId); [helpstring("method CreateSoftKeyboardLayoutFromXMLFile")] HRESULT CreateSoftKeyboardLayoutFromXMLFile([in, string] WCHAR *lpszKeyboardDesFile, [in] INT szFileStrLen,[out] DWORD *pdwLayoutCookie); [helpstring("method CreateSoftKeyboardLayoutFromResource")] HRESULT CreateSoftKeyboardLayoutFromResource([in, string] WCHAR *lpszResFile,[in, string] WCHAR *lpszResType, [in, string] WCHAR *lpszXMLResString,[out] DWORD *lpdwLayoutCookie); [helpstring("method ShowSoftKeyboard")] HRESULT ShowSoftKeyboard([in] INT iShow); [helpstring("method SetKeyboardLabelText")] HRESULT SetKeyboardLabelText([in] HKL hKl); [helpstring("method SetKeyboardLabelTextCombination")] HRESULT SetKeyboardLabelTextCombination([in] DWORD nModifierCombination); [helpstring("method CreateSoftKeyboardWindow")] HRESULT CreateSoftKeyboardWindow([in] HWND hOwner, [in] TITLEBAR_TYPE Titlebar_type, [in] INT xPos, [in] INT yPos, [in] INT width, [in] INT height ); [helpstring("method DestroySoftKeyboardWindow")] HRESULT DestroySoftKeyboardWindow(); [helpstring("method GetSoftKeyboardPosSize")] HRESULT GetSoftKeyboardPosSize([out] POINT *lpStartPoint, [out] WORD *lpwidth, [out] WORD *lpheight); [helpstring("method GetSoftKeyboardColors")] HRESULT GetSoftKeyboardColors([in] COLORTYPE colorType, [out] COLORREF *lpColor); [helpstring("method GetSoftKeyboardTypeMode")] HRESULT GetSoftKeyboardTypeMode([out] TYPEMODE *lpTypeMode); [helpstring("method GetSoftKeyboardTextFont")] HRESULT GetSoftKeyboardTextFont([out] LOGFONTW *pLogFont); [helpstring("method SetSoftKeyboardPosSize")] HRESULT SetSoftKeyboardPosSize([in] POINT StartPoint, [in] WORD width, [in] WORD height); [helpstring("method SetSoftKeyboardColors")] HRESULT SetSoftKeyboardColors([in] COLORTYPE colorType, [in] COLORREF Color); [helpstring("method SetSoftKeyboardTypeMode")] HRESULT SetSoftKeyboardTypeMode([in] TYPEMODE TypeMode); [helpstring("method SetSoftKeyboardTextFont")] HRESULT SetSoftKeyboardTextFont([in] LOGFONTW *pLogFont); [helpstring("method ShowKeysForKeyScanMode")] HRESULT ShowKeysForKeyScanMode([in] KEYID *lpKeyID, [in] INT iKeyNum, [in] BOOL fHighL); [helpstring("method AdviseSoftKeyboardEventSink")] HRESULT AdviseSoftKeyboardEventSink([in] DWORD dwKeyboardId,[in] REFIID riid, [in, iid_is(riid)] IUnknown *punk, [out] DWORD *pdwCookie); [helpstring("method UnadviseSoftKeyboardEventSink")] HRESULT UnadviseSoftKeyboardEventSink([in] DWORD dwCookie); }; [ object, uuid(3ea2bb1d-66e7-47f7-8795-cc03d388f887), helpstring("ISoftKeyboardEventSink Interface"), pointer_default(unique) ] interface ISoftKeyboardEventSink : IUnknown { [helpstring("method OnKeySelection")] HRESULT OnKeySelection([in] KEYID KeySelected, [in, string] WCHAR *lpwszLabel ); }; [ object, uuid(e4283da5-d425-4f97-8b6a-061a03556e95), helpstring("ISoftKbdWindowEventSink Interface"), pointer_default(unique) ] interface ISoftKbdWindowEventSink : IUnknown { [helpstring("method OnWindowClose")] HRESULT OnWindowClose( ); [helpstring("method OnWindowMove")] HRESULT OnWindowMove([in] int xWnd,[in]int yWnd, [in] int width, [in] int height); }; cpp_quote("#define SOFTKBD_TYPE_US_STANDARD 1") cpp_quote("#define SOFTKBD_TYPE_US_SYMBOL 10") // // ITfFnSoftKbd // // Implemented by TIP. // interface. // This derives from ITfFunction. // [ object, uuid(e7342d48-573f-4f22-9181-41938b2529c2), pointer_default(unique) ] interface ITfFnSoftKbd : ITfFunction { [helpstring("method GetSoftKbdLayoutId")] HRESULT GetSoftKbdLayoutId([in] DWORD dwLayoutType, [out] DWORD *lpdwLayoutId); [helpstring("method SetActiveLayoutId")] HRESULT SetActiveLayoutId([in] DWORD dwLayoutId ); [helpstring("method SetSoftKbdOnOff")] HRESULT SetSoftKbdOnOff([in] BOOL fOn ); [helpstring("method SetSoftKbdPosSize")] HRESULT SetSoftKbdPosSize([in] POINT StartPoint, [in] WORD width, [in] WORD height); [helpstring("method SetSoftKbdColors")] HRESULT SetSoftKbdColors([in] COLORTYPE colorType, [in] COLORREF Color); [helpstring("method GetActiveLayoutId")] HRESULT GetActiveLayoutId([out] DWORD *lpdwLayoutId ); [helpstring("method GetSoftKbdOnOff")] HRESULT GetSoftKbdOnOff([out] BOOL *lpfOn ); [helpstring("method GetSoftKbdPosSize")] HRESULT GetSoftKbdPosSize([out]POINT *lpStartPoint, [out] WORD *lpwidth, [out] WORD *lpheight); [helpstring("method GetSoftKbdColors")] HRESULT GetSoftKbdColors([in] COLORTYPE colorType, [out] COLORREF *lpColor); } // // ITfSoftKbdRegistry // // Implemented in softkbd.dll // Other TIP can call this interface to Enable or Disable softkbd TIP. // [ object, uuid(f5f31f14-fdf0-4d29-835a-46adfe743b78), pointer_default(unique) ] interface ITfSoftKbdRegistry : IUnknown { [helpstring("method Enable Softkbd TIP")] HRESULT EnableSoftkbd(LANGID langid); [helpstring("method Disable Softkbd TIP")] HRESULT DisableSoftkbd(LANGID langid); } // =-------------------------------------------------------------------------= // // C L S I D / I I D D E F I N I T I O N // // =-------------------------------------------------------------------------= cpp_quote("") cpp_quote("DEFINE_GUID( IID_ISoftKbd, 0x3CB00755, 0x7536, 0x4B0A, 0xA2, 0x13, 0x57, 0x2E, 0xFC, 0xAF, 0x93, 0xCD );") cpp_quote("DEFINE_GUID( IID_ISoftKeyboardEventSink,0x3ea2bb1d, 0x66e7, 0x47f7, 0x87, 0x95, 0xcc, 0x03, 0xd3, 0x88, 0xf8, 0x87 );") cpp_quote("DEFINE_GUID( IID_ITfFnSoftKbd, 0xe7342d48, 0x573f, 0x4f22, 0x91, 0x81, 0x41, 0x93, 0x8b, 0x25, 0x29, 0xc2);") cpp_quote("DEFINE_GUID( IID_ISoftKbdWindowEventSink, 0xe4283da5,0xd425,0x4f97,0x8b, 0x6a,0x06, 0x1a, 0x03, 0x55, 0x6e, 0x95);") cpp_quote("DEFINE_GUID( IID_ITfSoftKbdRegistry, 0xf5f31f14, 0xfdf0, 0x4d29, 0x83, 0x5a, 0x46, 0xad, 0xfe, 0x74, 0x3b, 0x78);") cpp_quote("DEFINE_GUID( CLSID_SoftKbd,0x1B1A897E, 0xFBEE, 0x41CF, 0x8C, 0x48,0x9B, 0xF7, 0x64, 0xF6, 0x2B, 0x8B);") cpp_quote("") cpp_quote("DEFINE_GUID( CLSID_SoftkbdIMX, 0xf89e9e58, 0xbd2f, 0x4008, 0x9a, 0xc2, 0x0f, 0x81, 0x6c, 0x09, 0xf4, 0xee);") cpp_quote("") cpp_quote("DEFINE_GUID( CLSID_SoftkbdRegistry, 0x6a49950e, 0xce8a, 0x4ef7, 0x88, 0xb4, 0x9d, 0x11, 0x23, 0x66, 0x51, 0x1c );") cpp_quote("") cpp_quote("#endif // SOFTKBD_DEFINED")