105 return IUnknown_QueryInterface(
services->outer_unk, iid,
obj );
111 return IUnknown_AddRef(
services->outer_unk );
117 return IUnknown_Release(
services->outer_unk );
165 TRACE(
"%p: aspect %d, %d, %p, %p, draw %p, target %p, bounds %s, mf_bounds %s, update %s, %p, %d, view %d\n",
169 if (aspect != DVASPECT_CONTENT || aspect_info || td ||
target || mf_bounds || continue_fn )
170 FIXME(
"Many arguments are ignored\n" );
201 if (min_pos) *min_pos =
services->editor->horz_si.nMin;
202 if (max_pos) *max_pos =
services->editor->horz_si.nMax;
215 if (min_pos) *min_pos =
services->editor->vert_si.nMin;
216 if (max_pos) *max_pos =
services->editor->vert_si.nMax;
225 void *aspect_info, DVTARGETDEVICE *td,
HDC draw,
230 TRACE(
"%p: %d, %d, %p, %p, draw %p target %p client %s pos (%d, %d)\n",
services, aspect,
index, aspect_info, td, draw,
233 if (aspect != DVASPECT_CONTENT ||
index || aspect_info || td || draw ||
target ||
client)
234 FIXME(
"Ignoring most params\n" );
243 void *pvAspect, DVTARGETDEVICE *
ptd,
HDC hdcDraw,
266 services->editor->in_place_active = old_active;
371 TRACE(
"%p: aspect %d, draw %p, target %p, td %p, mode %08x, extent %s, *width %d, *height %d\n",
services,
375 FIXME(
"Many arguments are ignored\n" );
434 services->editor->scrollbars = scrollbars;
464 else services->editor->password_char = 0;
482#ifdef __ASM_USE_THISCALL_WRAPPER
484#define STDCALL(func) (void *) __stdcall_ ## func
486#define DEFINE_STDCALL_WRAPPER(num,func) \
487 __declspec(naked) HRESULT __stdcall_##func(void) \
492 __asm mov eax, [ecx] \
493 __asm jmp dword ptr [eax + 4*num] \
496#define DEFINE_STDCALL_WRAPPER(num,func) \
497 extern HRESULT __stdcall_ ## func(void); \
498 __ASM_GLOBAL_FUNC(__stdcall_ ## func, \
502 "movl (%ecx), %eax\n\t" \
503 "jmp *(4*(" #num "))(%eax)" )
525const ITextServicesVtbl text_services_stdcall_vtbl =
581 TRACE(
"%p %p --> %p\n", outer, text_host, unk );
594 if (outer)
services->outer_unk = outer;
#define InterlockedIncrement
#define InterlockedDecrement
static const char * wine_dbgstr_point(const POINT *ppt)
static const char * wine_dbgstr_rect(const RECT *prc)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_init(struct list_entry *head)
_In_ size_t const _In_ int _In_ bool const _In_ unsigned const _In_ __acrt_rounding_mode const _Inout_ __crt_cached_ptd_host & ptd
HRESULT WINAPI OleFlushClipboard(void)
void ME_SetCursorToStart(ME_TextEditor *editor, ME_Cursor *cursor)
void ME_InsertTextFromCursor(ME_TextEditor *editor, int nCursor, const WCHAR *str, int len, ME_Style *style)
BOOL ME_InternalDeleteText(ME_TextEditor *editor, ME_Cursor *start, int nChars, BOOL bForce)
int set_selection_cursors(ME_TextEditor *editor, int from, int to)
int ME_GetTextLength(ME_TextEditor *editor)
ME_TextEditor * ME_MakeEditor(ITextHost *texthost, BOOL bEmulateVersion10)
void editor_set_cursor(ME_TextEditor *editor, int x, int y)
int ME_GetTextW(ME_TextEditor *editor, WCHAR *buffer, int buflen, const ME_Cursor *start, int srcChars, BOOL bCRLF, BOOL bEOP)
LRESULT editor_handle_message(ME_TextEditor *editor, UINT msg, WPARAM wParam, LPARAM lParam, HRESULT *phresult)
void ME_DestroyEditor(ME_TextEditor *editor)
void link_notify(ME_TextEditor *editor, UINT msg, WPARAM wParam, LPARAM lParam)
const IRichEditOleVtbl re_ole_vtbl
const ITextDocument2OldVtbl text_doc2old_vtbl
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_OnTxPropertyBitsChange(ITextServices *iface, DWORD mask, DWORD bits)
static ULONG WINAPI ITextServicesImpl_Release(IUnknown *iface)
static const IUnknownVtbl textservices_inner_vtbl
HRESULT create_text_services(IUnknown *outer, ITextHost *text_host, IUnknown **unk, BOOL emulate_10)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetHScroll(ITextServices *iface, LONG *min_pos, LONG *max_pos, LONG *pos, LONG *page, BOOL *enabled)
static ULONG WINAPI ITextServicesImpl_AddRef(IUnknown *iface)
static ULONG WINAPI fnTextSrv_Release(ITextServices *iface)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetVScroll(ITextServices *iface, LONG *min_pos, LONG *max_pos, LONG *pos, LONG *page, BOOL *enabled)
static HRESULT WINAPI ITextServicesImpl_QueryInterface(IUnknown *iface, REFIID iid, void **obj)
static HRESULT WINAPI fnTextSrv_QueryInterface(ITextServices *iface, REFIID iid, void **obj)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetNaturalSize(ITextServices *iface, DWORD aspect, HDC draw, HDC target, DVTARGETDEVICE *td, DWORD mode, const SIZEL *extent, LONG *width, LONG *height)
static ULONG WINAPI fnTextSrv_AddRef(ITextServices *iface)
static const ITextServicesVtbl textservices_vtbl
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxDraw(ITextServices *iface, DWORD aspect, LONG index, void *aspect_info, DVTARGETDEVICE *td, HDC draw, HDC target, const RECTL *bounds, const RECTL *mf_bounds, RECT *update, BOOL(CALLBACK *continue_fn)(DWORD), DWORD continue_param, LONG view_id)
HRESULT WINAPI CreateTextServices(IUnknown *outer, ITextHost *text_host, IUnknown **unk)
static struct text_services * impl_from_ITextServices(ITextServices *iface)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_OnTxSetCursor(ITextServices *iface, DWORD aspect, LONG index, void *aspect_info, DVTARGETDEVICE *td, HDC draw, HDC target, const RECT *client, INT x, INT y)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetDropTarget(ITextServices *iface, IDropTarget **ppDropTarget)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_OnTxInPlaceActivate(ITextServices *iface, const RECT *client)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxQueryHitPoint(ITextServices *iface, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcDraw, HDC hicTargetDev, LPCRECT lprcClient, INT x, INT y, DWORD *pHitResult)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetBaseLinePos(ITextServices *iface, LONG *x)
static struct text_services * impl_from_IUnknown(IUnknown *iface)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxSetText(ITextServices *iface, const WCHAR *text)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetCachedSize(ITextServices *iface, DWORD *pdwWidth, DWORD *pdwHeight)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_OnTxUIActivate(ITextServices *iface)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_OnTxInPlaceDeactivate(ITextServices *iface)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_OnTxUIDeactivate(ITextServices *iface)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxSendMessage(ITextServices *iface, UINT msg, WPARAM wparam, LPARAM lparam, LRESULT *result)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetText(ITextServices *iface, BSTR *text)
static HRESULT update_client_rect(struct text_services *services, const RECT *client)
DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetCurTargetX(ITextServices *iface, LONG *x)
#define ITextHost_TxShowScrollBar(This, a, b)
#define ITextServices_TxSetText(This, a)
void editor_draw(ME_TextEditor *editor, HDC hDC, const RECT *update) DECLSPEC_HIDDEN
#define ITextServices_TxDraw(This, a, b, c, d, e, f, g, h, i, j, k, l)
#define ITextHost_TxInvalidateRect(This, a, b)
BOOL wrap_marked_paras_dc(ME_TextEditor *editor, HDC hdc, BOOL invalidate) DECLSPEC_HIDDEN
#define ITextServices_TxGetCachedSize(This, a, b)
void editor_mark_rewrap_all(ME_TextEditor *editor) DECLSPEC_HIDDEN
#define ITextServices_TxGetCurTargetX(This, a)
#define ITextServices_OnTxInPlaceDeactivate(This)
void cursor_from_char_ofs(ME_TextEditor *editor, int char_ofs, ME_Cursor *cursor) DECLSPEC_HIDDEN
#define ITextServices_OnTxUIActivate(This)
void ME_EmptyUndoStack(ME_TextEditor *editor) DECLSPEC_HIDDEN
#define ITextServices_TxQueryHitPoint(This, a, b, c, d, e, f, g, h, i, j)
#define ITextServices_OnTxUIDeactivate(This)
#define ITextServices_TxSendMessage(This, a, b, c, d)
#define ITextHost_TxNotify(This, a, b)
#define ITextServices_OnTxInPlaceActivate(This, a)
#define ITextHost_TxGetClientRect(This, a)
void richole_release_children(struct text_services *services) DECLSPEC_HIDDEN
#define ITextHost_TxGetDC(This)
void ME_InvalidateSelection(ME_TextEditor *editor) DECLSPEC_HIDDEN
#define ITextServices_TxGetHScroll(This, a, b, c, d, e)
#define ITextHost_TxGetScrollBars(This, a)
void ME_UpdateRepaint(ME_TextEditor *editor, BOOL update_now) DECLSPEC_HIDDEN
#define ITextHost_TxGetSelectionBarWidth(This, a)
void ME_RewrapRepaint(ME_TextEditor *editor) DECLSPEC_HIDDEN
#define ITextHost_TxGetPasswordChar(This, a)
#define ITextHost_TxReleaseDC(This, a)
#define ITextServices_TxGetDropTarget(This, a)
#define ITextServices_TxGetVScroll(This, a, b, c, d, e)
#define ITextServices_TxGetBaseLinePos(This, a)
#define ITextServices_OnTxPropertyBitsChange(This, a, b)
#define ITextServices_TxGetText(This, a)
#define ITextServices_TxGetNaturalSize(This, a, b, c, d, e, f, g, h)
#define ITextServices_OnTxSetCursor(This, a, b, c, d, e, f, g, h, i)
#define SELECTIONBAR_WIDTH
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
GLuint GLsizei GLsizei * length
VOID WINAPI CoTaskMemFree(LPVOID ptr)
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
#define DEFINE_THISCALL_WRAPPER(func, args)
BSTR WINAPI DECLSPEC_HOTPATCH SysAllocStringByteLen(LPCSTR str, UINT len)
#define IsEqualIID(riid1, riid2)
ITextServices ITextServices_iface
EXTERN_C const IID IID_ITextServices
#define TXTBIT_CLIENTRECTCHANGE
#define TXTBIT_SCROLLBARCHANGE
#define TXTBIT_USEPASSWORD
#define TXTBIT_HIDESELECTION
#define TXTBIT_SELBARCHANGE
#define CONTAINING_RECORD(address, type, field)
BOOL WINAPI EqualRect(_In_ LPCRECT, _In_ LPCRECT)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)