ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

editor.h
Go to the documentation of this file.
00001 /*
00002  * RichEdit - prototypes for functions and macro definitions
00003  *
00004  * Copyright 2004 by Krzysztof Foltman
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 #include "editstr.h"
00022 #include "wine/unicode.h"
00023 
00024 struct _RTF_Info;
00025 
00026 extern HANDLE me_heap DECLSPEC_HIDDEN;
00027 
00028 static inline void * __WINE_ALLOC_SIZE(1) heap_alloc( size_t len )
00029 {
00030     return HeapAlloc( me_heap, 0, len );
00031 }
00032 
00033 static inline BOOL heap_free( void *ptr )
00034 {
00035     return HeapFree( me_heap, 0, ptr );
00036 }
00037 
00038 static inline void * __WINE_ALLOC_SIZE(2) heap_realloc( void *ptr, size_t len )
00039 {
00040     return HeapReAlloc( me_heap, 0, ptr, len );
00041 }
00042 
00043 #define ALLOC_OBJ(type) heap_alloc(sizeof(type))
00044 #define ALLOC_N_OBJ(type, count) heap_alloc((count)*sizeof(type))
00045 #define FREE_OBJ(ptr) heap_free(ptr)
00046 
00047 #define RUN_IS_HIDDEN(run) ((run)->style->fmt.dwMask & CFM_HIDDEN \
00048                              && (run)->style->fmt.dwEffects & CFE_HIDDEN)
00049 
00050 #define InitFormatEtc(fe, cf, med) \
00051         {\
00052         (fe).cfFormat=cf;\
00053         (fe).dwAspect=DVASPECT_CONTENT;\
00054         (fe).ptd=NULL;\
00055         (fe).tymed=med;\
00056         (fe).lindex=-1;\
00057         };
00058 
00059 /* style.c */
00060 ME_Style *ME_MakeStyle(CHARFORMAT2W *style) DECLSPEC_HIDDEN;
00061 void ME_AddRefStyle(ME_Style *item) DECLSPEC_HIDDEN;
00062 void ME_ReleaseStyle(ME_Style *item) DECLSPEC_HIDDEN;
00063 ME_Style *ME_GetInsertStyle(ME_TextEditor *editor, int nCursor) DECLSPEC_HIDDEN;
00064 ME_Style *ME_ApplyStyle(ME_Style *sSrc, CHARFORMAT2W *style) DECLSPEC_HIDDEN;
00065 HFONT ME_SelectStyleFont(ME_Context *c, ME_Style *s) DECLSPEC_HIDDEN;
00066 void ME_UnselectStyleFont(ME_Context *c, ME_Style *s, HFONT hOldFont) DECLSPEC_HIDDEN;
00067 void ME_InitCharFormat2W(CHARFORMAT2W *pFmt) DECLSPEC_HIDDEN;
00068 void ME_SaveTempStyle(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00069 void ME_ClearTempStyle(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00070 void ME_DumpStyleToBuf(CHARFORMAT2W *pFmt, char buf[2048]) DECLSPEC_HIDDEN;
00071 void ME_DumpStyle(ME_Style *s) DECLSPEC_HIDDEN;
00072 CHARFORMAT2W *ME_ToCF2W(CHARFORMAT2W *to, CHARFORMAT2W *from) DECLSPEC_HIDDEN;
00073 void ME_CopyToCFAny(CHARFORMAT2W *to, CHARFORMAT2W *from) DECLSPEC_HIDDEN;
00074 void ME_CopyCharFormat(CHARFORMAT2W *pDest, const CHARFORMAT2W *pSrc) DECLSPEC_HIDDEN; /* only works with 2W structs */
00075 void ME_CharFormatFromLogFont(HDC hDC, const LOGFONTW *lf, CHARFORMAT2W *fmt) DECLSPEC_HIDDEN; /* ditto */
00076 
00077 /* list.c */
00078 void ME_InsertBefore(ME_DisplayItem *diWhere, ME_DisplayItem *diWhat) DECLSPEC_HIDDEN;
00079 void ME_Remove(ME_DisplayItem *diWhere) DECLSPEC_HIDDEN;
00080 BOOL ME_NextRun(ME_DisplayItem **para, ME_DisplayItem **run) DECLSPEC_HIDDEN;
00081 BOOL ME_PrevRun(ME_DisplayItem **para, ME_DisplayItem **run) DECLSPEC_HIDDEN;
00082 ME_DisplayItem *ME_FindItemBack(ME_DisplayItem *di, ME_DIType nTypeOrClass) DECLSPEC_HIDDEN;
00083 ME_DisplayItem *ME_FindItemFwd(ME_DisplayItem *di, ME_DIType nTypeOrClass) DECLSPEC_HIDDEN;
00084 ME_DisplayItem *ME_FindItemBackOrHere(ME_DisplayItem *di, ME_DIType nTypeOrClass) DECLSPEC_HIDDEN;
00085 ME_DisplayItem *ME_MakeDI(ME_DIType type) DECLSPEC_HIDDEN;
00086 void ME_DestroyDisplayItem(ME_DisplayItem *item) DECLSPEC_HIDDEN;
00087 void ME_DumpDocument(ME_TextBuffer *buffer) DECLSPEC_HIDDEN;
00088 const char *ME_GetDITypeName(ME_DIType type) DECLSPEC_HIDDEN;
00089 
00090 /* string.c */
00091 ME_String *ME_MakeStringN(LPCWSTR szText, int nMaxChars) DECLSPEC_HIDDEN;
00092 ME_String *ME_MakeStringR(WCHAR cRepeat, int nMaxChars) DECLSPEC_HIDDEN;
00093 ME_String *ME_StrDup(const ME_String *s) DECLSPEC_HIDDEN;
00094 void ME_DestroyString(ME_String *s) DECLSPEC_HIDDEN;
00095 void ME_AppendString(ME_String *s1, const ME_String *s2) DECLSPEC_HIDDEN;
00096 ME_String *ME_VSplitString(ME_String *orig, int nVPos) DECLSPEC_HIDDEN;
00097 int ME_IsWhitespaces(const ME_String *s) DECLSPEC_HIDDEN;
00098 int ME_IsSplitable(const ME_String *s) DECLSPEC_HIDDEN;
00099 int ME_FindNonWhitespaceV(const ME_String *s, int nVChar) DECLSPEC_HIDDEN;
00100 int ME_CallWordBreakProc(ME_TextEditor *editor, ME_String *str, INT start, INT code) DECLSPEC_HIDDEN;
00101 void ME_StrDeleteV(ME_String *s, int nVChar, int nChars) DECLSPEC_HIDDEN;
00102 /* smart helpers for A<->W conversions, they reserve/free memory and call MultiByte<->WideChar functions */
00103 LPWSTR ME_ToUnicode(BOOL unicode, LPVOID psz) DECLSPEC_HIDDEN;
00104 void ME_EndToUnicode(BOOL unicode, LPVOID psz) DECLSPEC_HIDDEN;
00105 
00106 static inline int ME_IsWSpace(WCHAR ch)
00107 {
00108   return ch > '\0' && ch <= ' ';
00109 }
00110 
00111 static inline int ME_CharCompare(WCHAR a, WCHAR b, int caseSensitive)
00112 {
00113   return caseSensitive ? (a == b) : (toupperW(a) == toupperW(b));
00114 }
00115 
00116 /* note: those two really return the first matching offset (starting from EOS)+1 
00117  * in other words, an offset of the first trailing white/black */
00118 int ME_ReverseFindNonWhitespaceV(const ME_String *s, int nVChar) DECLSPEC_HIDDEN;
00119 int ME_ReverseFindWhitespaceV(const ME_String *s, int nVChar) DECLSPEC_HIDDEN;
00120 
00121 /* row.c */
00122 ME_DisplayItem *ME_RowStart(ME_DisplayItem *item) DECLSPEC_HIDDEN;
00123 /* ME_DisplayItem *ME_RowEnd(ME_DisplayItem *item); */
00124 ME_DisplayItem *ME_FindRowWithNumber(ME_TextEditor *editor, int nRow) DECLSPEC_HIDDEN;
00125 int ME_RowNumberFromCharOfs(ME_TextEditor *editor, int nOfs) DECLSPEC_HIDDEN;
00126 
00127 /* run.c */
00128 ME_DisplayItem *ME_MakeRun(ME_Style *s, ME_String *strData, int nFlags) DECLSPEC_HIDDEN;
00129 ME_DisplayItem *ME_InsertRunAtCursor(ME_TextEditor *editor, ME_Cursor *cursor,
00130                                      ME_Style *style, const WCHAR *str, int len, int flags) DECLSPEC_HIDDEN;
00131 void ME_CheckCharOffsets(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00132 void ME_PropagateCharOffset(ME_DisplayItem *p, int shift) DECLSPEC_HIDDEN;
00133 int ME_CharFromPoint(ME_Context *c, int cx, ME_Run *run) DECLSPEC_HIDDEN;
00134 /* this one accounts for 1/2 char tolerance */
00135 int ME_CharFromPointCursor(ME_TextEditor *editor, int cx, ME_Run *run) DECLSPEC_HIDDEN;
00136 int ME_PointFromChar(ME_TextEditor *editor, ME_Run *pRun, int nOffset) DECLSPEC_HIDDEN;
00137 int ME_CanJoinRuns(const ME_Run *run1, const ME_Run *run2) DECLSPEC_HIDDEN;
00138 void ME_JoinRuns(ME_TextEditor *editor, ME_DisplayItem *p) DECLSPEC_HIDDEN;
00139 ME_DisplayItem *ME_SplitRun(ME_WrapContext *wc, ME_DisplayItem *item, int nChar) DECLSPEC_HIDDEN;
00140 ME_DisplayItem *ME_SplitRunSimple(ME_TextEditor *editor, ME_Cursor *cursor) DECLSPEC_HIDDEN;
00141 void ME_UpdateRunFlags(ME_TextEditor *editor, ME_Run *run) DECLSPEC_HIDDEN;
00142 void ME_CalcRunExtent(ME_Context *c, const ME_Paragraph *para, int startx, ME_Run *run) DECLSPEC_HIDDEN;
00143 SIZE ME_GetRunSize(ME_Context *c, const ME_Paragraph *para, ME_Run *run, int nLen, int startx) DECLSPEC_HIDDEN;
00144 void ME_CursorFromCharOfs(ME_TextEditor *editor, int nCharOfs, ME_Cursor *pCursor) DECLSPEC_HIDDEN;
00145 void ME_RunOfsFromCharOfs(ME_TextEditor *editor, int nCharOfs, ME_DisplayItem **ppPara, ME_DisplayItem **ppRun, int *pOfs) DECLSPEC_HIDDEN;
00146 int ME_CharOfsFromRunOfs(ME_TextEditor *editor, const ME_DisplayItem *pPara, const ME_DisplayItem *pRun, int nOfs) DECLSPEC_HIDDEN;
00147 void ME_SkipAndPropagateCharOffset(ME_DisplayItem *p, int shift) DECLSPEC_HIDDEN;
00148 void ME_SetCharFormat(ME_TextEditor *editor, ME_Cursor *start, ME_Cursor *end, CHARFORMAT2W *pFmt) DECLSPEC_HIDDEN;
00149 void ME_SetSelectionCharFormat(ME_TextEditor *editor, CHARFORMAT2W *pFmt) DECLSPEC_HIDDEN;
00150 void ME_GetCharFormat(ME_TextEditor *editor, const ME_Cursor *from,
00151                       const ME_Cursor *to, CHARFORMAT2W *pFmt) DECLSPEC_HIDDEN;
00152 void ME_GetSelectionCharFormat(ME_TextEditor *editor, CHARFORMAT2W *pFmt) DECLSPEC_HIDDEN;
00153 void ME_GetDefaultCharFormat(ME_TextEditor *editor, CHARFORMAT2W *pFmt) DECLSPEC_HIDDEN;
00154 void ME_SetDefaultCharFormat(ME_TextEditor *editor, CHARFORMAT2W *mod) DECLSPEC_HIDDEN;
00155 
00156 /* caret.c */
00157 void ME_SetCursorToStart(ME_TextEditor *editor, ME_Cursor *cursor) DECLSPEC_HIDDEN;
00158 int ME_SetSelection(ME_TextEditor *editor, int from, int to) DECLSPEC_HIDDEN;
00159 void ME_HideCaret(ME_TextEditor *ed) DECLSPEC_HIDDEN;
00160 void ME_ShowCaret(ME_TextEditor *ed) DECLSPEC_HIDDEN;
00161 void ME_MoveCaret(ME_TextEditor *ed) DECLSPEC_HIDDEN;
00162 BOOL ME_CharFromPos(ME_TextEditor *editor, int x, int y, ME_Cursor *cursor, BOOL *isExact) DECLSPEC_HIDDEN;
00163 void ME_LButtonDown(ME_TextEditor *editor, int x, int y, int clickNum) DECLSPEC_HIDDEN;
00164 void ME_MouseMove(ME_TextEditor *editor, int x, int y) DECLSPEC_HIDDEN;
00165 BOOL ME_DeleteTextAtCursor(ME_TextEditor *editor, int nCursor, int nChars) DECLSPEC_HIDDEN;
00166 void ME_InsertTextFromCursor(ME_TextEditor *editor, int nCursor, 
00167                              const WCHAR *str, int len, ME_Style *style) DECLSPEC_HIDDEN;
00168 void ME_InsertEndRowFromCursor(ME_TextEditor *editor, int nCursor) DECLSPEC_HIDDEN;
00169 int ME_MoveCursorChars(ME_TextEditor *editor, ME_Cursor *cursor, int nRelOfs) DECLSPEC_HIDDEN;
00170 BOOL ME_ArrowKey(ME_TextEditor *ed, int nVKey, BOOL extend, BOOL ctrl) DECLSPEC_HIDDEN;
00171 
00172 int ME_GetCursorOfs(const ME_Cursor *cursor) DECLSPEC_HIDDEN;
00173 int ME_GetSelectionOfs(ME_TextEditor *editor, int *from, int *to) DECLSPEC_HIDDEN;
00174 int ME_GetSelection(ME_TextEditor *editor, ME_Cursor **from, ME_Cursor **to) DECLSPEC_HIDDEN;
00175 BOOL ME_IsSelection(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00176 void ME_DeleteSelection(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00177 void ME_SendSelChange(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00178 void ME_InsertOLEFromCursor(ME_TextEditor *editor, const REOBJECT* reo, int nCursor) DECLSPEC_HIDDEN;
00179 BOOL ME_InternalDeleteText(ME_TextEditor *editor, ME_Cursor *start, int nChars, BOOL bForce) DECLSPEC_HIDDEN;
00180 int ME_GetTextLength(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00181 int ME_GetTextLengthEx(ME_TextEditor *editor, const GETTEXTLENGTHEX *how) DECLSPEC_HIDDEN;
00182 ME_Style *ME_GetSelectionInsertStyle(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00183 
00184 /* context.c */
00185 void ME_InitContext(ME_Context *c, ME_TextEditor *editor, HDC hDC) DECLSPEC_HIDDEN;
00186 void ME_DestroyContext(ME_Context *c) DECLSPEC_HIDDEN;
00187 
00188 /* wrap.c */
00189 BOOL ME_WrapMarkedParagraphs(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00190 void ME_InvalidateMarkedParagraphs(ME_TextEditor *editor, ME_DisplayItem *start_para, ME_DisplayItem *end_para) DECLSPEC_HIDDEN;
00191 void ME_SendRequestResize(ME_TextEditor *editor, BOOL force) DECLSPEC_HIDDEN;
00192 
00193 /* para.c */
00194 ME_DisplayItem *ME_GetParagraph(ME_DisplayItem *run) DECLSPEC_HIDDEN;
00195 void ME_GetSelectionParas(ME_TextEditor *editor, ME_DisplayItem **para, ME_DisplayItem **para_end) DECLSPEC_HIDDEN;
00196 void ME_MakeFirstParagraph(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00197 ME_DisplayItem *ME_SplitParagraph(ME_TextEditor *editor, ME_DisplayItem *rp, ME_Style *style, ME_String *eol_str, int paraFlags) DECLSPEC_HIDDEN;
00198 ME_DisplayItem *ME_JoinParagraphs(ME_TextEditor *editor, ME_DisplayItem *tp,
00199                                   BOOL keepFirstParaFormat) DECLSPEC_HIDDEN;
00200 void ME_DumpParaStyle(ME_Paragraph *s) DECLSPEC_HIDDEN;
00201 void ME_DumpParaStyleToBuf(const PARAFORMAT2 *pFmt, char buf[2048]) DECLSPEC_HIDDEN;
00202 BOOL ME_SetSelectionParaFormat(ME_TextEditor *editor, const PARAFORMAT2 *pFmt) DECLSPEC_HIDDEN;
00203 void ME_GetSelectionParaFormat(ME_TextEditor *editor, PARAFORMAT2 *pFmt) DECLSPEC_HIDDEN;
00204 /* marks from first up to (but not including) last */
00205 void ME_MarkForPainting(ME_TextEditor *editor, ME_DisplayItem *first, const ME_DisplayItem *last) DECLSPEC_HIDDEN;
00206 void ME_MarkAllForWrapping(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00207 void ME_SetDefaultParaFormat(PARAFORMAT2 *pFmt) DECLSPEC_HIDDEN;
00208 
00209 /* paint.c */
00210 void ME_PaintContent(ME_TextEditor *editor, HDC hDC, const RECT *rcUpdate) DECLSPEC_HIDDEN;
00211 void ME_Repaint(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00212 void ME_RewrapRepaint(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00213 void ME_UpdateRepaint(ME_TextEditor *editor, BOOL update_now) DECLSPEC_HIDDEN;
00214 void ME_EnsureVisible(ME_TextEditor *editor, ME_Cursor *pCursor) DECLSPEC_HIDDEN;
00215 void ME_InvalidateSelection(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00216 BOOL ME_SetZoom(ME_TextEditor *editor, int numerator, int denominator) DECLSPEC_HIDDEN;
00217 int  ME_twips2pointsX(const ME_Context *c, int x) DECLSPEC_HIDDEN;
00218 int  ME_twips2pointsY(const ME_Context *c, int y) DECLSPEC_HIDDEN;
00219 
00220 /* scroll functions in paint.c */
00221 
00222 void ME_ScrollAbs(ME_TextEditor *editor, int x, int y) DECLSPEC_HIDDEN;
00223 void ME_HScrollAbs(ME_TextEditor *editor, int x) DECLSPEC_HIDDEN;
00224 void ME_VScrollAbs(ME_TextEditor *editor, int y) DECLSPEC_HIDDEN;
00225 void ME_ScrollUp(ME_TextEditor *editor, int cy) DECLSPEC_HIDDEN;
00226 void ME_ScrollDown(ME_TextEditor *editor, int cy) DECLSPEC_HIDDEN;
00227 void ME_ScrollLeft(ME_TextEditor *editor, int cx) DECLSPEC_HIDDEN;
00228 void ME_ScrollRight(ME_TextEditor *editor, int cx) DECLSPEC_HIDDEN;
00229 void ME_UpdateScrollBar(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00230 
00231 /* other functions in paint.c */
00232 int ME_GetParaBorderWidth(const ME_Context *c, int flags) DECLSPEC_HIDDEN;
00233 
00234 /* richole.c */
00235 LRESULT CreateIRichEditOle(ME_TextEditor *editor, LPVOID *) DECLSPEC_HIDDEN;
00236 void ME_DrawOLE(ME_Context *c, int x, int y, ME_Run* run, ME_Paragraph *para, BOOL selected) DECLSPEC_HIDDEN;
00237 void ME_GetOLEObjectSize(const ME_Context *c, ME_Run *run, SIZE *pSize) DECLSPEC_HIDDEN;
00238 void ME_CopyReObject(REOBJECT* dst, const REOBJECT* src) DECLSPEC_HIDDEN;
00239 void ME_DeleteReObject(REOBJECT* reo) DECLSPEC_HIDDEN;
00240 
00241 /* editor.c */
00242 ME_TextEditor *ME_MakeEditor(ITextHost *texthost, BOOL bEmulateVersion10) DECLSPEC_HIDDEN;
00243 LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
00244                          LPARAM lParam, BOOL unicode, HRESULT* phresult) DECLSPEC_HIDDEN;
00245 void ME_SendOldNotify(ME_TextEditor *editor, int nCode) DECLSPEC_HIDDEN;
00246 int ME_GetTextW(ME_TextEditor *editor, WCHAR *buffer, int buflen,
00247                 const ME_Cursor *start, int srcChars, BOOL bCRLF) DECLSPEC_HIDDEN;
00248 void ME_RTFCharAttrHook(struct _RTF_Info *info) DECLSPEC_HIDDEN;
00249 void ME_RTFParAttrHook(struct _RTF_Info *info) DECLSPEC_HIDDEN;
00250 void ME_RTFTblAttrHook(struct _RTF_Info *info) DECLSPEC_HIDDEN;
00251 void ME_RTFSpecialCharHook(struct _RTF_Info *info) DECLSPEC_HIDDEN;
00252 void ME_StreamInFill(ME_InStream *stream) DECLSPEC_HIDDEN;
00253 extern int me_debug DECLSPEC_HIDDEN;
00254 
00255 /* table.c */
00256 BOOL ME_IsInTable(ME_DisplayItem *pItem) DECLSPEC_HIDDEN;
00257 ME_DisplayItem *ME_InsertTableRowStartFromCursor(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00258 ME_DisplayItem *ME_InsertTableRowStartAtParagraph(ME_TextEditor *editor,
00259                                                   ME_DisplayItem *para) DECLSPEC_HIDDEN;
00260 ME_DisplayItem *ME_InsertTableCellFromCursor(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00261 ME_DisplayItem *ME_InsertTableRowEndFromCursor(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00262 ME_DisplayItem *ME_GetTableRowEnd(ME_DisplayItem *para) DECLSPEC_HIDDEN;
00263 ME_DisplayItem *ME_GetTableRowStart(ME_DisplayItem *para) DECLSPEC_HIDDEN;
00264 void ME_CheckTablesForCorruption(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00265 void ME_ProtectPartialTableDeletion(ME_TextEditor *editor, ME_Cursor *c, int *nChars) DECLSPEC_HIDDEN;
00266 ME_DisplayItem* ME_AppendTableRow(ME_TextEditor *editor, ME_DisplayItem *table_row) DECLSPEC_HIDDEN;
00267 void ME_TabPressedInTable(ME_TextEditor *editor, BOOL bSelectedRow) DECLSPEC_HIDDEN;
00268 void ME_MoveCursorFromTableRowStartParagraph(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00269 struct RTFTable *ME_MakeTableDef(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00270 void ME_InitTableDef(ME_TextEditor *editor, struct RTFTable *tableDef) DECLSPEC_HIDDEN;
00271 
00272 /* txthost.c */
00273 ITextHost *ME_CreateTextHost(HWND hwnd, CREATESTRUCTW *cs, BOOL bEmulateVersion10) DECLSPEC_HIDDEN;
00274 #ifdef __i386__ /* Use wrappers to perform thiscall on i386 */
00275 #define TXTHOST_VTABLE(This) (&itextHostStdcallVtbl)
00276 #else /* __i386__ */
00277 #define TXTHOST_VTABLE(This) (This)->lpVtbl
00278 #endif /* __i386__ */
00279  /*** ITextHost methods ***/
00280 #define ITextHost_TxGetDC(This) TXTHOST_VTABLE(This)->TxGetDC(This)
00281 #define ITextHost_TxReleaseDC(This,a) TXTHOST_VTABLE(This)->TxReleaseDC(This,a)
00282 #define ITextHost_TxShowScrollBar(This,a,b) TXTHOST_VTABLE(This)->TxShowScrollBar(This,a,b)
00283 #define ITextHost_TxEnableScrollBar(This,a,b) TXTHOST_VTABLE(This)->TxEnableScrollBar(This,a,b)
00284 #define ITextHost_TxSetScrollRange(This,a,b,c,d) TXTHOST_VTABLE(This)->TxSetScrollRange(This,a,b,c,d)
00285 #define ITextHost_TxSetScrollPos(This,a,b,c) TXTHOST_VTABLE(This)->TxSetScrollPos(This,a,b,c)
00286 #define ITextHost_TxInvalidateRect(This,a,b) TXTHOST_VTABLE(This)->TxInvalidateRect(This,a,b)
00287 #define ITextHost_TxViewChange(This,a) TXTHOST_VTABLE(This)->TxViewChange(This,a)
00288 #define ITextHost_TxCreateCaret(This,a,b,c) TXTHOST_VTABLE(This)->TxCreateCaret(This,a,b,c)
00289 #define ITextHost_TxShowCaret(This,a) TXTHOST_VTABLE(This)->TxShowCaret(This,a)
00290 #define ITextHost_TxSetCaretPos(This,a,b) TXTHOST_VTABLE(This)->TxSetCaretPos(This,a,b)
00291 #define ITextHost_TxSetTimer(This,a,b) TXTHOST_VTABLE(This)->TxSetTimer(This,a,b)
00292 #define ITextHost_TxKillTimer(This,a) TXTHOST_VTABLE(This)->TxKillTimer(This,a)
00293 #define ITextHost_TxScrollWindowEx(This,a,b,c,d,e,f,g) TXTHOST_VTABLE(This)->TxScrollWindowEx(This,a,b,c,d,e,f,g)
00294 #define ITextHost_TxSetCapture(This,a) TXTHOST_VTABLE(This)->TxSetCapture(This,a)
00295 #define ITextHost_TxSetFocus(This) TXTHOST_VTABLE(This)->TxSetFocus(This)
00296 #define ITextHost_TxSetCursor(This,a,b) TXTHOST_VTABLE(This)->TxSetCursor(This,a,b)
00297 #define ITextHost_TxScreenToClient(This,a) TXTHOST_VTABLE(This)->TxScreenToClient(This,a)
00298 #define ITextHost_TxClientToScreen(This,a) TXTHOST_VTABLE(This)->TxClientToScreen(This,a)
00299 #define ITextHost_TxActivate(This,a) TXTHOST_VTABLE(This)->TxActivate(This,a)
00300 #define ITextHost_TxDeactivate(This,a) TXTHOST_VTABLE(This)->TxDeactivate(This,a)
00301 #define ITextHost_TxGetClientRect(This,a) TXTHOST_VTABLE(This)->TxGetClientRect(This,a)
00302 #define ITextHost_TxGetViewInset(This,a) TXTHOST_VTABLE(This)->TxGetViewInset(This,a)
00303 #define ITextHost_TxGetCharFormat(This,a) TXTHOST_VTABLE(This)->TxGetCharFormat(This,a)
00304 #define ITextHost_TxGetParaFormat(This,a) TXTHOST_VTABLE(This)->TxGetParaFormat(This,a)
00305 #define ITextHost_TxGetSysColor(This,a) TXTHOST_VTABLE(This)->TxGetSysColor(This,a)
00306 #define ITextHost_TxGetBackStyle(This,a) TXTHOST_VTABLE(This)->TxGetBackStyle(This,a)
00307 #define ITextHost_TxGetMaxLength(This,a) TXTHOST_VTABLE(This)->TxGetMaxLength(This,a)
00308 #define ITextHost_TxGetScrollBars(This,a) TXTHOST_VTABLE(This)->TxGetScrollBars(This,a)
00309 #define ITextHost_TxGetPasswordChar(This,a) TXTHOST_VTABLE(This)->TxGetPasswordChar(This,a)
00310 #define ITextHost_TxGetAcceleratorPos(This,a) TXTHOST_VTABLE(This)->TxGetAcceleratorPos(This,a)
00311 #define ITextHost_TxGetExtent(This,a) TXTHOST_VTABLE(This)->TxGetExtent(This,a)
00312 #define ITextHost_OnTxCharFormatChange(This,a) TXTHOST_VTABLE(This)->OnTxCharFormatChange(This,a)
00313 #define ITextHost_OnTxParaFormatChange(This,a) TXTHOST_VTABLE(This)->OnTxParaFormatChange(This,a)
00314 #define ITextHost_TxGetPropertyBits(This,a,b) TXTHOST_VTABLE(This)->TxGetPropertyBits(This,a,b)
00315 #define ITextHost_TxNotify(This,a,b) TXTHOST_VTABLE(This)->TxNotify(This,a,b)
00316 #define ITextHost_TxImmGetContext(This) TXTHOST_VTABLE(This)->TxImmGetContext(This)
00317 #define ITextHost_TxImmReleaseContext(This,a) TXTHOST_VTABLE(This)->TxImmReleaseContext(This,a)
00318 #define ITextHost_TxGetSelectionBarWidth(This,a) TXTHOST_VTABLE(This)->TxGetSelectionBarWidth(This,a)
00319 
00320 /* undo.c */
00321 ME_UndoItem *ME_AddUndoItem(ME_TextEditor *editor, ME_DIType type, const ME_DisplayItem *pdi) DECLSPEC_HIDDEN;
00322 void ME_CommitUndo(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00323 void ME_ContinueCoalescingTransaction(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00324 void ME_CommitCoalescingUndo(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00325 BOOL ME_Undo(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00326 BOOL ME_Redo(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00327 void ME_EmptyUndoStack(ME_TextEditor *editor) DECLSPEC_HIDDEN;
00328 
00329 /* writer.c */
00330 LRESULT ME_StreamOutRange(ME_TextEditor *editor, DWORD dwFormat, const ME_Cursor *start, int nChars, EDITSTREAM *stream) DECLSPEC_HIDDEN;
00331 LRESULT ME_StreamOut(ME_TextEditor *editor, DWORD dwFormat, EDITSTREAM *stream) DECLSPEC_HIDDEN;
00332 
00333 /* clipboard.c */
00334 HRESULT ME_GetDataObject(ME_TextEditor *editor, const ME_Cursor *start, int nChars, LPDATAOBJECT *lplpdataobj) DECLSPEC_HIDDEN;

Generated on Sun May 27 2012 04:25:57 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.