diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-02-14 10:08:55 -0500 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-02-14 15:11:27 +0000 |
commit | d8b01ca3bd9c21e76443004907ea1bc02fb57b6e (patch) | |
tree | 59f80451f15fef9e4e1641e1aa3eb1b592c4010c /core/fxge/ge/cfx_renderdevice.cpp | |
parent | ceb3ab55ca5ad1fae590f50a09f04b7ed47656b1 (diff) | |
download | pdfium-d8b01ca3bd9c21e76443004907ea1bc02fb57b6e.tar.xz |
Revert "Convert Origins to points"
This reverts commit da83d3a5cc09c4056310b3cf299dbbccd5c70d11.
Reason for revert: Reverting chain to see if fixes Chrome roll.
Original change's description:
> Convert Origins to points
>
> This CL converts various OriginX, OriginY pairs into CFX_PointF objects.
>
> Change-Id: I9141f7fc713c710b2014d4fdcdec7dc93501f844
> Reviewed-on: https://pdfium-review.googlesource.com/2575
> Commit-Queue: dsinclair <dsinclair@chromium.org>
> Reviewed-by: Nicolás Peña <npm@chromium.org>
>
TBR=tsepez@chromium.org,dsinclair@chromium.org,npm@chromium.org,pdfium-reviews@googlegroups.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Change-Id: I949fb4ec712e2587e7d0ef0191c34db198b61dcc
Reviewed-on: https://pdfium-review.googlesource.com/2696
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'core/fxge/ge/cfx_renderdevice.cpp')
-rw-r--r-- | core/fxge/ge/cfx_renderdevice.cpp | 52 |
1 files changed, 19 insertions, 33 deletions
diff --git a/core/fxge/ge/cfx_renderdevice.cpp b/core/fxge/ge/cfx_renderdevice.cpp index 40a7b53a16..12a3dd480d 100644 --- a/core/fxge/ge/cfx_renderdevice.cpp +++ b/core/fxge/ge/cfx_renderdevice.cpp @@ -27,19 +27,19 @@ namespace { void AdjustGlyphSpace(std::vector<FXTEXT_GLYPHPOS>* pGlyphAndPos) { ASSERT(pGlyphAndPos->size() > 1); std::vector<FXTEXT_GLYPHPOS>& glyphs = *pGlyphAndPos; - bool bVertical = glyphs.back().m_Origin.x == glyphs.front().m_Origin.x; - if (!bVertical && (glyphs.back().m_Origin.y != glyphs.front().m_Origin.y)) + bool bVertical = glyphs.back().m_OriginX == glyphs.front().m_OriginX; + if (!bVertical && (glyphs.back().m_OriginY != glyphs.front().m_OriginY)) return; for (size_t i = glyphs.size() - 1; i > 1; --i) { FXTEXT_GLYPHPOS& next = glyphs[i]; - int next_origin = bVertical ? next.m_Origin.y : next.m_Origin.x; - FX_FLOAT next_origin_f = bVertical ? next.m_fOrigin.y : next.m_fOrigin.x; + int next_origin = bVertical ? next.m_OriginY : next.m_OriginX; + FX_FLOAT next_origin_f = bVertical ? next.m_fOriginY : next.m_fOriginX; FXTEXT_GLYPHPOS& current = glyphs[i - 1]; - int& current_origin = bVertical ? current.m_Origin.y : current.m_Origin.x; + int& current_origin = bVertical ? current.m_OriginY : current.m_OriginX; FX_FLOAT current_origin_f = - bVertical ? current.m_fOrigin.y : current.m_fOrigin.x; + bVertical ? current.m_fOriginY : current.m_fOriginX; int space = next_origin - current_origin; FX_FLOAT space_f = next_origin_f - current_origin_f; @@ -346,21 +346,6 @@ bool ShouldDrawDeviceText(const CFX_Font* pFont, uint32_t text_flags) { } // namespace -FXTEXT_CHARPOS::FXTEXT_CHARPOS() - : m_GlyphIndex(0), - m_FontCharWidth(0), -#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ - m_ExtGID(0), -#endif - m_FallbackFontPosition(0), - m_bGlyphAdjust(false), - m_bFontStyle(false) { -} - -FXTEXT_CHARPOS::FXTEXT_CHARPOS(const FXTEXT_CHARPOS&) = default; - -FXTEXT_CHARPOS::~FXTEXT_CHARPOS(){}; - CFX_RenderDevice::CFX_RenderDevice() : m_pBitmap(nullptr), m_Width(0), @@ -923,13 +908,14 @@ bool CFX_RenderDevice::DrawNormalText(int nChars, for (size_t i = 0; i < glyphs.size(); ++i) { FXTEXT_GLYPHPOS& glyph = glyphs[i]; const FXTEXT_CHARPOS& charpos = pCharPos[i]; - - glyph.m_fOrigin = text2Device.Transform(charpos.m_Origin); + glyph.m_fOriginX = charpos.m_OriginX; + glyph.m_fOriginY = charpos.m_OriginY; + text2Device.TransformPoint(glyph.m_fOriginX, glyph.m_fOriginY); if (anti_alias < FXFT_RENDER_MODE_LCD) - glyph.m_Origin.x = FXSYS_round(glyph.m_fOrigin.x); + glyph.m_OriginX = FXSYS_round(glyph.m_fOriginX); else - glyph.m_Origin.x = static_cast<int>(FXSYS_floor(glyph.m_fOrigin.x)); - glyph.m_Origin.y = FXSYS_round(glyph.m_fOrigin.y); + glyph.m_OriginX = (int)FXSYS_floor(glyph.m_fOriginX); + glyph.m_OriginY = FXSYS_round(glyph.m_fOriginY); if (charpos.m_bGlyphAdjust) { CFX_Matrix new_matrix( charpos.m_AdjustMatrix[0], charpos.m_AdjustMatrix[1], @@ -975,8 +961,8 @@ bool CFX_RenderDevice::DrawNormalText(int nChars, continue; const CFX_DIBitmap* pGlyph = &glyph.m_pGlyph->m_Bitmap; bitmap.TransferBitmap( - glyph.m_Origin.x + glyph.m_pGlyph->m_Left - pixel_left, - glyph.m_Origin.y - glyph.m_pGlyph->m_Top - pixel_top, + glyph.m_OriginX + glyph.m_pGlyph->m_Left - pixel_left, + glyph.m_OriginY - glyph.m_pGlyph->m_Top - pixel_top, pGlyph->GetWidth(), pGlyph->GetHeight(), pGlyph, 0, 0); } return SetBitMask(&bitmap, bmp_rect.left, bmp_rect.top, fill_color); @@ -1010,13 +996,13 @@ bool CFX_RenderDevice::DrawNormalText(int nChars, if (!glyph.m_pGlyph) continue; - pdfium::base::CheckedNumeric<int> left = glyph.m_Origin.x; + pdfium::base::CheckedNumeric<int> left = glyph.m_OriginX; left += glyph.m_pGlyph->m_Left; left -= pixel_left; if (!left.IsValid()) return false; - pdfium::base::CheckedNumeric<int> top = glyph.m_Origin.y; + pdfium::base::CheckedNumeric<int> top = glyph.m_OriginY; top -= glyph.m_pGlyph->m_Top; top -= pixel_top; if (!top.IsValid()) @@ -1036,7 +1022,7 @@ bool CFX_RenderDevice::DrawNormalText(int nChars, } bool bBGRStripe = !!(text_flags & FXTEXT_BGR_STRIPE); ncols /= 3; - int x_subpixel = static_cast<int>(glyph.m_fOrigin.x * 3) % 3; + int x_subpixel = (int)(glyph.m_fOriginX * 3) % 3; int start_col = pdfium::base::ValueOrDieForType<int>(pdfium::base::CheckMax(left, 0)); pdfium::base::CheckedNumeric<int> end_col_safe = left; @@ -1079,8 +1065,8 @@ bool CFX_RenderDevice::DrawTextPath(int nChars, charpos.m_AdjustMatrix[2], charpos.m_AdjustMatrix[3], 0, 0); } - matrix.Concat(CFX_Matrix(font_size, 0, 0, font_size, charpos.m_Origin.x, - charpos.m_Origin.y)); + matrix.Concat(CFX_Matrix(font_size, 0, 0, font_size, charpos.m_OriginX, + charpos.m_OriginY)); const CFX_PathData* pPath = pFont->LoadGlyphPath(charpos.m_GlyphIndex, charpos.m_FontCharWidth); if (!pPath) |