ReactOS 0.4.16-dev-1541-g7e1d9ef
range.h
Go to the documentation of this file.
1#pragma once
2
3DEFINE_GUID(IID_PRIV_CRANGE, 0xB68832F0, 0x34B9, 0x11D3, 0xA7, 0x45, 0x00, 0x50, 0x04, 0x0A, 0xB4, 0x07);
4
5class CRange
6 : public ITfRangeACP
7 , public ITfRangeAnchor
8 , public ITfSource
9{
10public:
11 CRange(
13 _In_ TfAnchor anchorStart,
14 _In_ TfAnchor anchorEnd);
15 virtual ~CRange();
16
17 static HRESULT TF_SELECTION_to_TS_SELECTION_ACP(const TF_SELECTION *tf, TS_SELECTION_ACP *tsAcp);
18
19 // ** IUnknown methods **
20 STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj) override;
23
24 // ** ITfRange methods **
28 _Out_ WCHAR *pchText,
30 _Out_ ULONG *pcch) override;
34 _In_ const WCHAR *pchText,
35 _In_ LONG cch) override;
38 _Out_ IDataObject **ppDataObject) override;
41 _In_ REFGUID rguidService,
43 _Out_ IUnknown **ppunk) override;
47 _In_ IDataObject *pDataObject) override;
50 _In_ LONG cchReq,
51 _Out_ LONG *pcch,
52 _In_ const TF_HALTCOND *pHalt) override;
55 _In_ LONG cchReq,
56 _Out_ LONG *pcch,
57 _In_ const TF_HALTCOND *pHalt) override;
60 _In_ ITfRange *pRange,
61 _In_ TfAnchor aPos) override;
64 _In_ ITfRange *pRange,
65 _In_ TfAnchor aPos) override;
69 _Out_ BOOL *pfNoRegion) override;
73 _Out_ BOOL *pfNoRegion) override;
74 STDMETHODIMP IsEmpty(_In_ TfEditCookie ec, _Out_ BOOL *pfEmpty) override;
78 _In_ ITfRange *pWith,
79 _In_ TfAnchor aPos,
80 _Out_ BOOL *pfEqual) override;
83 _In_ ITfRange *pWith,
84 _In_ TfAnchor aPos,
85 _Out_ BOOL *pfEqual) override;
88 _In_ ITfRange *pWith,
89 _In_ TfAnchor aPos,
90 _Out_ LONG *plResult) override;
93 _In_ ITfRange *pWith,
94 _In_ TfAnchor aPos,
95 _Out_ LONG *plResult) override;
98 _In_ ULONG cchInsert,
99 _Out_ BOOL *pfInsertOk) override;
100 STDMETHODIMP GetGravity(_Out_ TfGravity *pgStart, _Out_ TfGravity *pgEnd) override;
103 _In_ TfGravity gStart,
104 _In_ TfGravity gEnd) override;
105 STDMETHODIMP Clone(_Out_ ITfRange **ppClone) override;
106 STDMETHODIMP GetContext(_Out_ ITfContext **ppContext) override;
107
108 // ** ITfRangeACP methods **
109 STDMETHODIMP GetExtent(_Out_ LONG *pacpAnchor, _Out_ LONG *pcch) override;
110 STDMETHODIMP SetExtent(_In_ LONG acpAnchor, _In_ LONG cch) override;
111
112 // ** ITfRangeAnchor methods **
113 STDMETHODIMP GetExtent(_Out_ IAnchor **ppStart, _Out_ IAnchor **ppEnd) override;
114 STDMETHODIMP SetExtent(_In_ IAnchor *pAnchorStart, _In_ IAnchor *pAnchorEnd) override;
115
116 // ** ITfSource methods **
117 STDMETHODIMP AdviseSink(_In_ REFIID riid, _In_ IUnknown *punk, _Out_ DWORD *pdwCookie) override;
118 STDMETHODIMP UnadviseSink(_In_ DWORD dwCookie) override;
119
120protected:
127
128 CRange *_Clone();
129
130 HRESULT _IsEqualX(TfEditCookie ec, BOOL bEnd, ITfRange *pWith, TfAnchor aPos, BOOL *pfEqual);
131
133 TfEditCookie ec,
134 BOOL bEnd,
135 ITfRange *pWidth,
136 TfAnchor aPos,
137 LONG *plResult);
138};
UINT cchMax
unsigned int dir
Definition: maze.c:112
#define STDMETHODIMP
Definition: basetyps.h:43
Definition: range.h:9
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj) override
Definition: range.cpp:77
CRange * _Clone()
Definition: range.cpp:38
STDMETHODIMP Clone(_Out_ ITfRange **ppClone) override
Definition: range.cpp:305
STDMETHODIMP ShiftStart(_In_ TfEditCookie ec, _In_ LONG cchReq, _Out_ LONG *pcch, _In_ const TF_HALTCOND *pHalt) override
Definition: range.cpp:167
LONG m_cRefs
Definition: range.h:121
STDMETHODIMP Collapse(_In_ TfEditCookie ec, _In_ TfAnchor aPos) override
Definition: range.cpp:231
STDMETHODIMP SetGravity(_In_ TfEditCookie ec, _In_ TfGravity gStart, _In_ TfGravity gEnd) override
Definition: range.cpp:296
STDMETHODIMP GetContext(_Out_ ITfContext **ppContext) override
Definition: range.cpp:321
STDMETHODIMP CompareEnd(_In_ TfEditCookie ec, _In_ ITfRange *pWith, _In_ TfAnchor aPos, _Out_ LONG *plResult) override
Definition: range.cpp:269
STDMETHODIMP ShiftEnd(_In_ TfEditCookie ec, _In_ LONG cchReq, _Out_ LONG *pcch, _In_ const TF_HALTCOND *pHalt) override
Definition: range.cpp:177
STDMETHODIMP ShiftEndToRange(_In_ TfEditCookie ec, _In_ ITfRange *pRange, _In_ TfAnchor aPos) override
Definition: range.cpp:196
STDMETHODIMP UnadviseSink(_In_ DWORD dwCookie) override
Definition: range.cpp:361
STDMETHODIMP ShiftEndRegion(_In_ TfEditCookie ec, _In_ TfShiftDir dir, _Out_ BOOL *pfNoRegion) override
Definition: range.cpp:214
STDMETHODIMP SetExtent(_In_ LONG acpAnchor, _In_ LONG cch) override
Definition: range.cpp:334
STDMETHODIMP_(ULONG) Release() override
STDMETHODIMP CompareStart(_In_ TfEditCookie ec, _In_ ITfRange *pWith, _In_ TfAnchor aPos, _Out_ LONG *plResult) override
Definition: range.cpp:259
DWORD m_dwLockType
Definition: range.h:123
static HRESULT TF_SELECTION_to_TS_SELECTION_ACP(const TF_SELECTION *tf, TS_SELECTION_ACP *tsAcp)
Definition: range.cpp:61
STDMETHODIMP ShiftStartRegion(_In_ TfEditCookie ec, _In_ TfShiftDir dir, _Out_ BOOL *pfNoRegion) override
Definition: range.cpp:205
STDMETHODIMP GetFormattedText(_In_ TfEditCookie ec, _Out_ IDataObject **ppDataObject) override
Definition: range.cpp:140
STDMETHODIMP ShiftStartToRange(_In_ TfEditCookie ec, _In_ ITfRange *pRange, _In_ TfAnchor aPos) override
Definition: range.cpp:187
STDMETHODIMP GetEmbedded(_In_ TfEditCookie ec, _In_ REFGUID rguidService, _In_ REFIID riid, _Out_ IUnknown **ppunk) override
Definition: range.cpp:148
STDMETHODIMP_(ULONG) AddRef() override
HRESULT _CompareX(TfEditCookie ec, BOOL bEnd, ITfRange *pWidth, TfAnchor aPos, LONG *plResult)
Definition: range.cpp:51
TfAnchor m_anchorStart
Definition: range.h:124
STDMETHODIMP GetGravity(_Out_ TfGravity *pgStart, _Out_ TfGravity *pgEnd) override
Definition: range.cpp:288
STDMETHODIMP IsEqualEnd(_In_ TfEditCookie ec, _In_ ITfRange *pWith, _In_ TfAnchor aPos, _Out_ BOOL *pfEqual) override
Definition: range.cpp:249
STDMETHODIMP InsertEmbedded(_In_ TfEditCookie ec, _In_ DWORD dwFlags, _In_ IDataObject *pDataObject) override
Definition: range.cpp:158
HRESULT _IsEqualX(TfEditCookie ec, BOOL bEnd, ITfRange *pWith, TfAnchor aPos, BOOL *pfEqual)
Definition: range.cpp:46
STDMETHODIMP IsEqualStart(_In_ TfEditCookie ec, _In_ ITfRange *pWith, _In_ TfAnchor aPos, _Out_ BOOL *pfEqual) override
Definition: range.cpp:239
STDMETHODIMP GetText(_In_ TfEditCookie ec, _In_ DWORD dwFlags, _Out_ WCHAR *pchText, _In_ ULONG cchMax, _Out_ ULONG *pcch) override
Definition: range.cpp:119
DWORD m_dwCookie
Definition: range.h:126
ITfContext * m_context
Definition: range.h:122
STDMETHODIMP SetText(_In_ TfEditCookie ec, _In_ DWORD dwFlags, _In_ const WCHAR *pchText, _In_ LONG cch) override
Definition: range.cpp:130
virtual ~CRange()
Definition: range.cpp:31
STDMETHODIMP GetExtent(_Out_ LONG *pacpAnchor, _Out_ LONG *pcch) override
Definition: range.cpp:328
STDMETHODIMP AdjustForInsert(_In_ TfEditCookie ec, _In_ ULONG cchInsert, _Out_ BOOL *pfInsertOk) override
Definition: range.cpp:279
TfAnchor m_anchorEnd
Definition: range.h:125
@ IsEmpty
Definition: atl_ax.c:995
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
HFONT tf
Definition: icontest.c:17
REFIID riid
Definition: atlbase.h:39
ULONG AddRef()
ULONG Release()
LPCWSTR LPCWSTR LPCWSTR DWORD dwFlags
Definition: env.c:37
static DWORD DWORD void LPSTR DWORD cch
Definition: str.c:202
static IAdviseSinkEx AdviseSink
Definition: htmldoc.c:5184
TfAnchor
Definition: msctf.idl:153
DWORD TfEditCookie
Definition: msctf.idl:86
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
long LONG
Definition: pedump.c:60
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
#define REFIID
Definition: guiddef.h:118
Definition: scsiwmi.h:51
Definition: http.c:7252
uint32_t ULONG
Definition: typedefs.h:59
__wchar_t WCHAR
Definition: xmlstorage.h:180