1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _INC_PENWIN 7 #define _INC_PENWIN 8 9 #ifndef NOJAPAN 10 #ifndef JAPAN 11 #define JAPAN 12 #endif 13 #endif 14 15 #include <windows.h> 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 #ifndef PENVER 22 #define PENVER 0x0200 23 #endif 24 25 #define NOPENAPPS 26 #define NOPENDICT 27 #define NOPENRC1 28 #define NOPENVIRTEVENT 29 #define NOPENAPIFUN 30 31 #ifndef NOPENAPPS 32 #ifndef RC_INVOKED 33 #include <skbapi.h> 34 #endif 35 #endif 36 37 #ifdef NOPENCTL 38 #define NOPENBEDIT 39 #define NOPENIEDIT 40 #endif 41 42 #ifdef NOPENRES 43 #define NOPENBMP 44 #define NOPENCURS 45 #endif 46 47 #ifndef NOPENALC 48 49 #define ALC_DEFAULT __MSABI_LONG(0x00000000) 50 #define ALC_LCALPHA __MSABI_LONG(0x00000001) 51 #define ALC_UCALPHA __MSABI_LONG(0x00000002) 52 #define ALC_NUMERIC __MSABI_LONG(0x00000004) 53 #define ALC_PUNC __MSABI_LONG(0x00000008) 54 #define ALC_MATH __MSABI_LONG(0x00000010) 55 #define ALC_MONETARY __MSABI_LONG(0x00000020) 56 #define ALC_OTHER __MSABI_LONG(0x00000040) 57 #define ALC_ASCII __MSABI_LONG(0x00000080) 58 #define ALC_WHITE __MSABI_LONG(0x00000100) 59 #define ALC_NONPRINT __MSABI_LONG(0x00000200) 60 #define ALC_DBCS __MSABI_LONG(0x00000400) 61 #define ALC_JIS1 __MSABI_LONG(0x00000800) 62 #define ALC_GESTURE __MSABI_LONG(0x00004000) 63 #define ALC_USEBITMAP __MSABI_LONG(0x00008000) 64 #define ALC_HIRAGANA __MSABI_LONG(0x00010000) 65 #define ALC_KATAKANA __MSABI_LONG(0x00020000) 66 #define ALC_KANJI __MSABI_LONG(0x00040000) 67 #define ALC_GLOBALPRIORITY __MSABI_LONG(0x10000000) 68 #define ALC_OEM __MSABI_LONG(0x0FF80000) 69 #define ALC_RESERVED __MSABI_LONG(0xE0003000) 70 #define ALC_NOPRIORITY __MSABI_LONG(0x00000000) 71 72 #define ALC_ALPHA (ALC_LCALPHA | ALC_UCALPHA) 73 #define ALC_ALPHANUMERIC (ALC_ALPHA | ALC_NUMERIC) 74 #define ALC_SYSMINIMUM (ALC_ALPHANUMERIC | ALC_PUNC | ALC_WHITE | ALC_GESTURE) 75 #define ALC_ALL (ALC_SYSMINIMUM | ALC_MATH | ALC_MONETARY | ALC_OTHER | ALC_NONPRINT) 76 #define ALC_KANJISYSMINIMUM (ALC_SYSMINIMUM | ALC_HIRAGANA | ALC_KATAKANA | ALC_JIS1) 77 #define ALC_KANJIALL (ALC_ALL | ALC_HIRAGANA | ALC_KATAKANA | ALC_KANJI) 78 #endif 79 80 #ifndef NOPENBEDIT 81 82 #define BXS_NONE 0x0000U 83 #define BXS_RECT 0x0001U 84 #define BXS_BOXCROSS 0x0004U 85 #ifdef JAPAN 86 #define BXS_NOWRITING 0x0008U 87 #endif 88 #endif 89 90 #ifndef NOPENBMP 91 92 #define OBM_SKBBTNUP 32767 93 #define OBM_SKBBTNDOWN 32766 94 #define OBM_SKBBTNDISABLED 32765 95 96 #define OBM_ZENBTNUP 32764 97 #define OBM_ZENBTNDOWN 32763 98 #define OBM_ZENBTNDISABLED 32762 99 100 #define OBM_HANBTNUP 32761 101 #define OBM_HANBTNDOWN 32760 102 #define OBM_HANBTNDISABLED 32759 103 104 #define OBM_KKCBTNUP 32758 105 #define OBM_KKCBTNDOWN 32757 106 #define OBM_KKCBTNDISABLED 32756 107 108 #define OBM_SIPBTNUP 32755 109 #define OBM_SIPBTNDOWN 32754 110 #define OBM_SIPBTNDISABLED 32753 111 112 #define OBM_PTYBTNUP 32752 113 #define OBM_PTYBTNDOWN 32751 114 #define OBM_PTYBTNDISABLED 32750 115 #endif 116 117 #ifndef NOPENCURS 118 119 #define IDC_PEN MAKEINTRESOURCE(32631) 120 121 #define IDC_ALTSELECT MAKEINTRESOURCE(32501) 122 #endif 123 124 #ifndef NOPENHRC 125 126 #define SYV_NULL __MSABI_LONG(0x00000000) 127 #define SYV_UNKNOWN __MSABI_LONG(0x00000001) 128 #define SYV_EMPTY __MSABI_LONG(0x00000003) 129 #define SYV_BEGINOR __MSABI_LONG(0x00000010) 130 #define SYV_ENDOR __MSABI_LONG(0x00000011) 131 #define SYV_OR __MSABI_LONG(0x00000012) 132 #define SYV_SOFTNEWLINE __MSABI_LONG(0x00000020) 133 #define SYV_SPACENULL __MSABI_LONG(0x00010000) 134 135 #define SYV_SELECTFIRST __MSABI_LONG(0x0002FFC0) 136 #define SYV_LASSO __MSABI_LONG(0x0002FFC1) 137 #define SYV_SELECTLEFT __MSABI_LONG(0x0002FFC2) 138 #define SYV_SELECTRIGHT __MSABI_LONG(0x0002FFC3) 139 #define SYV_SELECTLAST __MSABI_LONG(0x0002FFCF) 140 141 #define SYV_CLEARCHAR __MSABI_LONG(0x0002FFD2) 142 #define SYV_HELP __MSABI_LONG(0x0002FFD3) 143 #define SYV_KKCONVERT __MSABI_LONG(0x0002FFD4) 144 #define SYV_CLEAR __MSABI_LONG(0x0002FFD5) 145 #define SYV_INSERT __MSABI_LONG(0x0002FFD6) 146 #define SYV_CONTEXT __MSABI_LONG(0x0002FFD7) 147 #define SYV_EXTENDSELECT __MSABI_LONG(0x0002FFD8) 148 #define SYV_UNDO __MSABI_LONG(0x0002FFD9) 149 #define SYV_COPY __MSABI_LONG(0x0002FFDA) 150 #define SYV_CUT __MSABI_LONG(0x0002FFDB) 151 #define SYV_PASTE __MSABI_LONG(0x0002FFDC) 152 #define SYV_CLEARWORD __MSABI_LONG(0x0002FFDD) 153 #define SYV_USER __MSABI_LONG(0x0002FFDE) 154 #define SYV_CORRECT __MSABI_LONG(0x0002FFDF) 155 156 #define SYV_BACKSPACE __MSABI_LONG(0x00020008) 157 #define SYV_TAB __MSABI_LONG(0x00020009) 158 #define SYV_RETURN __MSABI_LONG(0x0002000D) 159 #define SYV_SPACE __MSABI_LONG(0x00020020) 160 161 #define SYV_APPGESTUREMASK __MSABI_LONG(0x00020000) 162 #define SYV_CIRCLEUPA __MSABI_LONG(0x000224B6) 163 #define SYV_CIRCLEUPZ __MSABI_LONG(0x000224CF) 164 #define SYV_CIRCLELOA __MSABI_LONG(0x000224D0) 165 #define SYV_CIRCLELOZ __MSABI_LONG(0x000224E9) 166 167 #define SYV_SHAPELINE __MSABI_LONG(0x00040001) 168 #define SYV_SHAPEELLIPSE __MSABI_LONG(0x00040002) 169 #define SYV_SHAPERECT __MSABI_LONG(0x00040003) 170 #define SYV_SHAPEMIN SYV_SHAPELINE 171 #define SYV_SHAPEMAX SYV_SHAPERECT 172 173 #define SYVHI_SPECIAL 0 174 #define SYVHI_ANSI 1 175 #define SYVHI_GESTURE 2 176 #define SYVHI_KANJI 3 177 #define SYVHI_SHAPE 4 178 #define SYVHI_UNICODE 5 179 #define SYVHI_VKEY 6 180 #endif 181 182 #ifndef NOPENIEDIT 183 184 #define IEM_UNDO 1 185 #define IEM_CUT 2 186 #define IEM_COPY 3 187 #define IEM_PASTE 4 188 #define IEM_CLEAR 5 189 #define IEM_SELECTALL 6 190 #define IEM_ERASE 7 191 #define IEM_PROPERTIES 8 192 #define IEM_LASSO 9 193 #define IEM_RESIZE 10 194 195 #define IEM_USER 100 196 197 #define IES_BORDER 0x0001 198 #define IES_HSCROLL 0x0002 199 #define IES_VSCROLL 0x0004 200 #define IES_OWNERDRAW 0x0008 201 #endif 202 203 #ifndef RC_INVOKED 204 205 #ifndef NOPENDATA 206 207 #define AI_CBSTROKE 0xFFFF 208 209 #define AI_SKIPUPSTROKES 0x0001 210 211 #define CMPD_COMPRESS 0x0001 212 #define CMPD_DECOMPRESS 0x0002 213 214 #define CPDR_BOX 1 215 #define CPDR_LASSO 2 216 217 #define CPD_DEFAULT 0x047F 218 #define CPD_USERBYTE 0x0100 219 #define CPD_USERWORD 0x0200 220 #define CPD_USERDWORD 0x0300 221 #define CPD_TIME 0x0400 222 223 #define DPD_HDCPEN 0x0001 224 #define DPD_DRAWSEL 0x0002 225 226 #define EPDP_REMOVE 0x0001 227 228 #define EPDS_SELECT 1 229 #define EPDS_STROKEINDEX 2 230 #define EPDS_USER 3 231 #define EPDS_PENTIP 4 232 #define EPDS_TIPCOLOR 5 233 #define EPDS_TIPWIDTH 6 234 #define EPDS_TIPNIB 7 235 #define EPDS_INKSET 8 236 237 #define EPDS_EQ 0x0000 238 #define EPDS_LT 0x0010 239 #define EPDS_GT 0x0020 240 #define EPDS_NOT 0x0040 241 #define EPDS_NE 0x0040 242 #define EPDS_GTE 0x0050 243 #define EPDS_LTE 0x0060 244 245 #define EPDS_REMOVE 0x8000 246 247 #define GPA_MAXLEN 1 248 #define GPA_POINTS 2 249 #define GPA_PDTS 3 250 #define GPA_RATE 4 251 #define GPA_RECTBOUND 5 252 #define GPA_RECTBOUNDINK 6 253 #define GPA_SIZE 7 254 #define GPA_STROKES 8 255 #define GPA_TIME 9 256 #define GPA_USER 10 257 #define GPA_VERSION 11 258 259 #define GSA_PENTIP 1 260 #define GSA_PENTIPCLASS 2 261 #define GSA_USER 3 262 #define GSA_USERCLASS 4 263 #define GSA_TIME 5 264 #define GSA_SIZE 6 265 #define GSA_SELECT 7 266 #define GSA_DOWN 8 267 #define GSA_RECTBOUND 9 268 269 #define GSA_PENTIPTABLE 10 270 #define GSA_SIZETABLE 11 271 #define GSA_USERTABLE 12 272 273 #ifndef IX_END 274 #define IX_END 0xFFFF 275 #endif 276 277 #define PENTIP_NIBDEFAULT ((BYTE)0) 278 #define PENTIP_HEIGHTDEFAULT ((BYTE)0) 279 #define PENTIP_OPAQUE ((BYTE)0xFF) 280 #define PENTIP_HILITE ((BYTE)0x80) 281 #define PENTIP_TRANSPARENT ((BYTE)0) 282 283 #define PDR_NOHIT 3 284 #define PDR_HIT 2 285 #define PDR_OK 1 286 #define PDR_CANCEL 0 287 288 #define PDR_ERROR (-1) 289 #define PDR_PNDTERR (-2) 290 #define PDR_VERSIONERR (-3) 291 #define PDR_COMPRESSED (-4) 292 #define PDR_STRKINDEXERR (-5) 293 #define PDR_PNTINDEXERR (-6) 294 #define PDR_MEMERR (-7) 295 #define PDR_INKSETERR (-8) 296 #define PDR_ABORT (-9) 297 #define PDR_NA (-10) 298 299 #define PDR_USERDATAERR (-16) 300 #define PDR_SCALINGERR (-17) 301 #define PDR_TIMESTAMPERR (-18) 302 #define PDR_OEMDATAERR (-19) 303 #define PDR_SCTERR (-20) 304 305 #define PDTS_LOMETRIC 0 306 #define PDTS_HIMETRIC 1 307 #define PDTS_HIENGLISH 2 308 #define PDTS_STANDARDSCALE 2 309 #define PDTS_DISPLAY 3 310 #define PDTS_ARBITRARY 4 311 #define PDTS_SCALEMASK 0x000F 312 313 #define PDTT_DEFAULT 0x0000 314 #define PDTT_PENINFO 0x0100 315 #define PDTT_UPPOINTS 0x0200 316 #define PDTT_OEMDATA 0x0400 317 #define PDTT_COLLINEAR 0x0800 318 #define PDTT_COLINEAR 0x0800 319 #define PDTT_DECOMPRESS 0x4000 320 #define PDTT_COMPRESS 0x8000 321 #define PDTT_ALL 0x0F00 322 323 #define PHW_NONE 0x0000 324 #define PHW_PRESSURE 0x0001 325 #define PHW_HEIGHT 0x0002 326 #define PHW_ANGLEXY 0x0004 327 #define PHW_ANGLEZ 0x0008 328 #define PHW_BARRELROTATION 0x0010 329 #define PHW_OEMSPECIFIC 0x0020 330 #define PHW_PDK 0x0040 331 #define PHW_ALL 0x007F 332 333 #define PDTS_COMPRESS2NDDERIV 0x0010 334 #define PDTS_COMPRESSMETHOD 0x00F0 335 #define PDTS_NOPENINFO 0x0100 336 #define PDTS_NOUPPOINTS 0x0200 337 #define PDTS_NOOEMDATA 0x0400 338 #define PDTS_NOCOLLINEAR 0x0800 339 #define PDTS_NOCOLINEAR 0x0800 340 #define PDTS_NOTICK 0x1000 341 #define PDTS_NOUSER 0x2000 342 #define PDTS_NOEMPTYSTROKES 0x4000 343 #define PDTS_COMPRESSED 0x8000 344 345 #define SSA_PENTIP 1 346 #define SSA_PENTIPCLASS 2 347 #define SSA_USER 3 348 #define SSA_USERCLASS 4 349 #define SSA_TIME 5 350 #define SSA_SELECT 6 351 #define SSA_DOWN 7 352 353 #define SSA_PENTIPTABLE 8 354 #define SSA_USERTABLE 9 355 356 #define TIP_ERASECOLOR 1 357 358 #define TPD_RECALCSIZE 0x0000 359 #define TPD_USER 0x0080 360 #define TPD_TIME 0x0100 361 #define TPD_UPPOINTS 0x0200 362 #define TPD_COLLINEAR 0x0400 363 #define TPD_COLINEAR 0x0400 364 #define TPD_PENINFO 0x0800 365 #define TPD_PHW 0x1000 366 #define TPD_OEMDATA 0x1000 367 #define TPD_EMPTYSTROKES 0x2000 368 #define TPD_EVERYTHING 0x3FFF 369 #endif 370 371 #ifndef NOPENDICT 372 373 #define cbDictPathMax 255 374 #define DIRQ_QUERY 1 375 #define DIRQ_DESCRIPTION 2 376 #define DIRQ_CONFIGURE 3 377 #define DIRQ_OPEN 4 378 #define DIRQ_CLOSE 5 379 #define DIRQ_SETWORDLISTS 6 380 #define DIRQ_STRING 7 381 #define DIRQ_SUGGEST 8 382 #define DIRQ_ADD 9 383 #define DIRQ_DELETE 10 384 #define DIRQ_FLUSH 11 385 #define DIRQ_RCCHANGE 12 386 #define DIRQ_SYMBOLGRAPH 13 387 #define DIRQ_INIT 14 388 #define DIRQ_CLEANUP 15 389 #define DIRQ_COPYRIGHT 16 390 #define DIRQ_USER 4096 391 #endif 392 393 #ifndef NOPENDRIVER 394 395 #define BITPENUP 0x8000 396 397 #define DRV_SetPenDriverEntryPoints DRV_RESERVED+1 398 #define DRV_SetEntryPoints DRV_RESERVED+1 399 #define DRV_RemovePenDriverEntryPoints DRV_RESERVED+2 400 #define DRV_RemoveEntryPoints DRV_RESERVED+2 401 #define DRV_SetPenSamplingRate DRV_RESERVED+3 402 #define DRV_SetPenSamplingDist DRV_RESERVED+4 403 #define DRV_GetName DRV_RESERVED+5 404 #define DRV_GetVersion DRV_RESERVED+6 405 #define DRV_GetPenInfo DRV_RESERVED+7 406 #define DRV_PenPlayStart DRV_RESERVED+8 407 #define DRV_PenPlayBack DRV_RESERVED+9 408 #define DRV_PenPlayStop DRV_RESERVED+10 409 #define DRV_GetCalibration DRV_RESERVED+11 410 #define DRV_SetCalibration DRV_RESERVED+12 411 #define DRV_Reserved1 DRV_RESERVED+13 412 #define DRV_Reserved2 DRV_RESERVED+14 413 #define DRV_Query DRV_RESERVED+15 414 #define DRV_GetPenSamplingRate DRV_RESERVED+16 415 #define DRV_Calibrate DRV_RESERVED+17 416 417 #define PLAY_VERSION_10_DATA 0 418 #define PLAY_VERSION_20_DATA 1 419 420 #define DRV_FAILURE 0x00000000 421 #define DRV_SUCCESS 0x00000001 422 #define DRV_BADPARAM1 0xFFFFFFFF 423 #define DRV_BADPARAM2 0xFFFFFFFE 424 #define DRV_BADSTRUCT 0xFFFFFFFD 425 426 #define PENREG_DEFAULT 0x00000002 427 #define PENREG_WILLHANDLEMOUSE 0x00000001 428 429 #define MAXOEMDATAWORDS 6 430 431 #define PCM_PENUP __MSABI_LONG(0x00000001) 432 #define PCM_RANGE __MSABI_LONG(0x00000002) 433 #define PCM_INVERT __MSABI_LONG(0x00000020) 434 #define PCM_RECTEXCLUDE __MSABI_LONG(0x00002000) 435 #define PCM_RECTBOUND __MSABI_LONG(0x00004000) 436 #define PCM_TIMEOUT __MSABI_LONG(0x00008000) 437 438 #define PCM_RGNBOUND __MSABI_LONG(0x00010000) 439 #define PCM_RGNEXCLUDE __MSABI_LONG(0x00020000) 440 #define PCM_DOPOLLING __MSABI_LONG(0x00040000) 441 #define PCM_TAPNHOLD __MSABI_LONG(0x00080000) 442 #define PCM_ADDDEFAULTS RC_LDEFAULTFLAGS 443 444 #define PDC_INTEGRATED __MSABI_LONG(0x00000001) 445 #define PDC_PROXIMITY __MSABI_LONG(0x00000002) 446 #define PDC_RANGE __MSABI_LONG(0x00000004) 447 #define PDC_INVERT __MSABI_LONG(0x00000008) 448 #define PDC_RELATIVE __MSABI_LONG(0x00000010) 449 #define PDC_BARREL1 __MSABI_LONG(0x00000020) 450 #define PDC_BARREL2 __MSABI_LONG(0x00000040) 451 #define PDC_BARREL3 __MSABI_LONG(0x00000080) 452 453 #define PDK_NULL 0x0000 454 #define PDK_UP 0x0000 455 #define PDK_DOWN 0x0001 456 #define PDK_BARREL1 0x0002 457 #define PDK_BARREL2 0x0004 458 #define PDK_BARREL3 0x0008 459 #define PDK_SWITCHES 0x000f 460 #define PDK_TRANSITION 0x0010 461 #define PDK_UNUSED10 0x0020 462 #define PDK_UNUSED20 0x0040 463 #define PDK_INVERTED 0x0080 464 #define PDK_PENIDMASK 0x0F00 465 #define PDK_UNUSED1000 0x1000 466 #define PDK_INKSTOPPED 0x2000 467 #define PDK_OUTOFRANGE 0x4000 468 #define PDK_DRIVER 0x8000 469 470 #define PDK_TIPMASK 0x0001 471 472 #define PDT_NULL 0 473 #define PDT_PRESSURE 1 474 #define PDT_HEIGHT 2 475 #define PDT_ANGLEXY 3 476 #define PDT_ANGLEZ 4 477 #define PDT_BARRELROTATION 5 478 #define PDT_OEMSPECIFIC 16 479 480 #define PID_CURRENT (UINT)(-1) 481 482 #define REC_OEM (-1024) 483 #define REC_LANGUAGE (-48) 484 #define REC_GUIDE (-47) 485 #define REC_PARAMERROR (-46) 486 #define REC_INVALIDREF (-45) 487 #define REC_RECTEXCLUDE (-44) 488 #define REC_RECTBOUND (-43) 489 #define REC_PCM (-42) 490 #define REC_RESULTMODE (-41) 491 #define REC_HWND (-40) 492 #define REC_ALC (-39) 493 #define REC_ERRORLEVEL (-38) 494 #define REC_CLVERIFY (-37) 495 #define REC_DICT (-36) 496 #define REC_HREC (-35) 497 #define REC_BADEVENTREF (-33) 498 #define REC_NOCOLLECTION (-32) 499 #define REC_DEBUG (-32) 500 #define REC_POINTEREVENT (-31) 501 #define REC_BADHPENDATA (-9) 502 #define REC_OOM (-8) 503 #define REC_NOINPUT (-7) 504 #define REC_NOTABLET (-6) 505 #define REC_BUSY (-5) 506 #define REC_BUFFERTOOSMALL (-4) 507 #define REC_ABORT (-3) 508 #define REC_NA (-2) 509 #define REC_OVERFLOW (-1) 510 #define REC_OK 0 511 #define REC_TERMBOUND 1 512 #define REC_TERMEX 2 513 #define REC_TERMPENUP 3 514 #define REC_TERMRANGE 4 515 #define REC_TERMTIMEOUT 5 516 #define REC_DONE 6 517 #define REC_TERMOEM 512 518 #endif 519 520 #ifndef NOPENHRC 521 522 #define GRH_ALL 0 523 #define GRH_GESTURE 1 524 #define GRH_NONGESTURE 2 525 526 #ifdef JAPAN 527 #define GST_SEL __MSABI_LONG(0x00000001) 528 #define GST_CLIP __MSABI_LONG(0x00000002) 529 #define GST_WHITE __MSABI_LONG(0x00000004) 530 #define GST_KKCONVERT __MSABI_LONG(0x00000008) 531 #define GST_EDIT __MSABI_LONG(0x00000010) 532 #define GST_SYS __MSABI_LONG(0x0000001F) 533 #define GST_CIRCLELO __MSABI_LONG(0x00000100) 534 #define GST_CIRCLEUP __MSABI_LONG(0x00000200) 535 #define GST_CIRCLE __MSABI_LONG(0x00000300) 536 #define GST_ALL __MSABI_LONG(0x0000031F) 537 #else 538 #define GST_SEL __MSABI_LONG(0x00000001) 539 #define GST_CLIP __MSABI_LONG(0x00000002) 540 #define GST_WHITE __MSABI_LONG(0x00000004) 541 #define GST_EDIT __MSABI_LONG(0x00000010) 542 #define GST_SYS __MSABI_LONG(0x00000017) 543 #define GST_CIRCLELO __MSABI_LONG(0x00000100) 544 #define GST_CIRCLEUP __MSABI_LONG(0x00000200) 545 #define GST_CIRCLE __MSABI_LONG(0x00000300) 546 #define GST_ALL __MSABI_LONG(0x00000317) 547 #endif 548 549 #define HRCR_NORESULTS 4 550 #define HRCR_COMPLETE 3 551 #define HRCR_GESTURE 2 552 #define HRCR_OK 1 553 #define HRCR_INCOMPLETE 0 554 #define HRCR_ERROR (-1) 555 #define HRCR_MEMERR (-2) 556 #define HRCR_INVALIDGUIDE (-3) 557 #define HRCR_INVALIDPNDT (-4) 558 #define HRCR_UNSUPPORTED (-5) 559 #define HRCR_CONFLICT (-6) 560 #define HRCR_HOOKED (-8) 561 562 #define HWL_SYSTEM ((HWL)1) 563 564 #define ISR_ERROR (-1) 565 #define ISR_BADINKSET (-2) 566 #define ISR_BADINDEX (-3) 567 568 #ifndef IX_END 569 #define IX_END 0xFFFF 570 #endif 571 572 #define MAXHOTSPOT 8 573 574 #define PH_MAX __MSABI_LONG(0xFFFFFFFF) 575 #define PH_DEFAULT __MSABI_LONG(0xFFFFFFFE) 576 #define PH_MIN __MSABI_LONG(0xFFFFFFFD) 577 578 #define RHH_STD 0 579 #define RHH_BOX 1 580 581 #define SCH_NONE 0 582 #define SCH_ADVISE 1 583 #define SCH_FORCE 2 584 585 #define SCIM_INSERT 0 586 #define SCIM_OVERWRITE 1 587 588 #define SRH_HOOKALL (HREC)1 589 590 #define SSH_RD 1 591 #define SSH_RU 2 592 #define SSH_LD 3 593 #define SSH_LU 4 594 #define SSH_DL 5 595 #define SSH_DR 6 596 #define SSH_UL 7 597 #define SSH_UR 8 598 599 #define SIH_ALLANSICHAR 1 600 601 #define TH_QUERY 0 602 #define TH_FORCE 1 603 #define TH_SUGGEST 2 604 605 #define TRAIN_NONE 0x0000 606 #define TRAIN_DEFAULT 0x0001 607 #define TRAIN_CUSTOM 0x0002 608 #define TRAIN_BOTH (TRAIN_DEFAULT | TRAIN_CUSTOM) 609 610 #define TRAIN_SAVE 0 611 #define TRAIN_REVERT 1 612 #define TRAIN_RESET 2 613 614 #define WCR_RECOGNAME 0 615 #define WCR_QUERY 1 616 #define WCR_CONFIGDIALOG 2 617 #define WCR_DEFAULT 3 618 #define WCR_RCCHANGE 4 619 #define WCR_VERSION 5 620 #define WCR_TRAIN 6 621 #define WCR_TRAINSAVE 7 622 #define WCR_TRAINMAX 8 623 #define WCR_TRAINDIRTY 9 624 #define WCR_TRAINCUSTOM 10 625 #define WCR_QUERYLANGUAGE 11 626 #define WCR_USERCHANGE 12 627 628 #define WCR_PWVERSION 13 629 #define WCR_GETALCPRIORITY 14 630 #define WCR_SETALCPRIORITY 15 631 #define WCR_GETANSISTATE 16 632 #define WCR_SETANSISTATE 17 633 #define WCR_GETHAND 18 634 #define WCR_SETHAND 19 635 #define WCR_GETDIRECTION 20 636 #define WCR_SETDIRECTION 21 637 #define WCR_INITRECOGNIZER 22 638 #define WCR_CLOSERECOGNIZER 23 639 640 #define WCR_PRIVATE 1024 641 642 #define CRUC_NOTIFY 0 643 #define CRUC_REMOVE 1 644 645 #define WLT_STRING 0 646 #define WLT_STRINGTABLE 1 647 #define WLT_EMPTY 2 648 #define WLT_WORDLIST 3 649 #endif 650 651 #ifndef NOPENIEDIT 652 653 #define IEB_DEFAULT 0 654 #define IEB_BRUSH 1 655 #define IEB_BIT_UL 2 656 #define IEB_BIT_CENTER 3 657 #define IEB_BIT_TILE 4 658 #define IEB_BIT_STRETCH 5 659 #define IEB_OWNERDRAW 6 660 661 #define IEDO_NONE 0x0000 662 #define IEDO_FAST 0x0001 663 #define IEDO_SAVEUPSTROKES 0x0002 664 #define IEDO_RESERVED 0xFFFC 665 666 #define IEI_MOVE 0x0001 667 #define IEI_RESIZE 0x0002 668 #define IEI_CROP 0x0004 669 #define IEI_DISCARD 0x0008 670 #define IEI_RESERVED 0xFFF0 671 672 #define IEGI_ALL 0x0000 673 #define IEGI_SELECTION 0x0001 674 675 #define IEMODE_READY 0 676 #define IEMODE_ERASE 1 677 #define IEMODE_LASSO 2 678 679 #define IEN_NULL 0x0000 680 #define IEN_PDEVENT 0x0001 681 #define IEN_PAINT 0x0002 682 #define IEN_FOCUS 0x0004 683 #define IEN_SCROLL 0x0008 684 #define IEN_EDIT 0x0010 685 #define IEN_PROPERTIES 0x0020 686 #define IEN_RESERVED 0xFF80 687 688 #define IER_OK 0 689 #define IER_NO 0 690 #define IER_YES 1 691 #define IER_ERROR (-1) 692 #define IER_PARAMERR (-2) 693 #define IER_OWNERDRAW (-3) 694 #define IER_SECURITY (-4) 695 #define IER_SELECTION (-5) 696 #define IER_SCALE (-6) 697 #define IER_MEMERR (-7) 698 #define IER_NOCOMMAND (-8) 699 #define IER_NOGESTURE (-9) 700 #define IER_NOPDEVENT (-10) 701 #define IER_NOTINPAINT (-11) 702 #define IER_PENDATA (-12) 703 704 #define IEREC_NONE 0x0000 705 #define IEREC_GESTURE 0x0001 706 #define IEREC_ALL (IEREC_GESTURE) 707 #define IEREC_RESERVED 0xFFFE 708 709 #define IESEC_NOCOPY 0x0001 710 #define IESEC_NOCUT 0x0002 711 #define IESEC_NOPASTE 0x0004 712 #define IESEC_NOUNDO 0x0008 713 #define IESEC_NOINK 0x0010 714 #define IESEC_NOERASE 0x0020 715 #define IESEC_NOGET 0x0040 716 #define IESEC_NOSET 0x0080 717 #define IESEC_RESERVED 0xFF00 718 719 #define IESF_ALL 0x0001 720 #define IESF_SELECTION 0x0002 721 #define IESF_STROKE 0x0004 722 723 #define IESF_TIPCOLOR 0x0008 724 #define IESF_TIPWIDTH 0x0010 725 #define IESF_PENTIP (IESF_TIPCOLOR|IESF_TIPWIDTH) 726 727 #define IESI_REPLACE 0x0000 728 #define IESI_APPEND 0x0001 729 730 #define IN_PDEVENT ((IEN_PDEVENT<<8)|0) 731 #define IN_ERASEBKGND ((IEN_NULL<<8)|1) 732 #define IN_PREPAINT ((IEN_PAINT<<8)|2) 733 #define IN_PAINT ((IEN_NULL<<8)|3) 734 #define IN_POSTPAINT ((IEN_PAINT<<8)|4) 735 #define IN_MODECHANGED ((IEN_EDIT<<8)|5) 736 #define IN_CHANGE ((IEN_EDIT<<8)|6) 737 #define IN_UPDATE ((IEN_EDIT<<8)|7) 738 #define IN_SETFOCUS ((IEN_FOCUS<<8)|8) 739 #define IN_KILLFOCUS ((IEN_FOCUS<<8)|9) 740 #define IN_MEMERR ((IEN_NULL<<8)|10) 741 #define IN_HSCROLL ((IEN_SCROLL<<8)|11) 742 #define IN_VSCROLL ((IEN_SCROLL<<8)|12) 743 #define IN_GESTURE ((IEN_EDIT<<8)|13) 744 #define IN_COMMAND ((IEN_EDIT<<8)|14) 745 #define IN_CLOSE ((IEN_NULL<<8)|15) 746 #define IN_PROPERTIES ((IEN_PROPERTIES<<8)|16) 747 #endif 748 749 #ifndef NOPENINKPUT 750 751 #define LRET_DONE __MSABI_LONG(1) 752 #define LRET_ABORT (__MSABI_LONG(-1)) 753 #define LRET_HRC (__MSABI_LONG(-2)) 754 #define LRET_HPENDATA (__MSABI_LONG(-3)) 755 #define LRET_PRIVATE (__MSABI_LONG(-4)) 756 757 #define PCMR_OK 0 758 #define PCMR_ALREADYCOLLECTING (-1) 759 #define PCMR_INVALIDCOLLECTION (-2) 760 #define PCMR_EVENTLOCK (-3) 761 #define PCMR_INVALID_PACKETID (-4) 762 #define PCMR_TERMTIMEOUT (-5) 763 #define PCMR_TERMRANGE (-6) 764 #define PCMR_TERMPENUP (-7) 765 #define PCMR_TERMEX (-8) 766 #define PCMR_TERMBOUND (-9) 767 #define PCMR_APPTERMINATED (-10) 768 #define PCMR_TAP (-11) 769 #define PCMR_SELECT (-12) 770 #define PCMR_OVERFLOW (-13) 771 #define PCMR_ERROR (-14) 772 #define PCMR_DISPLAYERR (-15) 773 #define PCMR_TERMINVERT (-16) 774 775 #define PII_INKCLIPRECT 0x0001 776 #define PII_INKSTOPRECT 0x0002 777 #define PII_INKCLIPRGN 0x0004 778 #define PII_INKSTOPRGN 0x0008 779 #define PII_INKPENTIP 0x0010 780 #define PII_SAVEBACKGROUND 0x0020 781 #define PII_CLIPSTOP 0x0040 782 783 #define PIT_RGNBOUND 0x0001 784 #define PIT_RGNEXCLUDE 0x0002 785 #define PIT_TIMEOUT 0x0004 786 #define PIT_TAPNHOLD 0x0008 787 #endif 788 789 #ifndef NOPENMISC 790 791 #define CL_NULL 0 792 #define CL_MINIMUM 1 793 #define CL_MAXIMUM 100 794 #define cwRcReservedMax 8 795 #define ENUM_MINIMUM 1 796 #define ENUM_MAXIMUM 4096 797 798 #define HKP_SETHOOK 0 799 #define HKP_UNHOOK 0xFFFF 800 801 #define HWR_RESULTS 0 802 #define HWR_APPWIDE 1 803 804 #define iSycNull (-1) 805 #define LPDFNULL ((LPDF)NULL) 806 #define MAXDICTIONARIES 16 807 #define wPntAll (UINT)0xFFFF 808 #define cbRcLanguageMax 44 809 #define cbRcUserMax 32 810 #define cbRcrgbfAlcMax 32 811 #define RC_WDEFAULT 0xffff 812 #define RC_LDEFAULT __MSABI_LONG(0xffffffff) 813 #define RC_WDEFAULTFLAGS 0x8000 814 #define RC_LDEFAULTFLAGS __MSABI_LONG(0x80000000) 815 816 #define CWR_REPLACECR 0x0001 817 #define CWR_STRIPCR CWR_REPLACECR 818 #define CWR_STRIPLF 0x0002 819 #define CWR_REPLACETAB 0x0004 820 #define CWR_STRIPTAB CWR_REPLACETAB 821 #define CWR_SINGLELINEEDIT (CWR_REPLACECR|CWR_STRIPLF|CWR_REPLACETAB) 822 #define CWR_INSERT 0x0008 823 #define CWR_TITLE 0x0010 824 #define CWR_SIMPLE 0x0040 825 #define CWR_HEDIT 0x0080 826 #define CWR_KEYBOARD 0x0100 827 #define CWR_BOXES 0x0200 828 829 #define CWRK_DEFAULT 0 830 #define CWRK_BASIC 1 831 #define CWRK_FULL 2 832 #define CWRK_NUMPAD 3 833 #define CWRK_TELPAD 4 834 835 #ifdef JAPAN 836 837 #define CBCAPTIONCWX 256 838 #define CKBCWX 6 839 #define XCWX 20 840 #define YCWX 20 841 #define CXCWX 300 842 #define CYCWX 200 843 844 #define CWX_TOPMOST __MSABI_LONG(0x00000001) 845 #define CWX_NOTOOLTIPS __MSABI_LONG(0x00000002) 846 #define CWX_EPERIOD __MSABI_LONG(0x00000004) 847 #define CWX_ECOMMA __MSABI_LONG(0x00000008) 848 #define CWX_DEFAULT __MSABI_LONG(0x00000000) 849 850 #define CWXA_CONTEXT 0x0001 851 #define CWXA_KBD 0x0002 852 #define CWXA_STATE 0x0004 853 #define CWXA_PTUL 0x0008 854 #define CWXA_SIZE 0x0010 855 #define CWXA_NOUPDATEMRU 0x0020 856 857 #define CWXK_HW 0 858 #define CWXK_FIRST 0x0100 859 #define CWXK_50 0x0100 860 #define CWXK_QWERTY 0x0101 861 #define CWXK_NUM 0x0102 862 #define CWXK_KANJI 0x0103 863 #define CWXK_CODE 0x0104 864 #define CWXK_YOMI 0x0105 865 866 #define CWXKS_DEFAULT 0xffff 867 #define CWXKS_ZEN 0 868 #define CWXKS_HAN 1 869 #define CWXKS_ROMAZEN 2 870 #define CWXKS_ROMAHAN 3 871 #define CWXKS_HIRAZEN 4 872 #define CWXKS_KATAZEN 5 873 #define CWXKS_KATAHAN 6 874 875 #define CWXR_ERROR -1 876 #define CWXR_UNMODIFIED 0 877 #define CWXR_MODIFIED 1 878 #endif 879 880 #ifdef JAPAN 881 #define GPMI_OK __MSABI_LONG(0) 882 #define GPMI_INVALIDPMI __MSABI_LONG(0x8000) 883 #endif 884 885 #define INKWIDTH_MINIMUM 0 886 #define INKWIDTH_MAXIMUM 15 887 888 #define PMI_RCCHANGE 0 889 890 #define PMI_BEDIT 1 891 #define PMI_CXTABLET 3 892 #define PMI_CYTABLET 4 893 #define PMI_PENTIP 6 894 #define PMI_ENABLEFLAGS 7 895 #define PMI_TIMEOUT 8 896 #define PMI_TIMEOUTGEST 9 897 #define PMI_TIMEOUTSEL 10 898 #define PMI_SYSFLAGS 11 899 #define PMI_INDEXFROMRGB 12 900 #define PMI_RGBFROMINDEX 13 901 #define PMI_SYSREC 14 902 #define PMI_TICKREF 15 903 904 #define PMI_SAVE 0x1000 905 906 #ifdef JAPAN 907 908 #define GPR_CURSPEN 1 909 #define GPR_CURSCOPY 2 910 #define GPR_CURSUNKNOWN 3 911 #define GPR_CURSERASE 4 912 913 #define GPR_BMCRMONO 5 914 #define GPR_BMLFMONO 6 915 #define GPR_BMTABMONO 7 916 #define GPR_BMDELETE 8 917 #define GPR_BMLENSBTN 9 918 919 #ifdef JAPAN 920 #define GPR_BMHSPMONO 10 921 #define GPR_BMZSPMONO 11 922 #endif 923 #endif 924 925 #define PWE_AUTOWRITE 0x0001 926 #define PWE_ACTIONHANDLES 0x0002 927 #define PWE_INPUTCURSOR 0x0004 928 #define PWE_LENS 0x0008 929 930 #define PWF_RC1 0x0001 931 #define PWF_PEN 0x0004 932 #define PWF_INKDISPLAY 0x0008 933 #define PWF_RECOGNIZER 0x0010 934 #define PWF_BEDIT 0x0100 935 #define PWF_HEDIT 0x0200 936 #define PWF_IEDIT 0x0400 937 #define PWF_ENHANCED 0x1000 938 #define PWF_FULL PWF_RC1|PWF_PEN|PWF_INKDISPLAY|PWF_RECOGNIZER| PWF_BEDIT|PWF_HEDIT |PWF_IEDIT|PWF_ENHANCED 939 940 #define RPA_DEFAULT 0x0001 941 #define RPA_HEDIT 0x0001 942 #define RPA_KANJIFIXEDBEDIT 0x0002 943 #define RPA_DBCSPRIORITY 0x0004 944 #define RPA_SBCSPRIORITY 0x0008 945 946 #define PMIR_OK __MSABI_LONG(0) 947 #define PMIR_INDEX (__MSABI_LONG(-1)) 948 #define PMIR_VALUE (__MSABI_LONG(-2)) 949 #define PMIR_INVALIDBOXEDITINFO (__MSABI_LONG(-3)) 950 #define PMIR_INIERROR (__MSABI_LONG(-4)) 951 #define PMIR_ERROR (__MSABI_LONG(-5)) 952 #define PMIR_NA (__MSABI_LONG(-6)) 953 954 #ifdef JAPAN 955 #define SPMI_OK __MSABI_LONG(0) 956 #define SPMI_INVALIDBOXEDITINFO __MSABI_LONG(1) 957 #define SPMI_INIERROR __MSABI_LONG(2) 958 #define SPMI_INVALIDPMI __MSABI_LONG(0x8000) 959 #endif 960 #endif 961 962 #ifndef NOPENRC1 963 964 #define GGRC_OK 0 965 #define GGRC_DICTBUFTOOSMALL 1 966 #define GGRC_PARAMERROR 2 967 #define GGRC_NA 3 968 969 #define RCD_DEFAULT 0 970 #define RCD_LR 1 971 #define RCD_RL 2 972 #define RCD_TB 3 973 #define RCD_BT 4 974 975 #define RCIP_ALLANSICHAR 0x0001 976 #define RCIP_MASK 0x0001 977 978 #define RCO_NOPOINTEREVENT __MSABI_LONG(0x00000001) 979 #define RCO_SAVEALLDATA __MSABI_LONG(0x00000002) 980 #define RCO_SAVEHPENDATA __MSABI_LONG(0x00000004) 981 #define RCO_NOFLASHUNKNOWN __MSABI_LONG(0x00000008) 982 #define RCO_TABLETCOORD __MSABI_LONG(0x00000010) 983 #define RCO_NOSPACEBREAK __MSABI_LONG(0x00000020) 984 #define RCO_NOHIDECURSOR __MSABI_LONG(0x00000040) 985 #define RCO_NOHOOK __MSABI_LONG(0x00000080) 986 #define RCO_BOXED __MSABI_LONG(0x00000100) 987 #define RCO_SUGGEST __MSABI_LONG(0x00000200) 988 #define RCO_DISABLEGESMAP __MSABI_LONG(0x00000400) 989 #define RCO_NOFLASHCURSOR __MSABI_LONG(0x00000800) 990 #define RCO_BOXCROSS __MSABI_LONG(0x00001000) 991 #define RCO_COLDRECOG __MSABI_LONG(0x00008000) 992 #define RCO_SAVEBACKGROUND __MSABI_LONG(0x00010000) 993 #define RCO_DODEFAULT __MSABI_LONG(0x00020000) 994 995 #define RCOR_NORMAL 1 996 #define RCOR_RIGHT 2 997 #define RCOR_UPSIDEDOWN 3 998 #define RCOR_LEFT 4 999 1000 #define RCP_LEFTHAND 0x0001 1001 #define RCP_MAPCHAR 0x0004 1002 1003 #define RCRT_DEFAULT 0x0000 1004 #define RCRT_UNIDENTIFIED 0x0001 1005 #define RCRT_GESTURE 0x0002 1006 #define RCRT_NOSYMBOLMATCH 0x0004 1007 #define RCRT_PRIVATE 0x4000 1008 #define RCRT_NORECOG 0x8000 1009 #define RCRT_ALREADYPROCESSED 0x0008 1010 #define RCRT_GESTURETRANSLATED 0x0010 1011 #define RCRT_GESTURETOKEYS 0x0020 1012 1013 #define RRM_STROKE 0 1014 #define RRM_SYMBOL 1 1015 #define RRM_WORD 2 1016 #define RRM_NEWLINE 3 1017 #define RRM_COMPLETE 16 1018 1019 #define SGRC_OK 0x0000 1020 #define SGRC_USER 0x0001 1021 #define SGRC_PARAMERROR 0x0002 1022 #define SGRC_RC 0x0004 1023 #define SGRC_RECOGNIZER 0x0008 1024 #define SGRC_DICTIONARY 0x0010 1025 #define SGRC_INIFILE 0x0020 1026 #define SGRC_NA 0x8000 1027 #endif 1028 1029 #ifndef NOPENTARGET 1030 1031 #define TPT_CLOSEST 0x0001 1032 #define TPT_INTERSECTINK 0x0002 1033 #define TPT_TEXTUAL 0x0004 1034 #define TPT_DEFAULT (TPT_TEXTUAL | TPT_INTERSECTINK | TPT_CLOSEST) 1035 #endif 1036 1037 #ifndef NOPENVIRTEVENT 1038 1039 #define VWM_MOUSEMOVE 0x0001 1040 #define VWM_MOUSELEFTDOWN 0x0002 1041 #define VWM_MOUSELEFTUP 0x0004 1042 #define VWM_MOUSERIGHTDOWN 0x0008 1043 #define VWM_MOUSERIGHTUP 0x0010 1044 #endif 1045 #endif 1046 1047 #ifndef NOPENMSGS 1048 1049 #ifndef NOPENRC1 1050 #define WM_RCRESULT (WM_PENWINFIRST+1) 1051 #define WM_HOOKRCRESULT (WM_PENWINFIRST+2) 1052 #endif 1053 1054 #define WM_PENMISCINFO (WM_PENWINFIRST+3) 1055 #define WM_GLOBALRCCHANGE (WM_PENWINFIRST+3) 1056 1057 #ifndef NOPENAPPS 1058 #define WM_SKB (WM_PENWINFIRST+4) 1059 #endif 1060 1061 #define WM_PENCTL (WM_PENWINFIRST+5) 1062 #define WM_HEDITCTL (WM_PENWINFIRST+5) 1063 1064 #define HE_GETUNDERLINE 7 1065 #define HE_SETUNDERLINE 8 1066 #define HE_GETINKHANDLE 9 1067 #define HE_SETINKMODE 10 1068 #define HE_STOPINKMODE 11 1069 #define HE_DEFAULTFONT 13 1070 #define HE_CHARPOSITION 14 1071 #define HE_CHAROFFSET 15 1072 #define HE_GETBOXLAYOUT 20 1073 #define HE_SETBOXLAYOUT 21 1074 #ifdef JAPAN 1075 #define HE_KKCONVERT 30 1076 #define HE_GETKKCONVERT 31 1077 #define HE_CANCELKKCONVERT 32 1078 #define HE_FIXKKCONVERT 33 1079 #define HE_GETKKSTATUS 34 1080 #define HE_SETCONVERTRANGE 35 1081 #define HE_GETCONVERTRANGE 36 1082 #define HE_PUTCONVERTCHAR 37 1083 #endif 1084 #define HE_ENABLEALTLIST 40 1085 #define HE_SHOWALTLIST 41 1086 #define HE_HIDEALTLIST 42 1087 #ifndef JAPAN 1088 #define HE_GETLENSTYPE 43 1089 #define HE_SETLENSTYPE 44 1090 #endif 1091 1092 #ifdef JAPAN 1093 1094 #define HEKK_DEFAULT 0 1095 #define HEKK_CONVERT 1 1096 #define HEKK_CANDIDATE 2 1097 #define HEKK_DBCSCHAR 3 1098 #define HEKK_SBCSCHAR 4 1099 #define HEKK_HIRAGANA 5 1100 #define HEKK_KATAKANA 6 1101 1102 #define HEKKR_NOCONVERT 0 1103 #define HEKKR_PRECONVERT 1 1104 #define HEKKR_CONVERT 2 1105 #endif 1106 1107 #define HEP_NORECOG 0 1108 #define HEP_RECOG 1 1109 #define HEP_WAITFORTAP 2 1110 1111 #define HN_ENDREC 4 1112 #define HN_DELAYEDRECOGFAIL 5 1113 #define HN_RESULT 20 1114 #ifdef JAPAN 1115 #define HN_ENDKKCONVERT 30 1116 #endif 1117 #define HN_BEGINDIALOG 40 1118 1119 #define HN_ENDDIALOG 41 1120 1121 #ifndef NOPENIEDIT 1122 1123 #define IE_GETMODIFY (EM_GETMODIFY) 1124 #define IE_SETMODIFY (EM_SETMODIFY) 1125 #define IE_CANUNDO (EM_CANUNDO) 1126 #define IE_UNDO (EM_UNDO) 1127 #define IE_EMPTYUNDOBUFFER (EM_EMPTYUNDOBUFFER) 1128 1129 #define IE_MSGFIRST (WM_USER+150) 1130 1131 #define IE_GETINK (IE_MSGFIRST+0) 1132 #define IE_SETINK (IE_MSGFIRST+1) 1133 #define IE_GETPENTIP (IE_MSGFIRST+2) 1134 #define IE_SETPENTIP (IE_MSGFIRST+3) 1135 #define IE_GETERASERTIP (IE_MSGFIRST+4) 1136 #define IE_SETERASERTIP (IE_MSGFIRST+5) 1137 #define IE_GETBKGND (IE_MSGFIRST+6) 1138 #define IE_SETBKGND (IE_MSGFIRST+7) 1139 #define IE_GETGRIDORIGIN (IE_MSGFIRST+8) 1140 #define IE_SETGRIDORIGIN (IE_MSGFIRST+9) 1141 #define IE_GETGRIDPEN (IE_MSGFIRST+10) 1142 #define IE_SETGRIDPEN (IE_MSGFIRST+11) 1143 #define IE_GETGRIDSIZE (IE_MSGFIRST+12) 1144 #define IE_SETGRIDSIZE (IE_MSGFIRST+13) 1145 #define IE_GETMODE (IE_MSGFIRST+14) 1146 #define IE_SETMODE (IE_MSGFIRST+15) 1147 #define IE_GETINKRECT (IE_MSGFIRST+16) 1148 1149 #define IE_GETAPPDATA (IE_MSGFIRST+34) 1150 #define IE_SETAPPDATA (IE_MSGFIRST+35) 1151 #define IE_GETDRAWOPTS (IE_MSGFIRST+36) 1152 #define IE_SETDRAWOPTS (IE_MSGFIRST+37) 1153 #define IE_GETFORMAT (IE_MSGFIRST+38) 1154 #define IE_SETFORMAT (IE_MSGFIRST+39) 1155 #define IE_GETINKINPUT (IE_MSGFIRST+40) 1156 #define IE_SETINKINPUT (IE_MSGFIRST+41) 1157 #define IE_GETNOTIFY (IE_MSGFIRST+42) 1158 #define IE_SETNOTIFY (IE_MSGFIRST+43) 1159 #define IE_GETRECOG (IE_MSGFIRST+44) 1160 #define IE_SETRECOG (IE_MSGFIRST+45) 1161 #define IE_GETSECURITY (IE_MSGFIRST+46) 1162 #define IE_SETSECURITY (IE_MSGFIRST+47) 1163 #define IE_GETSEL (IE_MSGFIRST+48) 1164 #define IE_SETSEL (IE_MSGFIRST+49) 1165 #define IE_DOCOMMAND (IE_MSGFIRST+50) 1166 #define IE_GETCOMMAND (IE_MSGFIRST+51) 1167 #define IE_GETCOUNT (IE_MSGFIRST+52) 1168 #define IE_GETGESTURE (IE_MSGFIRST+53) 1169 #define IE_GETMENU (IE_MSGFIRST+54) 1170 #define IE_GETPAINTDC (IE_MSGFIRST+55) 1171 #define IE_GETPDEVENT (IE_MSGFIRST+56) 1172 #define IE_GETSELCOUNT (IE_MSGFIRST+57) 1173 #define IE_GETSELITEMS (IE_MSGFIRST+58) 1174 #define IE_GETSTYLE (IE_MSGFIRST+59) 1175 #endif 1176 1177 #ifndef NOPENHEDIT 1178 1179 #define CIH_NOGDMSG 0x0001 1180 #define CIH_NOACTIONHANDLE 0x0002 1181 #define CIH_NOEDITTEXT 0x0004 1182 #define CIH_NOFLASHCURSOR 0x0008 1183 #endif 1184 1185 #ifndef NOPENBEDIT 1186 1187 #define HEAL_DEFAULT __MSABI_LONG(-1) 1188 1189 #define BEI_FACESIZE 32 1190 #define BEIF_BOXCROSS 0x0001 1191 1192 #define BESC_DEFAULT 0 1193 #define BESC_ROMANFIXED 1 1194 #define BESC_KANJIFIXED 2 1195 #define BESC_USERDEFINED 3 1196 1197 #define CIB_NOGDMSG 0x0001 1198 #define CIB_NOACTIONHANDLE 0x0002 1199 #define CIB_NOFLASHCURSOR 0x0004 1200 #ifdef JAPAN 1201 #define CIB_NOWRITING 0x0010 1202 #endif 1203 1204 #define BXD_CELLWIDTH 12 1205 #define BXD_CELLHEIGHT 16 1206 #define BXD_BASEHEIGHT 13 1207 #define BXD_BASEHORZ 0 1208 #define BXD_MIDFROMBASE 0 1209 #define BXD_CUSPHEIGHT 2 1210 #define BXD_ENDCUSPHEIGHT 4 1211 1212 #define BXDK_CELLWIDTH 32 1213 #define BXDK_CELLHEIGHT 32 1214 #define BXDK_BASEHEIGHT 28 1215 #define BXDK_BASEHORZ 0 1216 #define BXDK_MIDFROMBASE 0 1217 #define BXDK_CUSPHEIGHT 28 1218 #define BXDK_ENDCUSPHEIGHT 10 1219 #endif 1220 1221 #define WM_PENMISC (WM_PENWINFIRST+6) 1222 1223 #define PMSC_BEDITCHANGE 1 1224 #define PMSC_GETPCMINFO 5 1225 #define PMSC_SETPCMINFO 6 1226 #define PMSC_GETINKINGINFO 7 1227 #define PMSC_SETINKINGINFO 8 1228 #define PMSC_GETHRC 9 1229 #define PMSC_SETHRC 10 1230 #define PMSC_GETSYMBOLCOUNT 11 1231 #define PMSC_GETSYMBOLS 12 1232 #define PMSC_SETSYMBOLS 13 1233 #define PMSC_LOADPW 15 1234 #define PMSC_INKSTOP 16 1235 1236 #define PMSCL_UNLOADED __MSABI_LONG(0) 1237 #define PMSCL_LOADED __MSABI_LONG(1) 1238 #define PMSCL_UNLOADING __MSABI_LONG(2) 1239 1240 #define WM_CTLINIT (WM_PENWINFIRST+7) 1241 1242 #define CTLINIT_HEDIT 1 1243 #define CTLINIT_BEDIT 7 1244 #define CTLINIT_IEDIT 9 1245 #define CTLINIT_MAX 10 1246 1247 #define WM_PENEVENT (WM_PENWINFIRST+8) 1248 1249 #define PE_PENDOWN 1 1250 #define PE_PENUP 2 1251 #define PE_PENMOVE 3 1252 #define PE_TERMINATING 4 1253 #define PE_TERMINATED 5 1254 #define PE_BUFFERWARNING 6 1255 #define PE_BEGININPUT 7 1256 #define PE_SETTARGETS 8 1257 #define PE_BEGINDATA 9 1258 #define PE_MOREDATA 10 1259 #define PE_ENDDATA 11 1260 #define PE_GETPCMINFO 12 1261 #define PE_GETINKINGINFO 13 1262 #define PE_ENDINPUT 14 1263 1264 #define PE_RESULT 15 1265 #endif 1266 1267 #ifndef RC_INVOKED 1268 1269 #ifndef NOPENDRIVER 1270 1271 #define FPenUpX(x) ((WINBOOL)(((x) & BITPENUP)!=0)) 1272 #define GetWEventRef() (LOWORD(GetMessageExtraInfo())) 1273 #endif 1274 1275 #ifndef NOPENALC 1276 1277 #define MpAlcB(lprc,i) ((lprc)->rgbfAlc[((i) & 0xff) >> 3]) 1278 #define MpIbf(i) ((BYTE)(1 << ((i) & 7))) 1279 #define SetAlcBitAnsi(lprc,i) do {MpAlcB(lprc,i) |= MpIbf(i);} while (0) 1280 #define ResetAlcBitAnsi(lprc,i) do {MpAlcB(lprc,i) &= ~MpIbf(i);} while (0) 1281 #define IsAlcBitAnsi(lprc,i) ((MpAlcB(lprc,i) & MpIbf(i))!=0) 1282 #endif 1283 1284 #ifndef NOPENDATA 1285 1286 #define DrawPenDataFmt(hdc,lprect,hpndt) DrawPenDataEx(hdc,lprect,hpndt,0,IX_END,0,IX_END,NULL,NULL,0) 1287 #endif 1288 1289 #ifndef NOPENHRC 1290 1291 #define dwDiffAT(at1,at2) (1000*((at2).sec - (at1).sec) - (DWORD)(at1).ms + (DWORD)(at2).ms) 1292 #define FLTAbsTime(at1,at2) ((at1).sec < (at2).sec || ((at1).sec==(at2).sec && (at1).ms < (at2).ms)) 1293 #define FLTEAbsTime(at1,at2) ((at1).sec < (at2).sec || ((at1).sec==(at2).sec && (at1).ms <= (at2).ms)) 1294 #define FEQAbsTime(at1,at2) ((at1).sec==(at2).sec && (at1).ms==(at2).ms) 1295 #define FAbsTimeInInterval(at,lpi) (FLTEAbsTime((lpi)->atBegin,at) && FLTEAbsTime(at,(lpi)->atEnd)) 1296 #define FIntervalInInterval(lpiT,lpiS) (FLTEAbsTime((lpiS)->atBegin,(lpiT)->atBegin) && FLTEAbsTime((lpiT)->atEnd,(lpiS)->atEnd)) 1297 #define FIntervalXInterval(lpiT,lpiS) (!(FLTAbsTime((lpiT)->atEnd,(lpiS)->atBegin) || FLTAbsTime((lpiS)->atEnd,(lpiT)->atBegin))) 1298 #define dwDurInterval(lpi) dwDiffAT((lpi)->atBegin,(lpi)->atEnd) 1299 #define MakeAbsTime(lpat,sec,ms) do { (lpat)->sec = sec + ((ms) / 1000); (lpat)->ms = (ms) % 1000; } while (0) 1300 1301 #define FIsSpecial(syv) (HIWORD((syv))==SYVHI_SPECIAL) 1302 #define FIsAnsi(syv) (HIWORD((syv))==SYVHI_ANSI) 1303 #define FIsGesture(syv) (HIWORD((syv))==SYVHI_GESTURE) 1304 #define FIsKanji(syv) (HIWORD((syv))==SYVHI_KANJI) 1305 #define FIsShape(syv) (HIWORD((syv))==SYVHI_SHAPE) 1306 #define FIsUniCode(syv) (HIWORD((syv))==SYVHI_UNICODE) 1307 #define FIsVKey(syv) (HIWORD((syv))==SYVHI_VKEY) 1308 1309 #define ChSyvToAnsi(syv) ((BYTE) (LOBYTE(LOWORD((syv))))) 1310 #define WSyvToKanji(syv) ((WORD) (LOWORD((syv)))) 1311 #define SyvCharacterToSymbol(c) ((LONG)(unsigned char)(c) | 0x00010000) 1312 #define SyvKanjiToSymbol(c) ((LONG)(UINT)(c) | 0x00030000) 1313 1314 #define FIsSelectGesture(syv) ((syv) >= SYVSELECTFIRST && (syv) <= SYVSELECTLAST) 1315 1316 #define FIsStdGesture(syv) (FIsSelectGesture(syv) || (syv)==SYV_CLEAR || (syv)==SYV_HELP || (syv)==SYV_EXTENDSELECT || (syv)==SYV_UNDO || (syv)==SYV_COPY || (syv)==SYV_CUT || (syv)==SYV_PASTE || (syv)==SYV_CLEARWORD || (syv)==SYV_KKCONVERT || (syv)==SYV_USER || (syv)==SYV_CORRECT) 1317 1318 #define FIsAnsiGesture(syv) ((syv)==SYV_BACKSPACE || (syv)==SYV_TAB || (syv)==SYV_RETURN || (syv)==SYV_SPACE) 1319 #endif 1320 1321 #ifndef NOPENINKPUT 1322 #define SubPenMsgFromWpLp(wp,lp) (LOWORD(wp)) 1323 #define EventRefFromWpLp(wp,lp) (HIWORD(wp)) 1324 #define TerminationFromWpLp(wp,lp) ((int)HIWORD(wp)) 1325 #define HpcmFromWpLp(wp,lp) ((HPCM)(lp)) 1326 #endif 1327 1328 #ifndef NOPENTARGET 1329 #define HwndFromHtrg(htrg) ((HWND)(DWORD)(htrg)) 1330 #define HtrgFromHwnd(hwnd) ((HTRG)(UINT)(hwnd)) 1331 #endif 1332 1333 typedef LONG ALC; 1334 typedef int CL; 1335 typedef UINT HKP; 1336 typedef int REC; 1337 typedef LONG SYV; 1338 1339 #ifndef DECLARE_HANDLE32 1340 #define DECLARE_HANDLE32(name) struct name##__ { int unused; }; typedef const struct name##__ *name 1341 #endif 1342 1343 DECLARE_HANDLE32(HTRG); 1344 DECLARE_HANDLE(HPCM); 1345 DECLARE_HANDLE(HPENDATA); 1346 DECLARE_HANDLE(HREC); 1347 1348 typedef ALC *LPALC; 1349 typedef LPVOID LPOEM; 1350 typedef SYV *LPSYV; 1351 typedef HPENDATA *LPHPENDATA; 1352 1353 typedef int (CALLBACK *ENUMPROC)(LPSYV,int,VOID *); 1354 typedef int (CALLBACK *LPDF)(int,LPVOID,LPVOID,int,DWORD,DWORD); 1355 typedef WINBOOL (CALLBACK *RCYIELDPROC)(VOID); 1356 1357 typedef struct tagABSTIME { 1358 DWORD sec; 1359 UINT ms; 1360 } ABSTIME,*LPABSTIME; 1361 1362 #ifndef NOPENHEDIT 1363 typedef struct tagCTLINITHEDIT { 1364 DWORD cbSize; 1365 HWND hwnd; 1366 int id; 1367 DWORD dwFlags; 1368 DWORD dwReserved; 1369 } CTLINITHEDIT,*LPCTLINITHEDIT; 1370 #endif 1371 1372 #ifndef NOPENBEDIT 1373 1374 typedef struct tagBOXLAYOUT { 1375 int cyCusp; 1376 int cyEndCusp; 1377 UINT style; 1378 DWORD dwReserved1; 1379 DWORD dwReserved2; 1380 DWORD dwReserved3; 1381 } BOXLAYOUT,*LPBOXLAYOUT; 1382 1383 typedef struct tagCTLINITBEDIT { 1384 DWORD cbSize; 1385 HWND hwnd; 1386 int id; 1387 WORD wSizeCategory; 1388 WORD wFlags; 1389 DWORD dwReserved; 1390 } CTLINITBEDIT,*LPCTLINITBEDIT; 1391 1392 typedef struct tagBOXEDITINFO { 1393 int cxBox; 1394 int cyBox; 1395 int cxBase; 1396 int cyBase; 1397 int cyMid; 1398 BOXLAYOUT boxlayout; 1399 UINT wFlags; 1400 BYTE szFaceName[BEI_FACESIZE]; 1401 UINT wFontHeight; 1402 UINT rgwReserved[8]; 1403 } BOXEDITINFO,*LPBOXEDITINFO; 1404 #endif 1405 1406 #ifndef NOPENCTL 1407 1408 typedef struct tagRECTOFS { 1409 int dLeft; 1410 int dTop; 1411 int dRight; 1412 int dBottom; 1413 } RECTOFS,*LPRECTOFS; 1414 #endif 1415 1416 #ifndef NOPENDATA 1417 typedef struct tagPENDATAHEADER { 1418 UINT wVersion; 1419 UINT cbSizeUsed; 1420 UINT cStrokes; 1421 UINT cPnt; 1422 UINT cPntStrokeMax; 1423 RECT rectBound; 1424 UINT wPndts; 1425 int nInkWidth; 1426 DWORD rgbInk; 1427 } PENDATAHEADER,*LPPENDATAHEADER,*LPPENDATA; 1428 1429 typedef struct tagSTROKEINFO { 1430 UINT cPnt; 1431 UINT cbPnts; 1432 UINT wPdk; 1433 DWORD dwTick; 1434 } STROKEINFO,*LPSTROKEINFO; 1435 1436 typedef struct tagPENTIP { 1437 DWORD cbSize; 1438 BYTE btype; 1439 BYTE bwidth; 1440 BYTE bheight; 1441 BYTE bOpacity; 1442 COLORREF rgb; 1443 DWORD dwFlags; 1444 DWORD dwReserved; 1445 } PENTIP,*LPPENTIP; 1446 1447 typedef WINBOOL (CALLBACK *ANIMATEPROC)(HPENDATA,UINT,UINT,UINT *,LPARAM); 1448 1449 typedef struct tagANIMATEINFO { 1450 DWORD cbSize; 1451 UINT uSpeedPct; 1452 UINT uPeriodCB; 1453 UINT fuFlags; 1454 LPARAM lParam; 1455 DWORD dwReserved; 1456 } ANIMATEINFO,*LPANIMATEINFO; 1457 #endif 1458 1459 #ifndef NOPENDRIVER 1460 typedef struct tagOEMPENINFO { 1461 UINT wPdt; 1462 UINT wValueMax; 1463 UINT wDistinct; 1464 } OEMPENINFO,*LPOEMPENINFO; 1465 1466 typedef struct tagPENPACKET { 1467 UINT wTabletX; 1468 UINT wTabletY; 1469 UINT wPDK; 1470 UINT rgwOemData[MAXOEMDATAWORDS]; 1471 } PENPACKET,*LPPENPACKET; 1472 1473 typedef struct tagOEM_PENPACKET { 1474 UINT wTabletX; 1475 UINT wTabletY; 1476 UINT wPDK; 1477 UINT rgwOemData[MAXOEMDATAWORDS]; 1478 DWORD dwTime; 1479 } OEM_PENPACKET,*LPOEM_PENPACKET; 1480 1481 typedef struct tagPENINFO { 1482 UINT cxRawWidth; 1483 UINT cyRawHeight; 1484 UINT wDistinctWidth; 1485 UINT wDistinctHeight; 1486 int nSamplingRate; 1487 int nSamplingDist; 1488 LONG lPdc; 1489 int cPens; 1490 int cbOemData; 1491 OEMPENINFO rgoempeninfo[MAXOEMDATAWORDS]; 1492 UINT rgwReserved[7]; 1493 UINT fuOEM; 1494 } PENINFO,*LPPENINFO; 1495 1496 typedef struct tagCALBSTRUCT { 1497 int wOffsetX; 1498 int wOffsetY; 1499 int wDistinctWidth; 1500 int wDistinctHeight; 1501 } CALBSTRUCT,*LPCALBSTRUCT; 1502 1503 typedef WINBOOL (CALLBACK *LPFNRAWHOOK)(LPPENPACKET); 1504 #endif 1505 1506 #ifndef NOPENHRC 1507 DECLARE_HANDLE32(HRC); 1508 DECLARE_HANDLE32(HRCRESULT); 1509 DECLARE_HANDLE32(HWL); 1510 DECLARE_HANDLE32(HRECHOOK); 1511 1512 typedef HRC *LPHRC; 1513 typedef HRCRESULT *LPHRCRESULT; 1514 typedef HWL *LPHWL; 1515 1516 typedef WINBOOL (CALLBACK *HRCRESULTHOOKPROC)(HREC,HRC,UINT,UINT,UINT,LPVOID); 1517 1518 DECLARE_HANDLE(HINKSET); 1519 typedef HINKSET *LPHINKSET; 1520 1521 typedef struct tagINTERVAL { 1522 ABSTIME atBegin; 1523 ABSTIME atEnd; 1524 } INTERVAL,*LPINTERVAL; 1525 1526 typedef struct tagBOXRESULTS { 1527 UINT indxBox; 1528 HINKSET hinksetBox; 1529 SYV rgSyv[1]; 1530 } BOXRESULTS,*LPBOXRESULTS; 1531 1532 typedef struct tagGUIDE { 1533 int xOrigin; 1534 int yOrigin; 1535 int cxBox; 1536 int cyBox; 1537 int cxBase; 1538 int cyBase; 1539 int cHorzBox; 1540 int cVertBox; 1541 int cyMid; 1542 } GUIDE,*LPGUIDE; 1543 #endif 1544 1545 #ifndef NOPENIEDIT 1546 typedef struct tagCTLINITIEDIT { 1547 DWORD cbSize; 1548 HWND hwnd; 1549 int id; 1550 WORD ieb; 1551 WORD iedo; 1552 WORD iei; 1553 WORD ien; 1554 WORD ierec; 1555 WORD ies; 1556 WORD iesec; 1557 WORD pdts; 1558 HPENDATA hpndt; 1559 HGDIOBJ hgdiobj; 1560 HPEN hpenGrid; 1561 POINT ptOrgGrid; 1562 WORD wVGrid; 1563 WORD wHGrid; 1564 DWORD dwApp; 1565 DWORD dwReserved; 1566 } CTLINITIEDIT,*LPCTLINITIEDIT; 1567 1568 typedef struct tagPDEVENT { 1569 DWORD cbSize; 1570 HWND hwnd; 1571 UINT wm; 1572 WPARAM wParam; 1573 LPARAM lParam; 1574 POINT pt; 1575 WINBOOL fPen; 1576 LONG lExInfo; 1577 DWORD dwReserved; 1578 } PDEVENT,*LPPDEVENT; 1579 1580 typedef struct tagSTRKFMT { 1581 DWORD cbSize; 1582 UINT iesf; 1583 UINT iStrk; 1584 PENTIP tip; 1585 DWORD dwUser; 1586 DWORD dwReserved; 1587 } STRKFMT,*LPSTRKFMT; 1588 #endif 1589 1590 #ifndef NOPENINKPUT 1591 1592 typedef struct tagPCMINFO { 1593 DWORD cbSize; 1594 DWORD dwPcm; 1595 RECT rectBound; 1596 RECT rectExclude; 1597 HRGN hrgnBound; 1598 HRGN hrgnExclude; 1599 DWORD dwTimeout; 1600 } PCMINFO,*LPPCMINFO; 1601 1602 typedef struct tagINKINGINFO { 1603 DWORD cbSize; 1604 UINT wFlags; 1605 PENTIP tip; 1606 RECT rectClip; 1607 RECT rectInkStop; 1608 HRGN hrgnClip; 1609 HRGN hrgnInkStop; 1610 } INKINGINFO,*LPINKINGINFO; 1611 #endif 1612 1613 #ifndef NOPENRC1 1614 1615 typedef struct tagSYC { 1616 UINT wStrokeFirst; 1617 UINT wPntFirst; 1618 UINT wStrokeLast; 1619 UINT wPntLast; 1620 WINBOOL fLastSyc; 1621 } SYC,*LPSYC; 1622 1623 typedef struct tagSYE { 1624 SYV syv; 1625 LONG lRecogVal; 1626 CL cl; 1627 int iSyc; 1628 } SYE,*LPSYE; 1629 1630 typedef struct tagSYG { 1631 POINT rgpntHotSpots[MAXHOTSPOT]; 1632 int cHotSpot; 1633 int nFirstBox; 1634 LONG lRecogVal; 1635 LPSYE lpsye; 1636 int cSye; 1637 LPSYC lpsyc; 1638 int cSyc; 1639 } SYG,*LPSYG; 1640 1641 typedef struct tagRC { 1642 HREC hrec; 1643 HWND hwnd; 1644 UINT wEventRef; 1645 UINT wRcPreferences; 1646 LONG lRcOptions; 1647 RCYIELDPROC lpfnYield; 1648 BYTE lpUser[cbRcUserMax]; 1649 UINT wCountry; 1650 UINT wIntlPreferences; 1651 char lpLanguage[cbRcLanguageMax]; 1652 LPDF rglpdf[MAXDICTIONARIES]; 1653 UINT wTryDictionary; 1654 CL clErrorLevel; 1655 ALC alc; 1656 ALC alcPriority; 1657 BYTE rgbfAlc[cbRcrgbfAlcMax]; 1658 UINT wResultMode; 1659 UINT wTimeOut; 1660 LONG lPcm; 1661 RECT rectBound; 1662 RECT rectExclude; 1663 GUIDE guide; 1664 UINT wRcOrient; 1665 UINT wRcDirect; 1666 int nInkWidth; 1667 COLORREF rgbInk; 1668 DWORD dwAppParam; 1669 DWORD dwDictParam; 1670 DWORD dwRecognizer; 1671 UINT rgwReserved[cwRcReservedMax]; 1672 } RC,*LPRC; 1673 1674 typedef struct tagRCRESULT { 1675 SYG syg; 1676 UINT wResultsType; 1677 int cSyv; 1678 LPSYV lpsyv; 1679 HANDLE hSyv; 1680 int nBaseLine; 1681 int nMidLine; 1682 HPENDATA hpendata; 1683 RECT rectBoundInk; 1684 POINT pntEnd; 1685 LPRC lprc; 1686 } RCRESULT,*LPRCRESULT; 1687 1688 typedef int (CALLBACK *LPFUNCRESULTS)(LPRCRESULT,REC); 1689 #endif 1690 1691 #ifndef NOPENTARGET 1692 1693 typedef struct tagTARGET { 1694 DWORD dwFlags; 1695 DWORD idTarget; 1696 HTRG htrgTarget; 1697 RECTL rectBound; 1698 DWORD dwData; 1699 RECTL rectBoundInk; 1700 RECTL rectBoundLastInk; 1701 } TARGET,*LPTARGET; 1702 1703 typedef struct tagTARGINFO { 1704 DWORD cbSize; 1705 DWORD dwFlags; 1706 HTRG htrgOwner; 1707 WORD cTargets; 1708 WORD iTargetLast; 1709 TARGET rgTarget[1]; 1710 } TARGINFO,*LPTARGINFO; 1711 1712 typedef struct tagINPPARAMS { 1713 DWORD cbSize; 1714 DWORD dwFlags; 1715 HPENDATA hpndt; 1716 TARGET target; 1717 } INPPARAMS,*LPINPPARAMS; 1718 #endif 1719 1720 #ifdef JAPAN 1721 typedef struct tagCWX { 1722 DWORD cbSize; 1723 WORD wApplyFlags; 1724 HWND hwndText; 1725 HRC hrc; 1726 char szCaption[CBCAPTIONCWX]; 1727 DWORD dwEditStyle; 1728 DWORD dwSel; 1729 DWORD dwFlags; 1730 WORD ixkb; 1731 WORD rgState[CKBCWX]; 1732 POINT ptUL; 1733 SIZE sizeHW; 1734 } CWX,*LPCWX; 1735 #endif 1736 1737 LRESULT CALLBACK DefPenWindowProc(HWND,UINT,WPARAM,LPARAM); 1738 1739 #ifndef NOPENAPPS 1740 WINBOOL WINAPI ShowKeyboard(HWND,UINT,LPPOINT,LPSKBINFO); 1741 #endif 1742 1743 #ifndef NOPENDATA 1744 1745 #ifndef NOPENAPIFUN 1746 LPPENDATA WINAPI BeginEnumStrokes(HPENDATA); 1747 LPPENDATA WINAPI EndEnumStrokes(HPENDATA); 1748 HPENDATA WINAPI CompactPenData(HPENDATA,UINT); 1749 HPENDATA WINAPI CreatePenData(LPPENINFO,int,UINT,UINT); 1750 VOID WINAPI DrawPenData(HDC,LPRECT,HPENDATA); 1751 WINBOOL WINAPI GetPenDataStroke(LPPENDATA,UINT,LPPOINT *,LPVOID *,LPSTROKEINFO); 1752 #endif 1753 HPENDATA WINAPI AddPointsPenData(HPENDATA,LPPOINT,LPVOID,LPSTROKEINFO); 1754 int WINAPI CompressPenData(HPENDATA,UINT,DWORD); 1755 HPENDATA WINAPI CreatePenDataEx(LPPENINFO,UINT,UINT,UINT); 1756 HRGN WINAPI CreatePenDataRegion(HPENDATA,UINT); 1757 WINBOOL WINAPI DestroyPenData(HPENDATA); 1758 int WINAPI DrawPenDataEx(HDC,LPRECT,HPENDATA,UINT,UINT,UINT,UINT,ANIMATEPROC,LPANIMATEINFO,UINT); 1759 HPENDATA WINAPI DuplicatePenData(HPENDATA,UINT); 1760 int WINAPI ExtractPenDataPoints(HPENDATA,UINT,UINT,UINT,LPPOINT,LPVOID,UINT); 1761 int WINAPI ExtractPenDataStrokes(HPENDATA,UINT,LPARAM,LPHPENDATA,UINT); 1762 int WINAPI GetPenDataAttributes(HPENDATA,LPVOID,UINT); 1763 WINBOOL WINAPI GetPenDataInfo(HPENDATA,LPPENDATAHEADER,LPPENINFO,DWORD); 1764 WINBOOL WINAPI GetPointsFromPenData(HPENDATA,UINT,UINT,UINT,LPPOINT); 1765 int WINAPI GetStrokeAttributes(HPENDATA,UINT,LPVOID,UINT); 1766 int WINAPI GetStrokeTableAttributes(HPENDATA,UINT,LPVOID,UINT); 1767 int WINAPI HitTestPenData(HPENDATA,LPPOINT,UINT,UINT *,UINT *); 1768 int WINAPI InsertPenData(HPENDATA,HPENDATA,UINT); 1769 int WINAPI InsertPenDataPoints(HPENDATA,UINT,UINT,UINT,LPPOINT,LPVOID); 1770 int WINAPI InsertPenDataStroke(HPENDATA,UINT,LPPOINT,LPVOID,LPSTROKEINFO); 1771 WINBOOL WINAPI MetricScalePenData(HPENDATA,UINT); 1772 WINBOOL WINAPI OffsetPenData(HPENDATA,int,int); 1773 LONG WINAPI PenDataFromBuffer(LPHPENDATA,UINT,LPBYTE,LONG,LPDWORD); 1774 LONG WINAPI PenDataToBuffer(HPENDATA,LPBYTE,LONG,LPDWORD); 1775 WINBOOL WINAPI RedisplayPenData(HDC,HPENDATA,LPPOINT,LPPOINT,int,DWORD); 1776 int WINAPI RemovePenDataStrokes(HPENDATA,UINT,UINT); 1777 WINBOOL WINAPI ResizePenData(HPENDATA,LPRECT); 1778 int WINAPI SetStrokeAttributes(HPENDATA,UINT,LPARAM,UINT); 1779 int WINAPI SetStrokeTableAttributes(HPENDATA,UINT,LPARAM,UINT); 1780 int WINAPI TrimPenData(HPENDATA,DWORD,DWORD); 1781 #endif 1782 1783 #ifndef NOPENDICT 1784 WINBOOL WINAPI DictionarySearch(LPRC,LPSYE,int,LPSYV,int); 1785 #endif 1786 1787 #ifndef NOPENDRIVER 1788 1789 #ifndef NOPENAPIFUN 1790 WINBOOL WINAPI EndPenCollection(REC); 1791 REC WINAPI GetPenHwData(LPPOINT,LPVOID,int,UINT,LPSTROKEINFO); 1792 REC WINAPI GetPenHwEventData(UINT,UINT,LPPOINT,LPVOID,int,LPSTROKEINFO); 1793 WINBOOL WINAPI SetPenHook(HKP,LPFNRAWHOOK); 1794 VOID WINAPI UpdatePenInfo(LPPENINFO); 1795 #endif 1796 WINBOOL WINAPI GetPenAsyncState(UINT); 1797 WINBOOL WINAPI IsPenEvent(UINT,LONG); 1798 #endif 1799 1800 #ifndef NOPENHRC 1801 int WINAPI AddPenDataHRC(HRC,HPENDATA); 1802 int WINAPI AddPenInputHRC(HRC,LPPOINT,LPVOID,UINT,LPSTROKEINFO); 1803 int WINAPI AddWordsHWL(HWL,LPSTR,UINT); 1804 int WINAPI ConfigHREC(HREC,UINT,WPARAM,LPARAM); 1805 HRC WINAPI CreateCompatibleHRC(HRC,HREC); 1806 HWL WINAPI CreateHWL(HREC,LPSTR,UINT,DWORD); 1807 HINKSET WINAPI CreateInksetHRCRESULT(HRCRESULT,UINT,UINT); 1808 HPENDATA WINAPI CreatePenDataHRC(HRC); 1809 int WINAPI DestroyHRC(HRC); 1810 int WINAPI DestroyHRCRESULT(HRCRESULT); 1811 int WINAPI DestroyHWL(HWL); 1812 int WINAPI EnableGestureSetHRC(HRC,SYV,WINBOOL); 1813 int WINAPI EnableSystemDictionaryHRC(HRC,WINBOOL); 1814 int WINAPI EndPenInputHRC(HRC); 1815 int WINAPI GetAlphabetHRC(HRC,LPALC,LPBYTE); 1816 int WINAPI GetAlphabetPriorityHRC(HRC,LPALC,LPBYTE); 1817 int WINAPI GetAlternateWordsHRCRESULT(HRCRESULT,UINT,UINT,LPHRCRESULT,UINT); 1818 int WINAPI GetBoxMappingHRCRESULT(HRCRESULT,UINT,UINT,UINT *); 1819 int WINAPI GetBoxResultsHRC(HRC,UINT,UINT,UINT,LPBOXRESULTS,WINBOOL); 1820 int WINAPI GetGuideHRC(HRC,LPGUIDE,UINT *); 1821 int WINAPI GetHotspotsHRCRESULT(HRCRESULT,UINT,LPPOINT,UINT); 1822 HREC WINAPI GetHRECFromHRC(HRC); 1823 int WINAPI GetInternationalHRC(HRC,UINT *,LPSTR,UINT *,UINT *); 1824 int WINAPI GetMaxResultsHRC(HRC); 1825 int WINAPI GetResultsHRC(HRC,UINT,LPHRCRESULT,UINT); 1826 int WINAPI GetSymbolCountHRCRESULT(HRCRESULT); 1827 int WINAPI GetSymbolsHRCRESULT(HRCRESULT,UINT,LPSYV,UINT); 1828 int WINAPI GetWordlistHRC(HRC,LPHWL); 1829 int WINAPI GetWordlistCoercionHRC(HRC); 1830 int WINAPI ProcessHRC(HRC,DWORD); 1831 int WINAPI ReadHWL(HWL,HFILE); 1832 int WINAPI SetAlphabetHRC(HRC,ALC,LPBYTE); 1833 int WINAPI SetAlphabetPriorityHRC(HRC,ALC,LPBYTE); 1834 int WINAPI SetBoxAlphabetHRC(HRC,LPALC,UINT); 1835 int WINAPI SetGuideHRC(HRC,LPGUIDE,UINT); 1836 int WINAPI SetInternationalHRC(HRC,UINT,LPCSTR,UINT,UINT); 1837 int WINAPI SetMaxResultsHRC(HRC,UINT); 1838 HRECHOOK WINAPI SetResultsHookHREC(HREC,HRCRESULTHOOKPROC); 1839 int WINAPI SetWordlistCoercionHRC(HRC,UINT); 1840 int WINAPI SetWordlistHRC(HRC,HWL); 1841 int WINAPI TrainHREC(HREC,LPSYV,UINT,HPENDATA,UINT); 1842 int WINAPI UnhookResultsHookHREC(HREC,HRECHOOK); 1843 int WINAPI WriteHWL(HWL,HFILE); 1844 HREC WINAPI InstallRecognizer(LPSTR); 1845 VOID WINAPI UninstallRecognizer(HREC); 1846 WINBOOL WINAPI AddInksetInterval(HINKSET,LPINTERVAL); 1847 HINKSET WINAPI CreateInkset(UINT); 1848 WINBOOL WINAPI DestroyInkset(HINKSET); 1849 int WINAPI GetInksetInterval(HINKSET,UINT,LPINTERVAL); 1850 int WINAPI GetInksetIntervalCount(HINKSET); 1851 int WINAPI CharacterToSymbol(LPSTR,int,LPSYV); 1852 WINBOOL WINAPI SymbolToCharacter(LPSYV,int,LPSTR,LPINT); 1853 #endif 1854 1855 #ifndef NOPENINKPUT 1856 int WINAPI DoDefaultPenInput(HWND,UINT); 1857 int WINAPI GetPenInput(HPCM,LPPOINT,LPVOID,UINT,UINT,LPSTROKEINFO); 1858 int WINAPI PeekPenInput(HPCM,UINT,LPPOINT,LPVOID,UINT); 1859 int WINAPI StartInking(HPCM,UINT,LPINKINGINFO); 1860 HPCM WINAPI StartPenInput(HWND,UINT,LPPCMINFO,LPINT); 1861 int WINAPI StopInking(HPCM); 1862 int WINAPI StopPenInput(HPCM,UINT,int); 1863 #endif 1864 1865 #ifndef NOPENMISC 1866 VOID WINAPI BoundingRectFromPoints(LPPOINT,UINT,LPRECT); 1867 WINBOOL WINAPI DPtoTP(LPPOINT,int); 1868 UINT WINAPI GetPenAppFlags(VOID); 1869 VOID WINAPI SetPenAppFlags(UINT,UINT); 1870 LONG WINAPI GetPenMiscInfo(WPARAM,LPARAM); 1871 UINT WINAPI GetVersionPenWin(VOID); 1872 LONG WINAPI SetPenMiscInfo(WPARAM,LPARAM); 1873 WINBOOL WINAPI TPtoDP(LPPOINT,int); 1874 WINBOOL WINAPI CorrectWriting(HWND,LPSTR,UINT,LPVOID,DWORD,DWORD); 1875 #ifdef JAPAN 1876 int WINAPI CorrectWritingEx(HWND,LPSTR,UINT,LPCWX); 1877 #endif 1878 #ifdef JAPAN 1879 HANDLE WINAPI GetPenResource(WPARAM); 1880 #endif 1881 #endif 1882 1883 #ifndef NOPENRC1 1884 VOID WINAPI EmulatePen(WINBOOL); 1885 UINT WINAPI EnumSymbols(LPSYG,UINT,ENUMPROC,LPVOID); 1886 WINBOOL WINAPI ExecuteGesture(HWND,SYV,LPRCRESULT); 1887 VOID WINAPI FirstSymbolFromGraph(LPSYG,LPSYV,int,LPINT); 1888 UINT WINAPI GetGlobalRC(LPRC,LPSTR,LPSTR,int); 1889 int WINAPI GetSymbolCount(LPSYG); 1890 int WINAPI GetSymbolMaxLength(LPSYG); 1891 VOID WINAPI InitRC(HWND,LPRC); 1892 REC WINAPI ProcessWriting(HWND,LPRC); 1893 REC WINAPI Recognize(LPRC); 1894 REC WINAPI RecognizeData(LPRC,HPENDATA); 1895 UINT WINAPI SetGlobalRC(LPRC,LPSTR,LPSTR); 1896 WINBOOL WINAPI SetRecogHook(UINT,UINT,HWND); 1897 WINBOOL WINAPI TrainContext(LPRCRESULT,LPSYE,int,LPSYC,int); 1898 WINBOOL WINAPI TrainInk(LPRC,HPENDATA,LPSYV); 1899 1900 VOID WINAPI CloseRecognizer(VOID); 1901 UINT WINAPI ConfigRecognizer(UINT,WPARAM,LPARAM); 1902 WINBOOL WINAPI InitRecognizer(LPRC); 1903 REC WINAPI RecognizeDataInternal(LPRC,HPENDATA,LPFUNCRESULTS); 1904 REC WINAPI RecognizeInternal(LPRC,LPFUNCRESULTS); 1905 WINBOOL WINAPI TrainContextInternal(LPRCRESULT,LPSYE,int,LPSYC,int); 1906 WINBOOL WINAPI TrainInkInternal(LPRC,HPENDATA,LPSYV); 1907 #endif 1908 1909 #ifndef NOPENTARGET 1910 int WINAPI TargetPoints(LPTARGINFO,LPPOINT,DWORD,UINT,LPSTROKEINFO); 1911 #endif 1912 1913 #ifndef NOPENVIRTEVENT 1914 1915 VOID WINAPI AtomicVirtualEvent(WINBOOL); 1916 VOID WINAPI PostVirtualKeyEvent(UINT,WINBOOL); 1917 VOID WINAPI PostVirtualMouseEvent(UINT,int,int); 1918 #endif 1919 1920 #ifdef JAPAN 1921 WINBOOL WINAPI KKConvert(HWND hwndConvert,HWND hwndCaller,LPSTR lpBuf,UINT cbBuf,LPPOINT lpPnt); 1922 #endif 1923 #endif 1924 1925 #ifdef __cplusplus 1926 } 1927 #endif 1928 1929 #endif 1930