2 This contains parts of the original header and thus contains its copyright notice:
4 Copyright (c) 2003-2009 uim Project http://code.google.com/p/uim/
8 Redistribution and use in source and binary forms, with or without
9 modification, are permitted provided that the following conditions
12 1. Redistributions of source code must retain the above copyright
13 notice, this list of conditions and the following disclaimer.
14 2. Redistributions in binary form must reproduce the above copyright
15 notice, this list of conditions and the following disclaimer in the
16 documentation and/or other materials provided with the distribution.
17 3. Neither the name of authors nor the names of its contributors
18 may be used to endorse or promote products derived from this software
19 without specific prior written permission.
21 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
22 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
25 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
43 typedef struct uim_context_ *uim_context;
44 typedef struct uim_candidate_ *uim_candidate;
46 // from the original uim.h:
70 UKey_Prior , /* page up */
71 UKey_Next , /* page down */
75 UKey_Multi_key, /* multi-key character compose */
78 UKey_MultipleCandidate,
79 UKey_PreviousCandidate,
80 UKey_Mode_switch, /* charcter set switch */
82 /* Japanese keyboard */
83 UKey_Kanji, /* kanji, kanji convert */
84 UKey_Muhenkan, /* cancel conversion */
85 UKey_Henkan_Mode, /* start/stop conversion */
86 UKey_Henkan = UKey_Henkan_Mode, /* alias for Henkan_Mode */
90 UKey_Hiragana_Katakana, /* hiragana/katakana toggle */
93 UKey_Zenkaku_Hankaku, /* zenkaku/hankaku toggle */
98 UKey_Eisu_Shift, /* alphanumeric shift */
99 UKey_Eisu_toggle, /* alphanumeric toggle */
101 /* Korean keyboard */
108 UKey_Hangul_Codeinput,
111 UKey_Hangul_PreHanja,
112 UKey_Hangul_PostHanja,
113 UKey_Hangul_SingleCandidate,
114 UKey_Hangul_MultipleCandidate,
115 UKey_Hangul_PreviousCandidate,
153 UKey_F35, /* X, Gtk and Qt supports up to F35 */
158 UKey_Dead_Circumflex,
165 UKey_Dead_Doubleacute,
170 UKey_Dead_VoicedSound,
171 UKey_Dead_SemivoicedSound,
176 /* Japanese Kana keys */
178 UKey_Kana_OpeningBracket,
179 UKey_Kana_ClosingBracket,
181 UKey_Kana_Conjunctive,
192 UKey_Kana_ProlongedSound,
238 UKey_Kana_VoicedSound,
239 UKey_Kana_SemivoicedSound,
241 /* non-standard platform specific keys (e.g. Zaurus PDA) */
281 /* lock modifier keys: unstable */
282 UKey_Caps_Lock = 0x9000,
287 /* Deprecated. Please replace with UKey_Shift and so on. */
288 UKey_Shift_key = UKey_Shift,
289 UKey_Control_key = UKey_Control,
290 UKey_Alt_key = UKey_Alt,
291 UKey_Meta_key = UKey_Meta,
292 UKey_Super_key = UKey_Super,
293 UKey_Hyper_key = UKey_Hyper,
311 UPreeditAttr_None = 0,
312 UPreeditAttr_UnderLine = 1,
313 UPreeditAttr_Reverse = 2,
314 UPreeditAttr_Cursor = 4,
315 UPreeditAttr_Separator = 8
318 /* Cursor of clipboard text is always positioned at end. */
320 UTextArea_Unspecified = 0,
321 UTextArea_Primary = 1, /* primary text area which IM commits to */
322 UTextArea_Selection = 2, /* user-selected region of primary text area */
323 UTextArea_Clipboard = 4 /* clipboard text */
327 UTextOrigin_Unspecified = 0,
328 UTextOrigin_Cursor = 1, /* current position of the cursor */
329 UTextOrigin_Beginning = 2, /* beginning of the text */
330 UTextOrigin_End = 3 /* end of the text */
334 UTextExtent_Unspecified = -1, /* invalid */
336 /* logical extents */
337 UTextExtent_Full = -2, /* beginning or end of the whole text */
338 UTextExtent_Paragraph = -3, /* the paragraph which the origin is included */
339 UTextExtent_Sentence = -5, /* the sentence which the origin is included */
340 UTextExtent_Word = -9, /* the word which the origin is included */
341 UTextExtent_CharFrags = -17, /* character fragments around the origin */
343 /* physical extents */
344 UTextExtent_DispRect = -33, /* the text region displayed in the widget */
345 UTextExtent_DispLine = -65, /* displayed line (eol: linebreak) */
346 UTextExtent_Line = -129 /* real line (eol: newline char) */
349 #endif // UIM_DPH_H__