FX_FLOAT CPWL_EditCtrl::GetCaretFontSize() const { FX_FLOAT fFontSize = GetFontSize(); CFX_Edit_Iterator* pIterator = m_pEdit->GetIterator(); pIterator->SetAt(m_pEdit->GetCaret()); CPVT_Word word; CPVT_Section section; if (pIterator->GetWord(word)) { fFontSize = word.fFontSize; } else if (HasFlag(PES_RICH)) { if (pIterator->GetSection(section)) { fFontSize = section.WordProps.fFontSize; } } return fFontSize; }
CPDF_Font* CPWL_EditCtrl::GetCaretFont() const { int32_t nFontIndex = 0; CFX_Edit_Iterator* pIterator = m_pEdit->GetIterator(); pIterator->SetAt(m_pEdit->GetCaret()); CPVT_Word word; CPVT_Section section; if (pIterator->GetWord(word)) { nFontIndex = word.nFontIndex; } else if (HasFlag(PES_RICH)) { if (pIterator->GetSection(section)) { nFontIndex = section.WordProps.nFontIndex; } } if (IPVT_FontMap* pFontMap = GetFontMap()) return pFontMap->GetPDFFont(nFontIndex); return nullptr; }