|
|
|
1 |
|
/****************************************************************************\ |
2 |
|
* * |
3 |
|
* PENWIN.H - Pen Windows functions, types, and definitions * |
4 |
|
* * |
5 |
|
* Version 2.0 * |
6 |
|
* * |
7 |
|
* Copyright (c) 1992-1999 Microsoft Corp. All rights reserved. * |
8 |
|
* * |
9 |
|
******************************************************************************* |
10 |
|
* |
11 |
|
* The following symbols control inclusion of various parts of this file; |
12 |
|
* (indented identifiers are included by the previous main identifier): |
13 |
|
* |
14 |
|
* #define: To prevent inclusion of: |
15 |
|
* |
16 |
|
* PENVER Pen Windows version number (0x0200). To exclude |
17 |
|
* definitions introduced in version 2.0 (or above) |
18 |
|
* #define PENVER 0x0100 before #including <penwin.h> |
19 |
|
* |
20 |
|
* NOJAPAN JAPAN-specific code |
21 |
|
* NOPENALC Alphabet Code definitions and macros |
22 |
|
* NOPENAPPS Pen Applications: Screen Keyboard |
23 |
|
* NOPENCTL H/BEDIT, IEDIT, and pen-enabled USER controls, including: |
24 |
|
* NOPENBEDIT : Boxed Edit Control |
25 |
|
* NOPENIEDIT : Ink Edit Control |
26 |
|
* NOPENHEDIT : (H)Edit control |
27 |
|
* NOPENDATA PenData APIs and definitions |
28 |
|
* NOPENDICT Dictionary support |
29 |
|
* NOPENDRIVER Pen Driver definitions, incl OEM |
30 |
|
* NOPENHRC Handwriting Recognizer APIs and definitions |
31 |
|
* NOPENINKPUT Inking and Input APIs and definitions |
32 |
|
* NOPENMISC Miscellaneous Info and Utility APIs and definitions |
33 |
|
* NOPENMSGS Pen Messages and definitions |
34 |
|
* NOPENNLS National Language Support |
35 |
|
* NOPENRC1 Recognition Context APIs and definitions (1.0) |
36 |
|
* NOPENRES Pen resources, including: |
37 |
|
* NOPENBMP : Pen-related bitmaps |
38 |
|
* NOPENCURS : Pen-related cursors |
39 |
|
* NOPENTARGET Targeting APIs and definitions |
40 |
|
* NOPENVIRTEVENT Virtual Event layer APIs |
41 |
|
* |
42 |
|
* _WIN32 non-Win32 components, subincludes: |
43 |
|
* : NOPENAPPS, NOPENDICT, NOPENRC1, NOPENVIRTEVENT |
44 |
|
* |
45 |
|
* "FBC" in the comments means that the feature exists only for |
46 |
|
* backward compatibility. It should not be used by new applications. |
47 |
|
\****************************************************************************/ |
48 |
|
|
49 |
|
#ifndef _INC_PENWIN |
50 |
|
#define _INC_PENWIN |
1650 |
|
|| (syv)==SYV_CLEARWORD \ |
1651 |
|
|| (syv)==SYV_KKCONVERT \ |
1652 |
|
|| (syv)==SYV_USER \ |
1653 |
|
|| (syv)==SYV_CORRECT \ |
1654 |
|
) |
1655 |
|
|
1656 |
|
#define FIsAnsiGesture(syv) \ |
1657 |
|
( \ |
1658 |
|
(syv) == SYV_BACKSPACE \ |
1659 |
|
|| (syv) == SYV_TAB \ |
1660 |
|
|| (syv) == SYV_RETURN \ |
1661 |
|
|| (syv) == SYV_SPACE \ |
1662 |
|
) |
1663 |
|
|
1664 |
|
#endif /*!NOPENHRC */ |
1665 |
|
|
1666 |
|
//--------------------------------------------------------------------------- |
1667 |
|
#ifndef NOPENINKPUT |
1668 |
|
|
1669 |
|
#define SubPenMsgFromWpLp(wp, lp) (LOWORD(wp)) |
1670 |
|
#ifdef _WIN32 |
1671 |
|
#define EventRefFromWpLp(wp, lp) (HIWORD(wp)) |
1672 |
|
#define TerminationFromWpLp(wp, lp) ((int)HIWORD(wp)) |
1673 |
|
#define HpcmFromWpLp(wp, lp) ((HPCM)(lp)) |
1674 |
|
#else |
1675 |
|
#define EventRefFromWpLp(wp, lp) (LOWORD(lp)) |
1676 |
|
#define TerminationFromWpLp(wp, lp) ((int)LOWORD(lp)) |
1677 |
|
#define HpcmFromWpLp(wp, lp) ((HPCM)HIWORD(lp)) |
1678 |
|
#endif //_WIN32 |
1679 |
|
|
1680 |
|
#endif /*!NOPENINKPUT*/ |
1681 |
|
|
1682 |
|
//--------------------------------------------------------------------------- |
1683 |
|
#ifndef NOPENTARGET |
1684 |
|
#define HwndFromHtrg(htrg) ((HWND)(DWORD)(htrg)) |
1685 |
|
#define HtrgFromHwnd(hwnd) ((HTRG)(UINT)(hwnd)) |
1686 |
|
#endif /*!NOPENTARGET*/ |
1687 |
|
|
1688 |
|
////////////////////////////////////////////////////////////////////////////// |
1689 |
|
/****** Typedefs ************************************************************/ |
1690 |
|
|
1691 |
|
// Simple: |
1692 |
|
typedef LONG ALC; // Enabled Alphabet |
1693 |
|
typedef int CL; // Confidence Level |
1694 |
|
typedef UINT HKP; // Hook Parameter |
1695 |
|
typedef int REC; // recognition result |
1696 |
|
typedef LONG SYV; // Symbol Value |
1697 |
|
|
1698 |
|
#ifndef DECLARE_HANDLE32 |
1699 |
|
#define DECLARE_HANDLE32(name)\ |
1700 |
|
struct name##__ { int unused; };\ |
1701 |
|
typedef const struct name##__ FAR* name |
1702 |
|
#endif //!DECLARE_HANDLE32 |
1703 |
|
|
1704 |
|
DECLARE_HANDLE32(HTRG); // Handle to target |
1705 |
|
DECLARE_HANDLE(HPCM); // Handle to Pen Collection Info |
1706 |
|
DECLARE_HANDLE(HPENDATA); // handle to ink |
1707 |
|
DECLARE_HANDLE(HREC); // handle to recognizer |
1708 |
|
|
1709 |
|
// Pointer Types: |
1710 |
|
typedef ALC FAR* LPALC; // ptr to ALC |
1711 |
|
typedef LPVOID LPOEM; // alias |
1712 |
|
typedef SYV FAR* LPSYV; // ptr to SYV |
1713 |
|
typedef HPENDATA FAR* LPHPENDATA; // ptr to HPENDATA |
1714 |
|
|
1715 |
|
// Function Prototypes: |
1716 |
|
typedef int (CALLBACK *ENUMPROC)(LPSYV, int, VOID FAR*); |
1717 |
|
typedef int (CALLBACK *LPDF)(int, LPVOID, LPVOID, int, DWORD, DWORD); |
1718 |
|
typedef BOOL (CALLBACK *RCYIELDPROC)(VOID); |
1719 |
|
|
1720 |
|
// Structures: |
1721 |
|
|
1722 |
|
typedef struct tagABSTIME // 2.0 absolute date/time |
1723 |
|
{ |
1724 |
|
DWORD sec; // number of seconds since 1/1/1970, ret by CRTlib time() fn |
1725 |
|
UINT ms; // additional offset in ms, 0..999 |
1726 |
|
} |
1727 |
|
ABSTIME, FAR *LPABSTIME; |
1728 |
|
|
1729 |
|
//--------------------------------------------------------------------------- |
1730 |
|
#ifndef NOPENHEDIT |
1731 |
|
|
1732 |
|
typedef struct tagCTLINITHEDIT // 2.0 init struct for (h)edit |
1733 |
|
{ |
1734 |
|
DWORD cbSize; // sizeof(CTLINITHEDIT) |
1735 |
|
HWND hwnd; // (h)edit window handle |
1736 |
|
int id; // its id |
1737 |
|
DWORD dwFlags; // CIE_xx |
1738 |
|
DWORD dwReserved; // for future use |
1739 |
|
} |
1740 |
|
CTLINITHEDIT, FAR *LPCTLINITHEDIT; |
1741 |
|
#endif /* !NOPENHEDIT */ |
1742 |
|
|
1743 |
|
//--------------------------------------------------------------------------- |
1744 |
|
#ifndef NOPENBEDIT |
1745 |
|
|
1746 |
|
typedef struct tagBOXLAYOUT // 1.0 box edit layout |
1747 |
|
{ |
1748 |
|
int cyCusp; // pixel height of box (BXS_RECT) or cusp |
1749 |
|
int cyEndCusp; // pixel height of cusps at extreme ends |
2423 |
|
BOOL WINAPI InitRecognizer(LPRC); |
2424 |
|
REC WINAPI RecognizeDataInternal(LPRC, HPENDATA, LPFUNCRESULTS); |
2425 |
|
REC WINAPI RecognizeInternal(LPRC, LPFUNCRESULTS); |
2426 |
|
BOOL WINAPI TrainContextInternal(LPRCRESULT, LPSYE, int, LPSYC, int); |
2427 |
|
BOOL WINAPI TrainInkInternal(LPRC, HPENDATA, LPSYV); |
2428 |
|
#endif /*!NOPENRC1 */ |
2429 |
|
|
2430 |
|
//--------------------------------------------------------------------------- |
2431 |
|
#ifndef NOPENTARGET |
2432 |
|
|
2433 |
|
// Ink Targeting: |
2434 |
|
int WINAPI TargetPoints(LPTARGINFO, LPPOINT, DWORD, UINT, LPSTROKEINFO); |
2435 |
|
|
2436 |
|
#endif /*!NOPENTARGET */ |
2437 |
|
|
2438 |
|
//--------------------------------------------------------------------------- |
2439 |
|
#ifndef NOPENVIRTEVENT |
2440 |
|
|
2441 |
|
// Virtual Event Layer: |
2442 |
|
VOID WINAPI AtomicVirtualEvent(BOOL); |
2443 |
|
VOID WINAPI PostVirtualKeyEvent(UINT, BOOL); |
2444 |
|
VOID WINAPI PostVirtualMouseEvent(UINT, int, int); |
2445 |
|
#endif /*!NOPENVIRTEVENT */ |
2446 |
|
|
2447 |
|
//--------------------------------------------------------------------------- |
2448 |
|
|
2449 |
|
#ifdef JAPAN |
2450 |
|
// Kanji |
2451 |
|
BOOL WINAPI KKConvert(HWND hwndConvert, HWND hwndCaller, |
2452 |
|
LPSTR lpBuf, UINT cbBuf, LPPOINT lpPnt); |
2453 |
|
|
2454 |
|
#endif // JAPAN |
2455 |
|
|
2456 |
|
#endif /* RC_INVOKED */ // ... all the way back from definitions:3 |
2457 |
|
|
2458 |
|
/****** End of Header Info *************************************************/ |
2459 |
|
|
2460 |
|
#ifdef __cplusplus |
2461 |
|
} |
2462 |
|
#endif /* __cplusplus */ |
2463 |
|
|
2464 |
|
#ifndef _WIN32 |
2465 |
|
#ifndef RC_INVOKED |
2466 |
|
#pragma pack() |
2467 |
|
#endif /* RC_INVOKED */ |
2468 |
|
#endif //!_WIN32 |
2469 |
|
|
2470 |
|
#endif /* #define _INC_PENWIN */ |
2471 |
|
|
|
|
|