12GX_CORE_NAMESPACE_BEGIN()
29 static constexpr u32 MAX_CANDLIST = 10;
31 static constexpr u32 MAX_CANDIDATE_LENGTH =
GxMath::VALUE_256;
33 static constexpr u32 MAX_COMPOSITION_LENGTH =
GxMath::VALUE_256;
44 static constexpr u8 COMMAND_BACK_SPACE = 8;
45 static constexpr u8 COMMAND_CUT = 24;
46 static constexpr u8 COMMAND_COPY = 3;
47 static constexpr u8 COMMAND_PASTE = 22;
48 static constexpr u8 COMMAND_SELECT_ALL = 1;
49 static constexpr u8 COMMAND_ENTER = 13;
50 static constexpr u8 COMMAND_BELL = 7;
51 static constexpr u8 COMMAND_LEFT = 17;
52 static constexpr u8 COMMAND_UP = 18;
53 static constexpr u8 COMMAND_RIGHT = 19;
54 static constexpr u8 COMMAND_DOWN = 20;
55 static constexpr u8 COMMAND_INSERT = 21;
56 static constexpr u8 COMMAND_DELETE = 23;
57 static constexpr u8 COMMAND_END = 25;
58 static constexpr u8 COMMAND_HOME = 26;
61 static constexpr u8 ACCELERATE_MASK_SHIFT = 1;
62 static constexpr u8 ACCELERATE_MASK_CONTROL = 2;
63 static constexpr u8 ACCELERATE_MASK_ALT = 4;
68 static constexpr s32 CALLBACK_MASK_EXECUTE = 1;
69 static constexpr s32 CALLBACK_MASK_BREAK = 2;
90 static GX_STR concatenate(GX_STR dst,
GxImeData* pSrc);
92 static GX_STR backSpace(GX_STR dst);
94 static GX_STR addEnter(GX_STR dst);
96 static u32 leftCharByte(GX_STR start, GX_STR src);
98 static u32 rightCharByte(GX_STR src);
100 static u32 endOfLineByte(GX_STR src);
102 static u32 begOfLineByte(GX_STR start, GX_STR src);
104 static void trimLeft(GX_STR dst, u32 bytes);
119 static constexpr u8 COMPOSITION_ATTRIBUTE_INPUT = 0x00;
121 static constexpr u8 COMPOSITION_ATTRIBUTE_TARGET_CONVERTED = 0x01;
123 static constexpr u8 COMPOSITION_ATTRIBUTE_CONVERTED = 0x02;
125 static constexpr u8 COMPOSITION_ATTRIBUTE_TARGET_NOT_CONVERTED = 0x03;
127 static constexpr u8 COMPOSITION_ATTRIBUTE_INPUT_ERROR = 0x04;
129 static constexpr u8 COMPOSITION_ATTRIBUTE_FIXED_CONVERTED = 0x05;
146 GX_CHAR _indicator[4];
147 GX_CHAR _currentIndicator[4];
148 GX_CHAR _composition[MAX_COMPOSITION_LENGTH * 3];
149 u8 _compositionAttr[MAX_COMPOSITION_LENGTH];
150 GX_CHAR _candidate[MAX_CANDLIST][MAX_CANDIDATE_LENGTH * 3];
161 FINALIZE_STRING_REQUEST,
162 FINALIZE_STRING_DONE,
176 GX_FORCE_INLINE
void clear(
void)
override {}
178 b32 initialize(
void)
override;
180 void setBufferSizeNum(u32 sizeNum);
191 void update(
void)
override;
194 GX_FORCE_INLINE
void developRender(
void)
override {}
199 GX_FORCE_INLINE void saveInput(void) override {};
210 b32 isEnable(
void)
const override;
212 GX_FORCE_INLINE
b32 isOk(
void)
override {
return false; };
217 GxImeData* map(
void);
221 s32 decode(GX_STR dst, GX_STR dstWork, u32 bufSize, u32& cursorStart, u32& cursorEnd,
GxCallback::GxHandlerBase* pFunction =
nullptr);
224 GxImeRenderData* mapRenderData(
void);
226 void unmapRenderData(
void);
229 void copyClipboard(GX_STR src);
231 GX_STR pasteClipboard(GX_STR src, u32 maxBytes);
246 b32 enterFocus(
b32 useIme,
void* pOwner);
248 b32 isFocus(
void *pOwner);
252 LRESULT wndProc(HWND windowHandle, UINT uMessage, WPARAM wParam, LPARAM lParam,
b32& noDefProc,
b32& inTextEdit);
256 b32 wndProcText(HWND windowHandle, UINT uMessage, WPARAM wParam, LPARAM lParam);
261 void clearBuffer(
void);
269 b32 _isEnableImeSystem;
271 b32 _isEnableImeDelay;
278 GxImeRenderData _renderData;
288GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
void GxTypedObject
その他
Definition GxDefine.h:213
ハンドラ基本クラス
Definition GxCallback.h:27
クリティカルセクションクラス
Definition GxThread.h:20
キーボードクラス
Definition GxInputImeText.h:18
GX_FORCE_INLINE b32 getIsEnableImeSystem(void) const
システム的に IME が利用可能かを取得
Definition GxInputImeText.h:234
UPDATE
_updateState の状態
Definition GxInputImeText.h:159
GX_FORCE_INLINE b32 isOk(void) override
決定ボタンの判定
Definition GxInputImeText.h:212
GX_FORCE_INLINE b32 getIsImeOpened(void) const
IME がオープン ("あ"の状態) されているかを得る
Definition GxInputImeText.h:240
GX_FORCE_INLINE b32 getIsEnableIme(void) const
IME の利用を許可しているかを取得。enterFocus() で決まる。
Definition GxInputImeText.h:237
GX_FORCE_INLINE void loadInput(void) override
入力状態を復元
Definition GxInputImeText.h:201
GX_FORCE_INLINE void clear(void) override
クリア
Definition GxInputImeText.h:176
GX_FORCE_INLINE void getInputDataDevice(void) override
デバイスから入力を取得
Definition GxInputImeText.h:189
GX_FORCE_INLINE b32 isCancel(void) override
キャンセルボタンの判定
Definition GxInputImeText.h:214
算術演算クラス
Definition GxMath.h:84
プロパティクラス
Definition GxProperty.h:48
実行時型情報クラス
Definition GxRtti.h:154
イベント構造体
Definition GxInputImeText.h:37
u8 _command
コマンド
Definition GxInputImeText.h:75
u32 _access32
データ
Definition GxInputImeText.h:80
u8 _accelerate
アクセラレート
Definition GxInputImeText.h:76
u8 _data3
データ
Definition GxInputImeText.h:78
u8 _data2
データ
Definition GxInputImeText.h:77
IME 描画データ構造体(UTF8)
Definition GxInputImeText.h:111
b32 _isVerticalCandidate
候補リストは縦か?
Definition GxInputImeText.h:152
u32 _candidateSelection
選択中の候補リスト
Definition GxInputImeText.h:151
32bitブーリアン
Definition GxDefine.h:173