Clarify counts in SkiaState::DrawText().
Rename `count` to `original_count` to clarify what it is counting add a
new `total_count` variable to avoid calculating that in multiple places.
Then rewrite a for-loop in terms of the new variables.
Change-Id: I20bd85df8039a3b66d1bb9f26835c20c37f87ff2
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/103471
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Nigi <nigi@chromium.org>
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp
index 1b13654..12ad6b6 100644
--- a/core/fxge/skia/fx_skia_device.cpp
+++ b/core/fxge/skia/fx_skia_device.cpp
@@ -905,16 +905,17 @@
if (!hasRSX && !m_rsxform.empty())
FlushText();
- int count = m_charDetails.Count();
- m_charDetails.SetCount(nChars + count);
+ const int original_count = m_charDetails.Count();
+ const int total_count = nChars + original_count;
+ m_charDetails.SetCount(total_count);
if (hasRSX)
- m_rsxform.resize(nChars + count);
+ m_rsxform.resize(total_count);
const SkScalar flip = m_fontSize < 0 ? -1 : 1;
const SkScalar vFlip = pFont->IsVertical() ? -1 : 1;
for (int index = 0; index < nChars; ++index) {
const TextCharPos& cp = pCharPos[index];
- int cur_index = index + count;
+ int cur_index = index + original_count;
m_charDetails.SetPositionAt(
cur_index, {cp.m_Origin.x * flip, cp.m_Origin.y * vFlip});
m_charDetails.SetGlyphAt(cur_index,
@@ -928,8 +929,8 @@
}
SkPoint delta;
if (MatrixOffset(&matrix, &delta)) {
- for (int index = 0; index < nChars; ++index) {
- m_charDetails.OffsetPositionAt(index + count, delta.fX * flip,
+ for (int index = original_count; index < total_count; ++index) {
+ m_charDetails.OffsetPositionAt(index, delta.fX * flip,
-delta.fY * flip);
}
}
@@ -937,7 +938,7 @@
const SkTDArray<SkPoint>& positions = m_charDetails.GetPositions();
for (int index = 0; index < nChars; ++index) {
const TextCharPos& cp = pCharPos[index];
- SkRSXform* rsxform = &m_rsxform[index + count];
+ SkRSXform* rsxform = &m_rsxform[index + original_count];
if (cp.m_bGlyphAdjust) {
rsxform->fSCos = cp.m_AdjustMatrix[0];
rsxform->fSSin = cp.m_AdjustMatrix[1];