af062818b47340eef15700d2f0211576ba3506eevboxsync/*
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright (C) 2005 Mike McCormack
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync/*
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * a choice of LGPL license versions is made available with the language indicating
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * of the LGPL is applied is otherwise unspecified.
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync */
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifndef _TEXTSERV_H
af062818b47340eef15700d2f0211576ba3506eevboxsync#define _TEXTSERV_H
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef __cplusplus
af062818b47340eef15700d2f0211576ba3506eevboxsyncextern "C" {
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncDEFINE_GUID(IID_ITextServices,0x8d33f740,0xcf58,0x11ce,0xa8,0x9d,0x00,0xaa,0x00,0x6c,0xad,0xc5);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDEFINE_GUID(IID_ITextHost, 0xc5bdd8d0,0xd26e,0x11ce,0xa8,0x9e,0x00,0xaa,0x00,0x6c,0xad,0xc5);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDEFINE_GUID(IID_ITextHost2, 0xc5bdd8d0,0xd26e,0x11ce,0xa8,0x9e,0x00,0xaa,0x00,0x6c,0xad,0xc5);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * ITextServices interface
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync#define INTERFACE ITextServices
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_INTERFACE_(ITextServices,IUnknown)
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync /*** IUnknown methods ***/
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(QueryInterface)(THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync REFIID riid,
af062818b47340eef15700d2f0211576ba3506eevboxsync void** ppvObject) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(ULONG,AddRef)(THIS) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(ULONG,Release)(THIS) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync /*** ITextServices methods ***/
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxSendMessage)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync UINT msg, WPARAM wparam, LPARAM lparam, LRESULT* plresult) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxDraw)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwDrawAspect,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG lindex,
af062818b47340eef15700d2f0211576ba3506eevboxsync void* pvAspect,
af062818b47340eef15700d2f0211576ba3506eevboxsync DVTARGETDEVICE* ptd,
af062818b47340eef15700d2f0211576ba3506eevboxsync HDC hdcDraw,
af062818b47340eef15700d2f0211576ba3506eevboxsync HDC hicTargetDev,
af062818b47340eef15700d2f0211576ba3506eevboxsync LPCRECTL lprcBounds,
af062818b47340eef15700d2f0211576ba3506eevboxsync LPCRECTL lprcWBounds,
af062818b47340eef15700d2f0211576ba3506eevboxsync LPRECT lprcUpdate,
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL (CALLBACK * pfnContinue)(DWORD),
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwContinue,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG lViewId) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetHScroll)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* plMin,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* plMax,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* plPos,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* plPage,
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL* pfEnabled) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetVScroll)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* plMin,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* plMax,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* plPos,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* plPage,
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL* pfEnabled) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(OnTxSetCursor)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwDrawAspect,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG lindex,
af062818b47340eef15700d2f0211576ba3506eevboxsync void* pvAspect,
af062818b47340eef15700d2f0211576ba3506eevboxsync DVTARGETDEVICE* ptd,
af062818b47340eef15700d2f0211576ba3506eevboxsync HDC hdcDraw,
af062818b47340eef15700d2f0211576ba3506eevboxsync HDC hicTargetDev,
af062818b47340eef15700d2f0211576ba3506eevboxsync LPCRECT lprcClient,
af062818b47340eef15700d2f0211576ba3506eevboxsync INT x,
af062818b47340eef15700d2f0211576ba3506eevboxsync INT y) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxQueryHitPoint)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwDrawAspect,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG lindex,
af062818b47340eef15700d2f0211576ba3506eevboxsync void* pvAspect,
af062818b47340eef15700d2f0211576ba3506eevboxsync DVTARGETDEVICE* ptd,
af062818b47340eef15700d2f0211576ba3506eevboxsync HDC hdcDraw,
af062818b47340eef15700d2f0211576ba3506eevboxsync HDC hicTargetDev,
af062818b47340eef15700d2f0211576ba3506eevboxsync LPCRECT lprcClient,
af062818b47340eef15700d2f0211576ba3506eevboxsync INT x,
af062818b47340eef15700d2f0211576ba3506eevboxsync INT y,
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD* pHitResult) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(OnTxInplaceActivate)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LPCRECT prcClient) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(OnTxInplaceDeactivate)( THIS ) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(OnTxUIActivate)( THIS ) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(OnTxUIDeactivate)( THIS ) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetText)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync BSTR* pbstrText) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxSetText)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LPCWSTR pszText) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetCurrentTargetX)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* x) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetBaseLinePos)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* x) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetNaturalSize)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwAspect,
af062818b47340eef15700d2f0211576ba3506eevboxsync HDC hdcDraw,
af062818b47340eef15700d2f0211576ba3506eevboxsync HDC hicTargetDev,
af062818b47340eef15700d2f0211576ba3506eevboxsync DVTARGETDEVICE* ptd,
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwMode,
af062818b47340eef15700d2f0211576ba3506eevboxsync const SIZEL* psizelExtent,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* pwidth,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* pheight) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetDropTarget)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync IDropTarget** ppDropTarget) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(OnTxPropertyBitsChange)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwMask,
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwBits) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetCachedSize)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD* pdwWidth,
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD* pdwHeight) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync};
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef COBJMACROS
af062818b47340eef15700d2f0211576ba3506eevboxsync/*** IUnknown methods ***/
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ITextServices_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ITextServices_AddRef(p) (p)->lpVtbl->AddRef(p)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ITextServices_Release(p) (p)->lpVtbl->Release(p)
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#undef INTERFACE
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum _TXTBACKSTYLE {
af062818b47340eef15700d2f0211576ba3506eevboxsync TXTBACK_TRANSPARENT = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync TXTBACK_OPAQUE
af062818b47340eef15700d2f0211576ba3506eevboxsync} TXTBACKSTYLE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncenum TXTHITRESULT {
af062818b47340eef15700d2f0211576ba3506eevboxsync TXTHITRESULT_NOHIT = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync TXTHITRESULT_TRANSPARENT = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync TXTHITRESULT_CLOSE = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync TXTHITRESULT_HIT = 3
af062818b47340eef15700d2f0211576ba3506eevboxsync};
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncenum TXTNATURALSIZE {
af062818b47340eef15700d2f0211576ba3506eevboxsync TXTNS_FITTOCONTENT = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync TXTNS_ROUNDTOLINE = 2
af062818b47340eef15700d2f0211576ba3506eevboxsync};
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncenum TXTVIEW {
af062818b47340eef15700d2f0211576ba3506eevboxsync TXTVIEW_ACTIVE = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync TXTVIEW_INACTIVE = 1
af062818b47340eef15700d2f0211576ba3506eevboxsync};
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_RICHTEXT 0x000001
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_MULTILINE 0x000002
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_READONLY 0x000004
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_SHOWACCELERATOR 0x000008
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_USEPASSWORD 0x000010
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_HIDESELECTION 0x000020
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_SAVESELECTION 0x000040
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_AUTOWORDSEL 0x000080
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_VERTICAL 0x000100
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_SELBARCHANGE 0x000200
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_WORDWRAP 0x000400
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_ALLOWBEEP 0x000800
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_DISABLEDRAG 0x001000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_VIEWINSETCHANGE 0x002000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_BACKSTYLECHANGE 0x004000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_MAXLENGTHCHANGE 0x008000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_SCROLLBARCHANGE 0x010000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_CHARFORMATCHANGE 0x020000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_PARAFORMATCHANGE 0x040000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_EXTENTCHANGE 0x080000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_CLIENTRECTCHANGE 0x100000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define TXTBIT_USECURRENTBKG 0x200000
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * ITextHost interface
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync#define INTERFACE ITextHost
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECLARE_INTERFACE_(ITextHost,IUnknown)
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync /*** IUnknown methods ***/
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(QueryInterface)(THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync REFIID riid,
af062818b47340eef15700d2f0211576ba3506eevboxsync void** ppvObject) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(ULONG,AddRef)(THIS) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(ULONG,Release)(THIS) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync /*** ITextHost methods ***/
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(HDC,TxGetDC)( THIS
af062818b47340eef15700d2f0211576ba3506eevboxsync ) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(INT,TxReleaseDC)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync HDC hdc) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(BOOL,TxShowScrollBar)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync INT fnBar,
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fShow) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(BOOL,TxEnableScrollBar)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync INT fuSBFlags,
af062818b47340eef15700d2f0211576ba3506eevboxsync INT fuArrowflags) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(BOOL,TxSetScrollRange)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync INT fnBar,
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG nMinPos,
af062818b47340eef15700d2f0211576ba3506eevboxsync INT nMaxPos,
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fRedraw) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(BOOL,TxSetScrollPos)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync INT fnBar,
af062818b47340eef15700d2f0211576ba3506eevboxsync INT nPos,
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fRedraw) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(void,TxInvalidateRect)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LPCRECT prc,
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fMode) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(void,TxViewChange)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fUpdate) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(BOOL,TxCreateCaret)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync HBITMAP hbmp,
af062818b47340eef15700d2f0211576ba3506eevboxsync INT xWidth,
af062818b47340eef15700d2f0211576ba3506eevboxsync INT yHeight) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(BOOL,TxShowCaret)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fShow) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(BOOL,TxSetCaretPos)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync INT x,
af062818b47340eef15700d2f0211576ba3506eevboxsync INT y) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(BOOL,TxSetTimer)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync UINT idTimer,
af062818b47340eef15700d2f0211576ba3506eevboxsync UINT uTimeout) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(void,TxKillTimer)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync UINT idTimer) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(void,TxScrollWindowEx)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync INT dx,
af062818b47340eef15700d2f0211576ba3506eevboxsync INT dy,
af062818b47340eef15700d2f0211576ba3506eevboxsync LPCRECT lprcScroll,
af062818b47340eef15700d2f0211576ba3506eevboxsync LPCRECT lprcClip,
af062818b47340eef15700d2f0211576ba3506eevboxsync HRGN hRgnUpdate,
af062818b47340eef15700d2f0211576ba3506eevboxsync LPRECT lprcUpdate,
af062818b47340eef15700d2f0211576ba3506eevboxsync UINT fuScroll) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(void,TxSetCapture)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fCapture) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(void,TxSetFocus)( THIS
af062818b47340eef15700d2f0211576ba3506eevboxsync ) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(void,TxSetCursor)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync HCURSOR hcur,
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL fText) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(BOOL,TxScreenToClient)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LPPOINT lppt) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(BOOL,TxClientToScreen)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LPPOINT lppt) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxActivate)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* plOldState) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxDeactivate)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG lNewState) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetClientRect)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LPRECT prc) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetViewInset)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LPRECT prc) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetCharFormat)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync const CHARFORMATW** ppCF) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetParaFormat)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync const PARAFORMAT** ppPF) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(COLORREF,TxGetSysColor)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync int nIndex) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetBackStyle)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync TXTBACKSTYLE* pStyle) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetMaxLength)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD* plength) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync STDMETHOD(TxGetScrollBars)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD* pdwScrollBar) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetPasswordChar)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync WCHAR* pch) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetAcceleratorPos)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* pch) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetExtent)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSIZEL lpExtent) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(OnTxCharFormatChange)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync const CHARFORMATW* pcf) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(OnTxParaFormatChange)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync const PARAFORMAT* ppf) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetPropertyBits)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD dwMask,
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD* pdwBits) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxNotify)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD iNotify,
af062818b47340eef15700d2f0211576ba3506eevboxsync void* pv) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(HIMC,TxImmGetContext)( THIS
af062818b47340eef15700d2f0211576ba3506eevboxsync ) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD_(void,TxImmReleaseContext)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync HIMC himc) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync STDMETHOD(TxGetSelectionBarWidth)( THIS_
af062818b47340eef15700d2f0211576ba3506eevboxsync LONG* lSelBarWidth) PURE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync};
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef COBJMACROS
af062818b47340eef15700d2f0211576ba3506eevboxsync/*** IUnknown methods ***/
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ITextHost_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ITextHost_AddRef(p) (p)->lpVtbl->AddRef(p)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ITextHost_Release(p) (p)->lpVtbl->Release(p)
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#undef INTERFACE
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncHRESULT WINAPI CreateTextServices(IUnknown*,ITextHost*,IUnknown**);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef HRESULT (WINAPI *PCreateTextServices)(IUnknown*,ITextHost*,IUnknown**);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef __cplusplus
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif /* _TEXTSERV_H */