aboutsummaryrefslogtreecommitdiff
path: root/samples/DX_APIUsage/DXUT/Optional/ImeUi.h
diff options
context:
space:
mode:
authorDave Clark <[email protected]>2018-02-28 17:22:22 -0500
committerDave Clark <[email protected]>2018-02-28 17:22:22 -0500
commit25528fd230f5f4298c35123a833cdb112675808e (patch)
treef5aca3f5ee5a7734df41e7b974a04c37ddff528e /samples/DX_APIUsage/DXUT/Optional/ImeUi.h
parentPush GfeSDK #173 (diff)
downloadgfesdk-25528fd230f5f4298c35123a833cdb112675808e.tar.xz
gfesdk-25528fd230f5f4298c35123a833cdb112675808e.zip
Push SDK # 1.1.186
Documentation updates.
Diffstat (limited to 'samples/DX_APIUsage/DXUT/Optional/ImeUi.h')
-rw-r--r--samples/DX_APIUsage/DXUT/Optional/ImeUi.h124
1 files changed, 124 insertions, 0 deletions
diff --git a/samples/DX_APIUsage/DXUT/Optional/ImeUi.h b/samples/DX_APIUsage/DXUT/Optional/ImeUi.h
new file mode 100644
index 0000000..deae8f4
--- /dev/null
+++ b/samples/DX_APIUsage/DXUT/Optional/ImeUi.h
@@ -0,0 +1,124 @@
+//--------------------------------------------------------------------------------------
+// File: ImeUi.h
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+//--------------------------------------------------------------------------------------
+#ifndef _IMEUI_H_
+#define _IMEUI_H_
+#if _WIN32_WINNT < 0x0400
+#error IMEUI requires _WIN32_WINNT to be 0x0400 or higher. Please add "_WIN32_WINNT=0x0400" to your project's preprocessor setting.
+#endif
+#include <windows.h>
+
+class CImeUiFont_Base
+{
+public:
+ virtual void SetHeight( UINT uHeight )
+ {
+ uHeight;
+ }; // for backward compatibility
+ virtual void SetColor( DWORD color ) = 0;
+ virtual void SetPosition( int x, int y ) = 0;
+ virtual void GetTextExtent( LPCTSTR szText, DWORD* puWidth, DWORD* puHeight ) = 0;
+ virtual void DrawText( LPCTSTR pszText ) = 0;
+};
+
+typedef struct
+{
+ // symbol (Henkan-kyu)
+ DWORD symbolColor;
+ DWORD symbolColorOff;
+ DWORD symbolColorText;
+ BYTE symbolHeight;
+ BYTE symbolTranslucence;
+ BYTE symbolPlacement;
+ CImeUiFont_Base* symbolFont;
+
+ // candidate list
+ DWORD candColorBase;
+ DWORD candColorBorder;
+ DWORD candColorText;
+
+ // composition string
+ DWORD compColorInput;
+ DWORD compColorTargetConv;
+ DWORD compColorConverted;
+ DWORD compColorTargetNotConv;
+ DWORD compColorInputErr;
+ BYTE compTranslucence;
+ DWORD compColorText;
+
+ // caret
+ BYTE caretWidth;
+ BYTE caretYMargin;
+} IMEUI_APPEARANCE;
+
+typedef struct // D3DTLVERTEX compatible
+{
+ float sx;
+ float sy;
+ float sz;
+ float rhw;
+ DWORD color;
+ DWORD specular;
+ float tu;
+ float tv;
+} IMEUI_VERTEX;
+
+// IME States
+#define IMEUI_STATE_OFF 0
+#define IMEUI_STATE_ON 1
+#define IMEUI_STATE_ENGLISH 2
+
+// IME const
+#define MAX_CANDLIST 10
+
+// IME Flags
+#define IMEUI_FLAG_SUPPORT_CARET 0x00000001
+
+bool ImeUi_Initialize( HWND hwnd, bool bDisable = false );
+void ImeUi_Uninitialize();
+void ImeUi_SetAppearance( const IMEUI_APPEARANCE* pia );
+void ImeUi_GetAppearance( IMEUI_APPEARANCE* pia );
+bool ImeUi_IgnoreHotKey( const MSG* pmsg );
+LPARAM ImeUi_ProcessMessage( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM& lParam, bool* trapped );
+void ImeUi_SetScreenDimension( UINT width, UINT height );
+void ImeUi_RenderUI( bool bDrawCompAttr = true, bool bDrawOtherUi = true );
+void ImeUi_SetCaretPosition( UINT x, UINT y );
+void ImeUi_SetCompStringAppearance( CImeUiFont_Base* pFont, DWORD color, const RECT* prc );
+bool ImeUi_GetCaretStatus();
+void ImeUi_SetInsertMode( bool bInsert );
+void ImeUi_SetState( DWORD dwState );
+DWORD ImeUi_GetState();
+void ImeUi_EnableIme( bool bEnable );
+bool ImeUi_IsEnabled( void );
+void ImeUi_FinalizeString( bool bSend = false );
+void ImeUi_ToggleLanguageBar( BOOL bRestore );
+bool ImeUi_IsSendingKeyMessage();
+void ImeUi_SetWindow( HWND hwnd );
+UINT ImeUi_GetInputCodePage();
+DWORD ImeUi_GetFlags();
+void ImeUi_SetFlags( DWORD dwFlags, bool bSet );
+
+WORD ImeUi_GetPrimaryLanguage();
+DWORD ImeUi_GetImeId( UINT uIndex );
+WORD ImeUi_GetLanguage();
+LPTSTR ImeUi_GetIndicatior();
+bool ImeUi_IsShowReadingWindow();
+bool ImeUi_IsShowCandListWindow();
+bool ImeUi_IsVerticalCand();
+bool ImeUi_IsHorizontalReading();
+TCHAR* ImeUi_GetCandidate( UINT idx );
+TCHAR* ImeUi_GetCompositionString();
+DWORD ImeUi_GetCandidateSelection();
+DWORD ImeUi_GetCandidateCount();
+BYTE* ImeUi_GetCompStringAttr();
+DWORD ImeUi_GetImeCursorChars();
+
+extern void ( CALLBACK*ImeUiCallback_DrawRect )( int x1, int y1, int x2, int y2, DWORD color );
+extern void* ( __cdecl*ImeUiCallback_Malloc )( size_t bytes );
+extern void ( __cdecl*ImeUiCallback_Free )( void* ptr );
+extern void ( CALLBACK*ImeUiCallback_DrawFans )( const IMEUI_VERTEX* paVertex, UINT uNum );
+extern void ( CALLBACK*ImeUiCallback_OnChar )( WCHAR wc );
+
+#endif //_IMEUI_H_