riched20: Add a helper to debug the run text.
This commit is contained in:
parent
95938b7a10
commit
c17af77b5c
|
@ -374,15 +374,15 @@ BOOL ME_InternalDeleteText(ME_TextEditor *editor, ME_Cursor *start,
|
||||||
nCharsToDelete is a number of chars to delete from THIS run */
|
nCharsToDelete is a number of chars to delete from THIS run */
|
||||||
nChars -= nCharsToDelete;
|
nChars -= nCharsToDelete;
|
||||||
shift -= nCharsToDelete;
|
shift -= nCharsToDelete;
|
||||||
TRACE("Deleting %d (remaning %d) chars at %d in '%s' (%d)\n",
|
TRACE("Deleting %d (remaning %d) chars at %d in %s (%d)\n",
|
||||||
nCharsToDelete, nChars, c.nOffset,
|
nCharsToDelete, nChars, c.nOffset,
|
||||||
debugstr_w(run->strText->szData), run->strText->nLen);
|
debugstr_run( run ), run->strText->nLen);
|
||||||
|
|
||||||
/* nOfs is a character offset (from the start of the document
|
/* nOfs is a character offset (from the start of the document
|
||||||
to the current (deleted) run */
|
to the current (deleted) run */
|
||||||
add_undo_insert_run( editor, nOfs + nChars, run->strText->szData + c.nOffset, nCharsToDelete, run->nFlags, run->style );
|
add_undo_insert_run( editor, nOfs + nChars, run->strText->szData + c.nOffset, nCharsToDelete, run->nFlags, run->style );
|
||||||
|
|
||||||
TRACE("Post deletion string: %s (%d)\n", debugstr_w(run->strText->szData), run->strText->nLen);
|
TRACE("Post deletion string: %s (%d)\n", debugstr_run( run ), run->strText->nLen);
|
||||||
TRACE("Shift value: %d\n", shift);
|
TRACE("Shift value: %d\n", shift);
|
||||||
ME_StrDeleteV(run->strText, c.nOffset, nCharsToDelete);
|
ME_StrDeleteV(run->strText, c.nOffset, nCharsToDelete);
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,8 @@ static inline void * __WINE_ALLOC_SIZE(2) heap_realloc( void *ptr, size_t len )
|
||||||
(fe).lindex=-1;\
|
(fe).lindex=-1;\
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static inline const char *debugstr_run( const ME_Run *run ) { return debugstr_w( run->strText->szData ); }
|
||||||
|
|
||||||
/* style.c */
|
/* style.c */
|
||||||
ME_Style *ME_MakeStyle(CHARFORMAT2W *style) DECLSPEC_HIDDEN;
|
ME_Style *ME_MakeStyle(CHARFORMAT2W *style) DECLSPEC_HIDDEN;
|
||||||
void ME_AddRefStyle(ME_Style *item) DECLSPEC_HIDDEN;
|
void ME_AddRefStyle(ME_Style *item) DECLSPEC_HIDDEN;
|
||||||
|
|
|
@ -211,7 +211,7 @@ void ME_DumpDocument(ME_TextBuffer *buffer)
|
||||||
TRACE(" - StartRow\n");
|
TRACE(" - StartRow\n");
|
||||||
break;
|
break;
|
||||||
case diRun:
|
case diRun:
|
||||||
TRACE(" - Run(\"%s\", %d, flags=%x)\n", debugstr_w(pItem->member.run.strText->szData),
|
TRACE(" - Run(%s, %d, flags=%x)\n", debugstr_run( &pItem->member.run ),
|
||||||
pItem->member.run.nCharOfs, pItem->member.run.nFlags);
|
pItem->member.run.nCharOfs, pItem->member.run.nFlags);
|
||||||
break;
|
break;
|
||||||
case diTextEnd:
|
case diTextEnd:
|
||||||
|
|
|
@ -410,7 +410,7 @@ ME_DisplayItem *ME_JoinParagraphs(ME_TextEditor *editor, ME_DisplayItem *tp,
|
||||||
pTmp = ME_FindItemFwd(pTmp, diRunOrParagraphOrEnd);
|
pTmp = ME_FindItemFwd(pTmp, diRunOrParagraphOrEnd);
|
||||||
if (pTmp->type != diRun)
|
if (pTmp->type != diRun)
|
||||||
break;
|
break;
|
||||||
TRACE("shifting \"%s\" by %d (previous %d)\n", debugstr_w(pTmp->member.run.strText->szData), shift, pTmp->member.run.nCharOfs);
|
TRACE("shifting %s by %d (previous %d)\n", debugstr_run( &pTmp->member.run ), shift, pTmp->member.run.nCharOfs);
|
||||||
pTmp->member.run.nCharOfs += shift;
|
pTmp->member.run.nCharOfs += shift;
|
||||||
pTmp->member.run.para = &tp->member.para;
|
pTmp->member.run.para = &tp->member.para;
|
||||||
} while(1);
|
} while(1);
|
||||||
|
|
|
@ -64,7 +64,7 @@ void ME_PropagateCharOffset(ME_DisplayItem *p, int shift)
|
||||||
*/
|
*/
|
||||||
if (p->type == diRun) /* propagate in all runs in this para */
|
if (p->type == diRun) /* propagate in all runs in this para */
|
||||||
{
|
{
|
||||||
TRACE("PropagateCharOffset(%s, %d)\n", debugstr_w(p->member.run.strText->szData), shift);
|
TRACE("PropagateCharOffset(%s, %d)\n", debugstr_run( &p->member.run ), shift);
|
||||||
do {
|
do {
|
||||||
p->member.run.nCharOfs += shift;
|
p->member.run.nCharOfs += shift;
|
||||||
assert(p->member.run.nCharOfs >= 0);
|
assert(p->member.run.nCharOfs >= 0);
|
||||||
|
@ -121,9 +121,9 @@ void ME_CheckCharOffsets(ME_TextEditor *editor)
|
||||||
ofs = 0;
|
ofs = 0;
|
||||||
break;
|
break;
|
||||||
case diRun:
|
case diRun:
|
||||||
TRACE_(richedit_check)("run, real ofs = %d (+ofsp = %d), counted = %d, len = %d, txt = \"%s\", flags=%08x, fx&mask = %08x\n",
|
TRACE_(richedit_check)("run, real ofs = %d (+ofsp = %d), counted = %d, len = %d, txt = %s, flags=%08x, fx&mask = %08x\n",
|
||||||
p->member.run.nCharOfs, p->member.run.nCharOfs+ofsp, ofsp+ofs,
|
p->member.run.nCharOfs, p->member.run.nCharOfs+ofsp, ofsp+ofs,
|
||||||
p->member.run.strText->nLen, debugstr_w(p->member.run.strText->szData),
|
p->member.run.strText->nLen, debugstr_run( &p->member.run ),
|
||||||
p->member.run.nFlags,
|
p->member.run.nFlags,
|
||||||
p->member.run.style->fmt.dwMask & p->member.run.style->fmt.dwEffects);
|
p->member.run.style->fmt.dwMask & p->member.run.style->fmt.dwEffects);
|
||||||
assert(ofs == p->member.run.nCharOfs);
|
assert(ofs == p->member.run.nCharOfs);
|
||||||
|
@ -265,7 +265,7 @@ ME_DisplayItem *ME_SplitRun(ME_WrapContext *wc, ME_DisplayItem *item, int nVChar
|
||||||
|
|
||||||
run = &item->member.run;
|
run = &item->member.run;
|
||||||
|
|
||||||
TRACE("Before split: %s(%d, %d)\n", debugstr_w(run->strText->szData),
|
TRACE("Before split: %s(%d, %d)\n", debugstr_run( run ),
|
||||||
run->pt.x, run->pt.y);
|
run->pt.x, run->pt.y);
|
||||||
|
|
||||||
ME_SplitRunSimple(editor, &cursor);
|
ME_SplitRunSimple(editor, &cursor);
|
||||||
|
@ -283,8 +283,8 @@ ME_DisplayItem *ME_SplitRun(ME_WrapContext *wc, ME_DisplayItem *item, int nVChar
|
||||||
ME_CheckCharOffsets(editor);
|
ME_CheckCharOffsets(editor);
|
||||||
TRACE("After check after split\n");
|
TRACE("After check after split\n");
|
||||||
TRACE("After split: %s(%d, %d), %s(%d, %d)\n",
|
TRACE("After split: %s(%d, %d), %s(%d, %d)\n",
|
||||||
debugstr_w(run->strText->szData), run->pt.x, run->pt.y,
|
debugstr_run( run ), run->pt.x, run->pt.y,
|
||||||
debugstr_w(run2->strText->szData), run2->pt.x, run2->pt.y);
|
debugstr_run( run2 ), run2->pt.x, run2->pt.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
return cursor.pRun;
|
return cursor.pRun;
|
||||||
|
|
|
@ -189,7 +189,7 @@ static void ME_WrapEndParagraph(ME_WrapContext *wc, ME_DisplayItem *p)
|
||||||
if (p->type == diRun)
|
if (p->type == diRun)
|
||||||
{
|
{
|
||||||
ME_Run *run = &p->member.run;
|
ME_Run *run = &p->member.run;
|
||||||
TRACE("%s - (%d, %d)\n", debugstr_w(run->strText->szData), run->pt.x, run->pt.y);
|
TRACE("%s - (%d, %d)\n", debugstr_run(run), run->pt.x, run->pt.y);
|
||||||
}
|
}
|
||||||
p = p->next;
|
p = p->next;
|
||||||
}
|
}
|
||||||
|
@ -241,7 +241,7 @@ static ME_DisplayItem *ME_MaximizeSplit(ME_WrapContext *wc, ME_DisplayItem *p, i
|
||||||
/* this run is the end of spaces, so the run edge is a good point to split */
|
/* this run is the end of spaces, so the run edge is a good point to split */
|
||||||
wc->pt = pp->member.run.pt;
|
wc->pt = pp->member.run.pt;
|
||||||
wc->bOverflown = TRUE;
|
wc->bOverflown = TRUE;
|
||||||
TRACE("Split point is: %s|%s\n", debugstr_w(piter->member.run.strText->szData), debugstr_w(pp->member.run.strText->szData));
|
TRACE("Split point is: %s|%s\n", debugstr_run( &piter->member.run ), debugstr_run( &pp->member.run ));
|
||||||
return pp;
|
return pp;
|
||||||
}
|
}
|
||||||
wc->pt = piter->member.run.pt;
|
wc->pt = piter->member.run.pt;
|
||||||
|
@ -266,7 +266,7 @@ static ME_DisplayItem *ME_SplitByBacktracking(ME_WrapContext *wc, ME_DisplayItem
|
||||||
if (pp)
|
if (pp)
|
||||||
return pp;
|
return pp;
|
||||||
}
|
}
|
||||||
TRACE("Must backtrack to split at: %s\n", debugstr_w(p->member.run.strText->szData));
|
TRACE("Must backtrack to split at: %s\n", debugstr_run( &p->member.run ));
|
||||||
if (wc->pLastSplittableRun)
|
if (wc->pLastSplittableRun)
|
||||||
{
|
{
|
||||||
if (wc->pLastSplittableRun->member.run.nFlags & (MERF_GRAPHICS|MERF_TAB))
|
if (wc->pLastSplittableRun->member.run.nFlags & (MERF_GRAPHICS|MERF_TAB))
|
||||||
|
@ -303,7 +303,7 @@ static ME_DisplayItem *ME_SplitByBacktracking(ME_WrapContext *wc, ME_DisplayItem
|
||||||
return wc->pLastSplittableRun;
|
return wc->pLastSplittableRun;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TRACE("Backtracking failed, trying desperate: %s\n", debugstr_w(p->member.run.strText->szData));
|
TRACE("Backtracking failed, trying desperate: %s\n", debugstr_run( &p->member.run ));
|
||||||
/* OK, no better idea, so assume we MAY split words if we can split at all*/
|
/* OK, no better idea, so assume we MAY split words if we can split at all*/
|
||||||
if (idesp)
|
if (idesp)
|
||||||
return ME_SplitRun(wc, piter, idesp);
|
return ME_SplitRun(wc, piter, idesp);
|
||||||
|
|
Loading…
Reference in New Issue