29#define RUN_IS_HIDDEN(run) ((run)->style->fmt.dwMask & CFM_HIDDEN \
30 && (run)->style->fmt.dwEffects & CFE_HIDDEN)
32#define InitFormatEtc(fe, cf, med) \
35 (fe).dwAspect=DVASPECT_CONTENT;\
92#define CP_UNICODE 1200
100 return ch >
'\0' && ch <=
' ';
154 int startx,
int *pAscent,
int *pDescent);
234 const WCHAR *eol_str,
int eol_len,
int paraFlags );
325#ifdef __ASM_USE_THISCALL_WRAPPER
326extern const struct ITextHost2Vtbl text_host2_stdcall_vtbl;
327#define TXTHOST_VTABLE(This) (&text_host2_stdcall_vtbl)
329#define TXTHOST_VTABLE(This) (This)->lpVtbl
332#define ITextHost_TxGetDC(This) TXTHOST_VTABLE(This)->TxGetDC(This)
333#define ITextHost_TxReleaseDC(This,a) TXTHOST_VTABLE(This)->TxReleaseDC(This,a)
334#define ITextHost_TxShowScrollBar(This,a,b) TXTHOST_VTABLE(This)->TxShowScrollBar(This,a,b)
335#define ITextHost_TxEnableScrollBar(This,a,b) TXTHOST_VTABLE(This)->TxEnableScrollBar(This,a,b)
336#define ITextHost_TxSetScrollRange(This,a,b,c,d) TXTHOST_VTABLE(This)->TxSetScrollRange(This,a,b,c,d)
337#define ITextHost_TxSetScrollPos(This,a,b,c) TXTHOST_VTABLE(This)->TxSetScrollPos(This,a,b,c)
338#define ITextHost_TxInvalidateRect(This,a,b) TXTHOST_VTABLE(This)->TxInvalidateRect(This,a,b)
339#define ITextHost_TxViewChange(This,a) TXTHOST_VTABLE(This)->TxViewChange(This,a)
340#define ITextHost_TxCreateCaret(This,a,b,c) TXTHOST_VTABLE(This)->TxCreateCaret(This,a,b,c)
341#define ITextHost_TxShowCaret(This,a) TXTHOST_VTABLE(This)->TxShowCaret(This,a)
342#define ITextHost_TxSetCaretPos(This,a,b) TXTHOST_VTABLE(This)->TxSetCaretPos(This,a,b)
343#define ITextHost_TxSetTimer(This,a,b) TXTHOST_VTABLE(This)->TxSetTimer(This,a,b)
344#define ITextHost_TxKillTimer(This,a) TXTHOST_VTABLE(This)->TxKillTimer(This,a)
345#define ITextHost_TxScrollWindowEx(This,a,b,c,d,e,f,g) TXTHOST_VTABLE(This)->TxScrollWindowEx(This,a,b,c,d,e,f,g)
346#define ITextHost_TxSetCapture(This,a) TXTHOST_VTABLE(This)->TxSetCapture(This,a)
347#define ITextHost_TxSetFocus(This) TXTHOST_VTABLE(This)->TxSetFocus(This)
348#define ITextHost_TxSetCursor(This,a,b) TXTHOST_VTABLE(This)->TxSetCursor(This,a,b)
349#define ITextHost_TxScreenToClient(This,a) TXTHOST_VTABLE(This)->TxScreenToClient(This,a)
350#define ITextHost_TxClientToScreen(This,a) TXTHOST_VTABLE(This)->TxClientToScreen(This,a)
351#define ITextHost_TxActivate(This,a) TXTHOST_VTABLE(This)->TxActivate(This,a)
352#define ITextHost_TxDeactivate(This,a) TXTHOST_VTABLE(This)->TxDeactivate(This,a)
353#define ITextHost_TxGetClientRect(This,a) TXTHOST_VTABLE(This)->TxGetClientRect(This,a)
354#define ITextHost_TxGetViewInset(This,a) TXTHOST_VTABLE(This)->TxGetViewInset(This,a)
355#define ITextHost_TxGetCharFormat(This,a) TXTHOST_VTABLE(This)->TxGetCharFormat(This,a)
356#define ITextHost_TxGetParaFormat(This,a) TXTHOST_VTABLE(This)->TxGetParaFormat(This,a)
357#define ITextHost_TxGetSysColor(This,a) TXTHOST_VTABLE(This)->TxGetSysColor(This,a)
358#define ITextHost_TxGetBackStyle(This,a) TXTHOST_VTABLE(This)->TxGetBackStyle(This,a)
359#define ITextHost_TxGetMaxLength(This,a) TXTHOST_VTABLE(This)->TxGetMaxLength(This,a)
360#define ITextHost_TxGetScrollBars(This,a) TXTHOST_VTABLE(This)->TxGetScrollBars(This,a)
361#define ITextHost_TxGetPasswordChar(This,a) TXTHOST_VTABLE(This)->TxGetPasswordChar(This,a)
362#define ITextHost_TxGetAcceleratorPos(This,a) TXTHOST_VTABLE(This)->TxGetAcceleratorPos(This,a)
363#define ITextHost_TxGetExtent(This,a) TXTHOST_VTABLE(This)->TxGetExtent(This,a)
364#define ITextHost_OnTxCharFormatChange(This,a) TXTHOST_VTABLE(This)->OnTxCharFormatChange(This,a)
365#define ITextHost_OnTxParaFormatChange(This,a) TXTHOST_VTABLE(This)->OnTxParaFormatChange(This,a)
366#define ITextHost_TxGetPropertyBits(This,a,b) TXTHOST_VTABLE(This)->TxGetPropertyBits(This,a,b)
367#define ITextHost_TxNotify(This,a,b) TXTHOST_VTABLE(This)->TxNotify(This,a,b)
368#define ITextHost_TxImmGetContext(This) TXTHOST_VTABLE(This)->TxImmGetContext(This)
369#define ITextHost_TxImmReleaseContext(This,a) TXTHOST_VTABLE(This)->TxImmReleaseContext(This,a)
370#define ITextHost_TxGetSelectionBarWidth(This,a) TXTHOST_VTABLE(This)->TxGetSelectionBarWidth(This,a)
372#define ITextHost2_TxIsDoubleClickPending(This) TXTHOST_VTABLE(This)->TxIsDoubleClickPending(This)
373#define ITextHost2_TxGetWindow(This,a) TXTHOST_VTABLE(This)->TxGetWindow(This,a)
374#define ITextHost2_TxSetForegroundWindow(This) TXTHOST_VTABLE(This)->TxSetForegroundWindow(This)
375#define ITextHost2_TxGetPalette(This) TXTHOST_VTABLE(This)->TxGetPalette(This)
376#define ITextHost2_TxGetEastAsianFlags(This,a) TXTHOST_VTABLE(This)->TxGetEastAsianFlags(This,a)
377#define ITextHost2_TxSetCursor2(This,a,b) TXTHOST_VTABLE(This)->TxSetCursor2(This,a,b)
378#define ITextHost2_TxFreeTextServicesNotification(This) TXTHOST_VTABLE(This)->TxFreeTextServicesNotification(This)
379#define ITextHost2_TxGetEditStyle(This,a,b) TXTHOST_VTABLE(This)->TxGetEditStyle(This,a,b)
380#define ITextHost2_TxGetWindowStyles(This,a,b) TXTHOST_VTABLE(This)->TxGetWindowStyles(This,a,b)
381#define ITextHost2_TxShowDropCaret(This,a,b,c) TXTHOST_VTABLE(This)->TxShowDropCaret(This,a,b,c)
382#define ITextHost2_TxDestroyCaret(This) TXTHOST_VTABLE(This)->TxDestroyCaret(This)
383#define ITextHost2_TxGetHorzExtent(This,a) TXTHOST_VTABLE(This)->TxGetHorzExtent(This,a)
408#ifdef __ASM_USE_THISCALL_WRAPPER
409extern const struct ITextServicesVtbl text_services_stdcall_vtbl;
410#define TXTSERV_VTABLE(This) (&text_services_stdcall_vtbl)
412#define TXTSERV_VTABLE(This) (This)->lpVtbl
414#define ITextServices_TxSendMessage(This,a,b,c,d) TXTSERV_VTABLE(This)->TxSendMessage(This,a,b,c,d)
415#define ITextServices_TxDraw(This,a,b,c,d,e,f,g,h,i,j,k,l) TXTSERV_VTABLE(This)->TxDraw(This,a,b,c,d,e,f,g,h,i,j,k,l)
416#define ITextServices_TxGetHScroll(This,a,b,c,d,e) TXTSERV_VTABLE(This)->TxGetHScroll(This,a,b,c,d,e)
417#define ITextServices_TxGetVScroll(This,a,b,c,d,e) TXTSERV_VTABLE(This)->TxGetVScroll(This,a,b,c,d,e)
418#define ITextServices_OnTxSetCursor(This,a,b,c,d,e,f,g,h,i) TXTSERV_VTABLE(This)->OnTxSetCursor(This,a,b,c,d,e,f,g,h,i)
419#define ITextServices_TxQueryHitPoint(This,a,b,c,d,e,f,g,h,i,j) TXTSERV_VTABLE(This)->TxQueryHitPoint(This,a,b,c,d,e,f,g,h,i,j)
420#define ITextServices_OnTxInPlaceActivate(This,a) TXTSERV_VTABLE(This)->OnTxInPlaceActivate(This,a)
421#define ITextServices_OnTxInPlaceDeactivate(This) TXTSERV_VTABLE(This)->OnTxInPlaceDeactivate(This)
422#define ITextServices_OnTxUIActivate(This) TXTSERV_VTABLE(This)->OnTxUIActivate(This)
423#define ITextServices_OnTxUIDeactivate(This) TXTSERV_VTABLE(This)->OnTxUIDeactivate(This)
424#define ITextServices_TxGetText(This,a) TXTSERV_VTABLE(This)->TxGetText(This,a)
425#define ITextServices_TxSetText(This,a) TXTSERV_VTABLE(This)->TxSetText(This,a)
426#define ITextServices_TxGetCurTargetX(This,a) TXTSERV_VTABLE(This)->TxGetCurTargetX(This,a)
427#define ITextServices_TxGetBaseLinePos(This,a) TXTSERV_VTABLE(This)->TxGetBaseLinePos(This,a)
428#define ITextServices_TxGetNaturalSize(This,a,b,c,d,e,f,g,h) TXTSERV_VTABLE(This)->TxGetNaturalSize(This,a,b,c,d,e,f,g,h)
429#define ITextServices_TxGetDropTarget(This,a) TXTSERV_VTABLE(This)->TxGetDropTarget(This,a)
430#define ITextServices_OnTxPropertyBitsChange(This,a,b) TXTSERV_VTABLE(This)->OnTxPropertyBitsChange(This,a,b)
431#define ITextServices_TxGetCachedSize(This,a,b) TXTSERV_VTABLE(This)->TxGetCachedSize(This,a,b)
std::map< E_MODULE, HMODULE > mod
static char selected[MAX_PATH+1]
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
__kernel_ptrdiff_t ptrdiff_t
void ME_InvalidateSelection(ME_TextEditor *editor)
void ME_InsertEndRowFromCursor(ME_TextEditor *editor, int nCursor)
void ME_RewrapRepaint(ME_TextEditor *editor)
ME_Row * para_first_row(ME_Paragraph *para)
int ME_twips2pointsY(const ME_Context *c, int y)
ME_Run * run_next(ME_Run *run)
void ME_ScrollRight(ME_TextEditor *editor, int cx)
void ME_SetCursorToStart(ME_TextEditor *editor, ME_Cursor *cursor)
void editor_draw(ME_TextEditor *editor, HDC hDC, const RECT *update)
BOOL ME_DeleteTextAtCursor(ME_TextEditor *editor, int nCursor, int nChars)
BOOL ME_InsertString(ME_String *s, int ofs, const WCHAR *insert, int len)
void editor_get_selection_para_fmt(ME_TextEditor *editor, PARAFORMAT2 *fmt)
const IRichEditOleVtbl re_ole_vtbl
BOOL add_undo_delete_run(ME_TextEditor *, int pos, int len)
BOOL ME_IsSelection(ME_TextEditor *editor)
void ME_AddRefStyle(ME_Style *item)
void editor_set_default_para_fmt(ME_TextEditor *editor, PARAFORMAT2 *pFmt)
void table_handle_tab(ME_TextEditor *editor, BOOL selected_row)
void ME_DeleteSelection(ME_TextEditor *editor)
void ME_Remove(ME_DisplayItem *diWhere)
void ME_ScrollLeft(ME_TextEditor *editor, int cx)
HRESULT create_text_services(IUnknown *outer, ITextHost *text_host, IUnknown **unk, BOOL emulate_10)
void editor_disable_undo(ME_TextEditor *editor)
ME_Style * style_get_insert_style(ME_TextEditor *editor, ME_Cursor *cursor)
ME_Cell * table_row_end_cell(ME_Paragraph *para)
int ME_PointFromCharContext(ME_Context *c, ME_Run *pRun, int nOffset, BOOL visual_order)
void ME_ReplaceSel(ME_TextEditor *editor, BOOL can_undo, const WCHAR *str, int len)
static int ME_CharCompare(WCHAR a, WCHAR b, int caseSensitive)
ME_Paragraph * cell_first_para(ME_Cell *cell)
ME_Cell * cell_next(ME_Cell *cell)
int ME_ReverseFindWhitespaceV(const ME_String *s, int nVChar)
int ME_CharFromPointContext(ME_Context *c, int cx, ME_Run *run, BOOL closest, BOOL visual_order)
int ME_GetParaBorderWidth(const ME_Context *c, int flags)
void ME_SetCharFormat(ME_TextEditor *editor, ME_Cursor *start, ME_Cursor *end, CHARFORMAT2W *pFmt)
void ME_ReleaseStyle(ME_Style *item)
void ME_ContinueCoalescingTransaction(ME_TextEditor *editor)
BOOL ME_SetZoom(ME_TextEditor *editor, int numerator, int denominator)
void ME_DestroyString(ME_String *s)
void para_destroy(ME_TextEditor *editor, ME_Paragraph *item)
ME_Paragraph * editor_first_para(ME_TextEditor *editor)
void richole_release_children(struct text_services *services)
void ME_DumpParaStyle(ME_Paragraph *s)
int ME_GetCursorOfs(const ME_Cursor *cursor)
ME_Cell * cell_prev(ME_Cell *cell)
static BOOL editor_undo_ignored(ME_TextEditor *editor)
int run_char_ofs(ME_Run *run, int ofs)
void ME_RTFCharAttrHook(struct _RTF_Info *info)
BOOL cursor_next_run(ME_Cursor *cursor, BOOL all_para)
ME_DisplayItem * ME_FindItemBack(ME_DisplayItem *di, ME_DIType nTypeOrClass)
void ME_InsertTextFromCursor(ME_TextEditor *editor, int nCursor, const WCHAR *str, int len, ME_Style *style)
ME_Row * row_from_cursor(ME_Cursor *cursor)
void ME_UpdateScrollBar(ME_TextEditor *editor)
static ME_DisplayItem * para_get_di(ME_Paragraph *para)
int ME_MoveCursorChars(ME_TextEditor *editor, ME_Cursor *cursor, int nRelOfs, BOOL final_eop)
BOOL ME_AppendString(ME_String *s, const WCHAR *append, int len)
int row_number_from_char_ofs(ME_TextEditor *editor, int ofs)
int ME_ReverseFindNonWhitespaceV(const ME_String *s, int nVChar)
void editor_propagate_char_ofs(ME_TextEditor *editor, ME_Paragraph *para, ME_Run *run, int shift)
BOOL ME_MoveCursorWords(ME_TextEditor *editor, ME_Cursor *cursor, int nRelOfs)
ME_Run * run_create(ME_Style *s, int nFlags)
void ME_CommitUndo(ME_TextEditor *editor)
void ME_CommitCoalescingUndo(ME_TextEditor *editor)
ME_Paragraph * row_para(ME_Row *row)
void ME_LButtonDown(ME_TextEditor *editor, int x, int y, int clickNum)
void ME_EndToUnicode(LONG codepage, LPVOID psz)
ME_Row * para_end_row(ME_Paragraph *para)
void ME_Repaint(ME_TextEditor *editor)
BOOL cfany_to_cf2w(CHARFORMAT2W *to, const CHARFORMAT2W *from)
void ME_DumpStyle(ME_Style *s)
void ME_SaveTempStyle(ME_TextEditor *editor, ME_Style *style)
int ME_FindNonWhitespaceV(const ME_String *s, int nVChar)
ME_Run * run_insert(ME_TextEditor *editor, ME_Cursor *cursor, ME_Style *style, const WCHAR *str, int len, int flags)
ME_Run * run_prev(ME_Run *run)
int ME_GetTextLengthEx(ME_TextEditor *editor, const GETTEXTLENGTHEX *how)
void ME_CopyCharFormat(CHARFORMAT2W *pDest, const CHARFORMAT2W *pSrc)
void ME_RTFParAttrHook(struct _RTF_Info *info)
void ME_StreamInFill(ME_InStream *stream)
ME_Paragraph * para_split(ME_TextEditor *editor, ME_Run *run, ME_Style *style, const WCHAR *eol_str, int eol_len, int paraFlags)
void scroll_h_abs(ME_TextEditor *editor, int x, BOOL notify)
BOOL cursor_from_coords(ME_TextEditor *editor, int x, int y, ME_Cursor *cursor)
BOOL ME_Undo(ME_TextEditor *editor)
void ME_CopyReObject(REOBJECT *dst, const REOBJECT *src, DWORD flags)
BOOL ME_WrapMarkedParagraphs(ME_TextEditor *editor)
void para_num_init(ME_Context *c, ME_Paragraph *para)
ME_Style * ME_ApplyStyle(ME_TextEditor *ed, ME_Style *sSrc, CHARFORMAT2W *style)
void ME_DumpParaStyleToBuf(const PARAFORMAT2 *pFmt, char buf[2048])
void run_join(ME_TextEditor *editor, ME_Run *run)
ME_Paragraph * table_insert_row_end(ME_TextEditor *editor, ME_Cursor *cursor)
void row_first_cursor(ME_Row *row, ME_Cursor *cursor)
LRESULT ME_StreamOutRange(ME_TextEditor *editor, DWORD dwFormat, const ME_Cursor *start, int nChars, EDITSTREAM *stream)
ME_TextEditor * ME_MakeEditor(ITextHost *texthost, BOOL bEmulateVersion10)
int ME_GetSelection(ME_TextEditor *editor, ME_Cursor **from, ME_Cursor **to)
void para_mark_remove(ME_TextEditor *editor, ME_Paragraph *para)
void ME_DumpStyleToBuf(CHARFORMAT2W *pFmt, char buf[2048])
void ME_UpdateRepaint(ME_TextEditor *editor, BOOL update_now)
void ME_SendRequestResize(ME_TextEditor *editor, BOOL force)
ME_String * ME_MakeStringN(LPCWSTR szText, int nMaxChars)
BOOL ME_InternalDeleteText(ME_TextEditor *editor, ME_Cursor *start, int nChars, BOOL bForce)
void ME_UpdateRunFlags(ME_TextEditor *editor, ME_Run *run)
void draw_ole(ME_Context *c, int x, int y, ME_Run *run, BOOL selected)
int ME_twips2pointsX(const ME_Context *c, int x)
BOOL add_undo_join_paras(ME_TextEditor *, int pos)
ME_Run * para_end_run(ME_Paragraph *para)
void ME_ScrollDown(ME_TextEditor *editor, int cy)
void editor_enable_undo(ME_TextEditor *editor)
ME_Paragraph * table_outer_para(ME_Paragraph *para)
BOOL wrap_marked_paras_dc(ME_TextEditor *editor, HDC hdc, BOOL invalidate)
ME_String * ME_VSplitString(ME_String *orig, int nVPos)
BOOL add_undo_set_para_fmt(ME_TextEditor *, const ME_Paragraph *para)
ME_Cell * table_row_first_cell(ME_Paragraph *para)
ME_Style * ME_MakeStyle(CHARFORMAT2W *style)
ME_Paragraph * table_insert_row_start(ME_TextEditor *editor, ME_Cursor *cursor)
ME_Cell * para_cell(ME_Paragraph *para)
void ME_GetCharFormat(ME_TextEditor *editor, const ME_Cursor *from, const ME_Cursor *to, CHARFORMAT2W *pFmt)
static ME_DisplayItem * run_get_di(ME_Run *run)
ME_Paragraph * table_row_end(ME_Paragraph *para)
void ME_DumpDocument(ME_TextBuffer *buffer)
void para_num_clear(struct para_num *pn)
ME_Paragraph * table_insert_cell(ME_TextEditor *editor, ME_Cursor *cursor)
BOOL editor_set_selection_para_fmt(ME_TextEditor *editor, const PARAFORMAT2 *fmt)
void para_mark_add(ME_TextEditor *editor, ME_Paragraph *para)
void ME_InitCharFormat2W(CHARFORMAT2W *pFmt)
void update_caret(ME_TextEditor *ed)
ME_Paragraph * table_append_row(ME_TextEditor *editor, ME_Paragraph *table_row)
ME_Run * row_first_run(ME_Row *row)
void ME_MouseMove(ME_TextEditor *editor, int x, int y)
BOOL add_undo_split_para(ME_TextEditor *, const ME_Paragraph *para, ME_String *eol_str, const ME_Cell *cell)
HRESULT editor_copy_or_cut(ME_TextEditor *editor, BOOL cut, ME_Cursor *start, int count, IDataObject **data_out)
BOOL ME_Redo(ME_TextEditor *editor)
static ME_DisplayItem * cell_get_di(ME_Cell *cell)
ME_Paragraph * table_insert_row_start_at_para(ME_TextEditor *editor, ME_Paragraph *para)
HRESULT editor_insert_oleobj(ME_TextEditor *editor, const REOBJECT *reo)
static int ME_IsWSpace(WCHAR ch)
static ME_DisplayItem * row_get_di(ME_Row *row)
void editor_get_selection_paras(ME_TextEditor *editor, ME_Paragraph **para, ME_Paragraph **para_end)
ME_Run * run_prev_all_paras(ME_Run *run)
void ME_CharFormatFromLogFont(HDC hDC, const LOGFONTW *lf, CHARFORMAT2W *fmt)
void show_caret(ME_TextEditor *ed)
ME_Paragraph * para_join(ME_TextEditor *editor, ME_Paragraph *para, BOOL use_first_fmt)
void scroll_v_abs(ME_TextEditor *editor, int y, BOOL notify)
ME_Cell * cell_create(void)
ME_Row * row_prev_all_paras(ME_Row *row)
BOOL cf2w_to_cfany(CHARFORMAT2W *to, const CHARFORMAT2W *from)
ME_String * ME_MakeStringConst(const WCHAR *str, int len)
void table_protect_partial_deletion(ME_TextEditor *editor, ME_Cursor *c, int *num_chars)
void ME_GetOLEObjectSize(const ME_Context *c, ME_Run *run, SIZE *pSize)
void ME_SendSelChange(ME_TextEditor *editor)
BOOL para_in_table(ME_Paragraph *para)
int ME_PointFromChar(ME_TextEditor *editor, ME_Run *pRun, int nOffset, BOOL visual_order)
void editor_set_cursor(ME_TextEditor *editor, int x, int y)
int set_selection_cursors(ME_TextEditor *editor, int from, int to)
void release_typelib(void)
ME_DisplayItem * ME_FindItemFwd(ME_DisplayItem *di, ME_DIType nTypeOrClass)
ME_String * ME_MakeStringEmpty(int len)
const ITextDocument2OldVtbl text_doc2old_vtbl
void row_end_cursor(ME_Row *row, ME_Cursor *cursor, BOOL include_eop)
void cursor_coords(ME_TextEditor *editor, ME_Cursor *cursor, int *x, int *y, int *height)
int ME_GetSelectionOfs(ME_TextEditor *editor, LONG *from, LONG *to)
ME_Run * row_next_run(ME_Row *row, ME_Run *run)
void table_move_from_row_start(ME_TextEditor *editor)
SIZE ME_GetRunSizeCommon(ME_Context *c, const ME_Paragraph *para, ME_Run *run, int nLen, int startx, int *pAscent, int *pDescent)
LRESULT ME_StreamOut(ME_TextEditor *editor, DWORD dwFormat, EDITSTREAM *stream)
void ME_SetDefaultCharFormat(ME_TextEditor *editor, CHARFORMAT2W *mod)
void editor_mark_rewrap_all(ME_TextEditor *editor)
void ME_StrDeleteV(ME_String *s, int nVChar, int nChars)
void para_range_invalidate(ME_TextEditor *editor, ME_Paragraph *start_para, ME_Paragraph *last_para)
ME_Row * row_next_all_paras(ME_Row *row)
int ME_GetTextW(ME_TextEditor *editor, WCHAR *buffer, int buflen, const ME_Cursor *start, int srcChars, BOOL bCRLF, BOOL bEOP)
void ME_InsertBefore(ME_DisplayItem *diWhere, ME_DisplayItem *diWhat)
void para_mark_rewrap(ME_TextEditor *editor, ME_Paragraph *para)
void ME_MakeFirstParagraph(ME_TextEditor *editor, HDC hdc)
int get_total_width(ME_TextEditor *editor)
LRESULT editor_handle_message(ME_TextEditor *editor, UINT msg, WPARAM wParam, LPARAM lParam, HRESULT *phresult)
int ME_GetTextLength(ME_TextEditor *editor)
void ME_DestroyContext(ME_Context *c)
BOOL cursor_prev_run(ME_Cursor *cursor, BOOL all_para)
void select_style(ME_Context *c, ME_Style *s)
ME_Run * para_first_run(ME_Paragraph *para)
ME_DisplayItem * ME_FindItemBackOrHere(ME_DisplayItem *di, ME_DIType nTypeOrClass)
BOOL ME_CanJoinRuns(const ME_Run *run1, const ME_Run *run2)
ME_Paragraph * table_row_start(ME_Paragraph *para)
void cursor_from_char_ofs(ME_TextEditor *editor, int char_ofs, ME_Cursor *cursor)
void create_caret(ME_TextEditor *ed)
void ME_SetSelectionCharFormat(ME_TextEditor *editor, CHARFORMAT2W *pFmt)
ME_Paragraph * para_prev(ME_Paragraph *para)
void ME_DestroyEditor(ME_TextEditor *editor)
void ME_ClearTempStyle(ME_TextEditor *editor)
ME_Row * row_next(ME_Row *row)
ME_String * ME_MakeStringR(WCHAR cRepeat, int nMaxChars)
struct RTFTable * ME_MakeTableDef(ME_TextEditor *editor)
void ME_DeleteReObject(struct re_object *re_object)
void ME_InitContext(ME_Context *c, ME_TextEditor *editor, HDC hDC)
int ME_CallWordBreakProc(ME_TextEditor *editor, WCHAR *str, INT len, INT start, INT code)
void ME_ScrollUp(ME_TextEditor *editor, int cy)
BOOL add_undo_insert_run(ME_TextEditor *, int pos, const WCHAR *str, int len, int flags, ME_Style *style)
ME_Paragraph * cell_end_para(ME_Cell *cell)
void ME_EmptyUndoStack(ME_TextEditor *editor)
ME_Run * run_split(ME_TextEditor *editor, ME_Cursor *cursor)
static WCHAR * get_text(const ME_Run *run, int offset)
void ME_GetSelectionCharFormat(ME_TextEditor *editor, CHARFORMAT2W *pFmt)
void ME_RTFTblAttrHook(struct _RTF_Info *info)
void ME_DestroyDisplayItem(ME_DisplayItem *item)
void ME_RTFSpecialCharHook(struct _RTF_Info *info)
void ME_CheckCharOffsets(ME_TextEditor *editor)
void ME_InitTableDef(ME_TextEditor *editor, struct RTFTable *tableDef)
void hide_caret(ME_TextEditor *ed)
void scroll_abs(ME_TextEditor *editor, int x, int y, BOOL notify)
ME_Paragraph * para_next(ME_Paragraph *para)
void ME_DestroyStyle(ME_Style *item)
ME_Row * row_from_row_number(ME_TextEditor *editor, int row_num)
void link_notify(ME_TextEditor *editor, UINT msg, WPARAM wParam, LPARAM lParam)
ME_Paragraph * editor_end_para(ME_TextEditor *editor)
LPWSTR ME_ToUnicode(LONG codepage, LPVOID psz, INT *len)
HRESULT ME_GetDataObject(ME_TextEditor *editor, const ME_Cursor *start, int nChars, LPDATAOBJECT *lplpdataobj)
ME_Run * run_next_all_paras(ME_Run *run)
ME_Style * ME_GetSelectionInsertStyle(ME_TextEditor *editor)
void editor_ensure_visible(ME_TextEditor *editor, ME_Cursor *cursor)
int ME_CharFromPoint(ME_TextEditor *editor, int cx, ME_Run *run, BOOL closest, BOOL visual_order)
ME_DisplayItem * ME_MakeDI(ME_DIType type)
BOOL ME_ArrowKey(ME_TextEditor *ed, int nVKey, BOOL extend, BOOL ctrl)
BOOL add_undo_set_char_fmt(ME_TextEditor *, int pos, int len, const CHARFORMAT2W *fmt)
static const char * debugstr_run(const ME_Run *run)
void ME_GetDefaultCharFormat(ME_TextEditor *editor, CHARFORMAT2W *pFmt)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLint GLint GLsizei GLsizei height
GLboolean GLboolean GLboolean b
GLenum GLuint GLenum GLsizei const GLchar * buf
GLboolean GLboolean GLboolean GLboolean a
static void append(struct dump_context *dc, const void *data, unsigned size)
#define set_selection(hctl, start, end)
interface IDataObject * LPDATAOBJECT
_Out_opt_ int _Out_opt_ int * cy
#define offsetof(TYPE, MEMBER)
struct tagME_Paragraph * para
ME_UndoControlState undo_ctl_state