diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-12-10 15:39:28 -0800 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-12-10 15:39:28 -0800 |
commit | d2cfdd5c72be670aff556c44aaff53df66b23ea6 (patch) | |
tree | de7fce67d473f019174e554790b403a069c59eb5 /core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp | |
parent | 60d909e9d4444b2b8582275624ee97734d331a38 (diff) | |
download | pdfium-d2cfdd5c72be670aff556c44aaff53df66b23ea6.tar.xz |
Merge to XFA: Replace several more CFX_MapPtrToPtr with std::set or std::map
Original Review URL: https://codereview.chromium.org/1520643002 .
(cherry picked from commit 7db2a535f163e7ce5995da12161ebd0214f0f75a)
Original Review URL: https://codereview.chromium.org/1511413008 .
(cherry picked from commit 168cfb7ee0f2abbd2bddb7e7d8b430a6d8c6c120)
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1515613006 .
Diffstat (limited to 'core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp')
-rw-r--r-- | core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp index 47876a2280..227a208080 100644 --- a/core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp +++ b/core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp @@ -34,24 +34,18 @@ CFX_GlyphBitmap* CPDF_Type3Cache::LoadGlyph(FX_DWORD charcode, } else { pSizeCache = it->second; } - CFX_GlyphBitmap* pGlyphBitmap; - if (pSizeCache->m_GlyphMap.Lookup((void*)(uintptr_t)charcode, - (void*&)pGlyphBitmap)) { - return pGlyphBitmap; - } - pGlyphBitmap = + auto it2 = pSizeCache->m_GlyphMap.find(charcode); + if (it2 != pSizeCache->m_GlyphMap.end()) + return it2->second; + + CFX_GlyphBitmap* pGlyphBitmap = RenderGlyph(pSizeCache, charcode, pMatrix, retinaScaleX, retinaScaleY); - pSizeCache->m_GlyphMap.SetAt((void*)(uintptr_t)charcode, pGlyphBitmap); + pSizeCache->m_GlyphMap[charcode] = pGlyphBitmap; return pGlyphBitmap; } CPDF_Type3Glyphs::~CPDF_Type3Glyphs() { - FX_POSITION pos = m_GlyphMap.GetStartPosition(); - void* Key; - CFX_GlyphBitmap* pGlyphBitmap; - while (pos) { - m_GlyphMap.GetNextAssoc(pos, Key, (void*&)pGlyphBitmap); - delete pGlyphBitmap; - } + for (const auto& pair : m_GlyphMap) + delete pair.second; } static int _AdjustBlue(FX_FLOAT pos, int& count, int blues[]) { FX_FLOAT min_distance = 1000000.0f * 1.0f; |