[1166] | 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 _TEXTSERV_H
|
---|
| 7 | #define _TEXTSERV_H
|
---|
| 8 |
|
---|
| 9 | EXTERN_C const IID IID_ITextServices;
|
---|
| 10 | EXTERN_C const IID IID_ITextHost;
|
---|
| 11 |
|
---|
| 12 | #define S_MSG_KEY_IGNORED MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x201)
|
---|
| 13 |
|
---|
| 14 | enum TXTBACKSTYLE {
|
---|
| 15 | TXTBACK_TRANSPARENT = 0,TXTBACK_OPAQUE
|
---|
| 16 | };
|
---|
| 17 |
|
---|
| 18 | enum TXTHITRESULT {
|
---|
| 19 | TXTHITRESULT_NOHIT = 0,TXTHITRESULT_TRANSPARENT = 1,TXTHITRESULT_CLOSE = 2,TXTHITRESULT_HIT = 3
|
---|
| 20 | };
|
---|
| 21 |
|
---|
| 22 | enum TXTNATURALSIZE {
|
---|
| 23 | TXTNS_FITTOCONTENT = 1,TXTNS_ROUNDTOLINE = 2
|
---|
| 24 | };
|
---|
| 25 |
|
---|
| 26 | enum TXTVIEW {
|
---|
| 27 | TXTVIEW_ACTIVE = 0,TXTVIEW_INACTIVE = -1
|
---|
| 28 | };
|
---|
| 29 |
|
---|
| 30 | enum CHANGETYPE {
|
---|
| 31 | CN_GENERIC = 0,CN_TEXTCHANGED = 1,CN_NEWUNDO = 2,CN_NEWREDO = 4
|
---|
| 32 | };
|
---|
| 33 |
|
---|
| 34 | struct CHANGENOTIFY {
|
---|
| 35 | DWORD dwChangeType;
|
---|
| 36 | void *pvCookieData;
|
---|
| 37 | };
|
---|
| 38 |
|
---|
| 39 | #define TXTBIT_RICHTEXT 1
|
---|
| 40 | #define TXTBIT_MULTILINE 2
|
---|
| 41 | #define TXTBIT_READONLY 4
|
---|
| 42 | #define TXTBIT_SHOWACCELERATOR 8
|
---|
| 43 | #define TXTBIT_USEPASSWORD 0x10
|
---|
| 44 | #define TXTBIT_HIDESELECTION 0x20
|
---|
| 45 | #define TXTBIT_SAVESELECTION 0x40
|
---|
| 46 | #define TXTBIT_AUTOWORDSEL 0x80
|
---|
| 47 | #define TXTBIT_VERTICAL 0x100
|
---|
| 48 | #define TXTBIT_SELBARCHANGE 0x200
|
---|
| 49 |
|
---|
| 50 | #define TXTBIT_WORDWRAP 0x400
|
---|
| 51 |
|
---|
| 52 | #define TXTBIT_ALLOWBEEP 0x800
|
---|
| 53 | #define TXTBIT_DISABLEDRAG 0x1000
|
---|
| 54 | #define TXTBIT_VIEWINSETCHANGE 0x2000
|
---|
| 55 | #define TXTBIT_BACKSTYLECHANGE 0x4000
|
---|
| 56 | #define TXTBIT_MAXLENGTHCHANGE 0x8000
|
---|
| 57 | #define TXTBIT_SCROLLBARCHANGE 0x10000
|
---|
| 58 | #define TXTBIT_CHARFORMATCHANGE 0x20000
|
---|
| 59 | #define TXTBIT_PARAFORMATCHANGE 0x40000
|
---|
| 60 | #define TXTBIT_EXTENTCHANGE 0x80000
|
---|
| 61 | #define TXTBIT_CLIENTRECTCHANGE 0x100000
|
---|
| 62 | #define TXTBIT_USECURRENTBKG 0x200000
|
---|
| 63 |
|
---|
| 64 | class ITextServices : public IUnknown {
|
---|
| 65 | public:
|
---|
| 66 | virtual HRESULT TxSendMessage(UINT msg,WPARAM wparam,LPARAM lparam,LRESULT *plresult) = 0;
|
---|
| 67 | virtual HRESULT TxDraw(DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcDraw,HDC hicTargetDev,LPCRECTL lprcBounds,LPCRECTL lprcWBounds,LPRECT lprcUpdate,WINBOOL (CALLBACK *pfnContinue) (DWORD),DWORD dwContinue,LONG lViewId) = 0;
|
---|
| 68 | virtual HRESULT TxGetHScroll(LONG *plMin,LONG *plMax,LONG *plPos,LONG *plPage,WINBOOL *pfEnabled) = 0;
|
---|
| 69 | virtual HRESULT TxGetVScroll(LONG *plMin,LONG *plMax,LONG *plPos,LONG *plPage,WINBOOL *pfEnabled) = 0;
|
---|
| 70 | virtual HRESULT OnTxSetCursor(DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcDraw,HDC hicTargetDev,LPCRECT lprcClient,INT x,INT y) = 0;
|
---|
| 71 | virtual HRESULT TxQueryHitPoint(DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcDraw,HDC hicTargetDev,LPCRECT lprcClient,INT x,INT y,DWORD *pHitResult) = 0;
|
---|
| 72 | virtual HRESULT OnTxInPlaceActivate(LPCRECT prcClient) = 0;
|
---|
| 73 | virtual HRESULT OnTxInPlaceDeactivate() = 0;
|
---|
| 74 | virtual HRESULT OnTxUIActivate() = 0;
|
---|
| 75 | virtual HRESULT OnTxUIDeactivate() = 0;
|
---|
| 76 | virtual HRESULT TxGetText(BSTR *pbstrText) = 0;
|
---|
| 77 | virtual HRESULT TxSetText(LPCWSTR pszText) = 0;
|
---|
| 78 | virtual HRESULT TxGetCurTargetX(LONG *) = 0;
|
---|
| 79 | virtual HRESULT TxGetBaseLinePos(LONG *) = 0;
|
---|
| 80 | virtual HRESULT TxGetNaturalSize(DWORD dwAspect,HDC hdcDraw,HDC hicTargetDev,DVTARGETDEVICE *ptd,DWORD dwMode,const SIZEL *psizelExtent,LONG *pwidth,LONG *pheight) = 0;
|
---|
| 81 | virtual HRESULT TxGetDropTarget(IDropTarget **ppDropTarget) = 0;
|
---|
| 82 | virtual HRESULT OnTxPropertyBitsChange(DWORD dwMask,DWORD dwBits) = 0;
|
---|
| 83 | virtual HRESULT TxGetCachedSize(DWORD *pdwWidth,DWORD *pdwHeight)=0;
|
---|
| 84 | };
|
---|
| 85 |
|
---|
| 86 | class ITextHost : public IUnknown {
|
---|
| 87 | public:
|
---|
| 88 | virtual HDC TxGetDC() = 0;
|
---|
| 89 | virtual INT TxReleaseDC(HDC hdc) = 0;
|
---|
| 90 | virtual WINBOOL TxShowScrollBar(INT fnBar,WINBOOL fShow) = 0;
|
---|
| 91 | virtual WINBOOL TxEnableScrollBar (INT fuSBFlags,INT fuArrowflags) = 0;
|
---|
| 92 | virtual WINBOOL TxSetScrollRange(INT fnBar,LONG nMinPos,INT nMaxPos,WINBOOL fRedraw) = 0;
|
---|
| 93 | virtual WINBOOL TxSetScrollPos (INT fnBar,INT nPos,WINBOOL fRedraw) = 0;
|
---|
| 94 | virtual void TxInvalidateRect(LPCRECT prc,WINBOOL fMode) = 0;
|
---|
| 95 | virtual void TxViewChange(WINBOOL fUpdate) = 0;
|
---|
| 96 | virtual WINBOOL TxCreateCaret(HBITMAP hbmp,INT xWidth,INT yHeight) = 0;
|
---|
| 97 | virtual WINBOOL TxShowCaret(WINBOOL fShow) = 0;
|
---|
| 98 | virtual WINBOOL TxSetCaretPos(INT x,INT y) = 0;
|
---|
| 99 | virtual WINBOOL TxSetTimer(UINT idTimer,UINT uTimeout) = 0;
|
---|
| 100 | virtual void TxKillTimer(UINT idTimer) = 0;
|
---|
| 101 | virtual void TxScrollWindowEx (INT dx,INT dy,LPCRECT lprcScroll,LPCRECT lprcClip,HRGN hrgnUpdate,LPRECT lprcUpdate,UINT fuScroll) = 0;
|
---|
| 102 | virtual void TxSetCapture(WINBOOL fCapture) = 0;
|
---|
| 103 | virtual void TxSetFocus() = 0;
|
---|
| 104 | virtual void TxSetCursor(HCURSOR hcur,WINBOOL fText) = 0;
|
---|
| 105 | virtual WINBOOL TxScreenToClient (LPPOINT lppt) = 0;
|
---|
| 106 | virtual WINBOOL TxClientToScreen (LPPOINT lppt) = 0;
|
---|
| 107 | virtual HRESULT TxActivate(LONG *plOldState) = 0;
|
---|
| 108 | virtual HRESULT TxDeactivate(LONG lNewState) = 0;
|
---|
| 109 | virtual HRESULT TxGetClientRect(LPRECT prc) = 0;
|
---|
| 110 | virtual HRESULT TxGetViewInset(LPRECT prc) = 0;
|
---|
| 111 | virtual HRESULT TxGetCharFormat(const CHARFORMATW **ppCF) = 0;
|
---|
| 112 | virtual HRESULT TxGetParaFormat(const PARAFORMAT **ppPF) = 0;
|
---|
| 113 | virtual COLORREF TxGetSysColor(int nIndex) = 0;
|
---|
| 114 | virtual HRESULT TxGetBackStyle(TXTBACKSTYLE *pstyle) = 0;
|
---|
| 115 | virtual HRESULT TxGetMaxLength(DWORD *plength) = 0;
|
---|
| 116 | virtual HRESULT TxGetScrollBars(DWORD *pdwScrollBar) = 0;
|
---|
| 117 | virtual HRESULT TxGetPasswordChar(TCHAR *pch) = 0;
|
---|
| 118 | virtual HRESULT TxGetAcceleratorPos(LONG *pcp) = 0;
|
---|
| 119 | virtual HRESULT TxGetExtent(LPSIZEL lpExtent) = 0;
|
---|
| 120 | virtual HRESULT OnTxCharFormatChange (const CHARFORMATW *pcf) = 0;
|
---|
| 121 | virtual HRESULT OnTxParaFormatChange (const PARAFORMAT *ppf) = 0;
|
---|
| 122 | virtual HRESULT TxGetPropertyBits(DWORD dwMask,DWORD *pdwBits) = 0;
|
---|
| 123 | virtual HRESULT TxNotify(DWORD iNotify,void *pv) = 0;
|
---|
| 124 | virtual HIMC TxImmGetContext() = 0;
|
---|
| 125 | virtual void TxImmReleaseContext(HIMC himc) = 0;
|
---|
| 126 | virtual HRESULT TxGetSelectionBarWidth (LONG *lSelBarWidth) = 0;
|
---|
| 127 | };
|
---|
| 128 |
|
---|
| 129 | STDAPI CreateTextServices(IUnknown *punkOuter,ITextHost *pITextHost,IUnknown **ppUnk);
|
---|
| 130 | typedef HRESULT (WINAPI *PCreateTextServices)(IUnknown *punkOuter,ITextHost *pITextHost,IUnknown **ppUnk);
|
---|
| 131 | #endif
|
---|