| 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 |