diff options
Diffstat (limited to 'fpdfsdk/fxedit/fxet_ap.cpp')
-rw-r--r-- | fpdfsdk/fxedit/fxet_ap.cpp | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/fpdfsdk/fxedit/fxet_ap.cpp b/fpdfsdk/fxedit/fxet_ap.cpp index 863a2d2133..8484e5de63 100644 --- a/fpdfsdk/fxedit/fxet_ap.cpp +++ b/fpdfsdk/fxedit/fxet_ap.cpp @@ -11,31 +11,6 @@ #include "fpdfsdk/fxedit/include/fx_edit.h" #include "fpdfsdk/fxedit/include/fxet_edit.h" -namespace { - -CFX_ByteString GetWordRenderString(const CFX_ByteString& strWords) { - if (strWords.GetLength() > 0) - return PDF_EncodeString(strWords) + " Tj\n"; - return CFX_ByteString(); -} - -CFX_ByteString GetFontSetString(IPVT_FontMap* pFontMap, - int32_t nFontIndex, - FX_FLOAT fFontSize) { - if (!pFontMap) - return CFX_ByteString(); - - CFX_ByteString sFontAlias = pFontMap->GetPDFFontAlias(nFontIndex); - if (sFontAlias.GetLength() <= 0 || fFontSize <= 0) - return CFX_ByteString(); - - CFX_ByteTextBuf sRet; - sRet << "/" << sFontAlias << " " << fFontSize << " Tf\n"; - return sRet.MakeString(); -} - -} // namespace - CFX_ByteString GetPDFWordString(IPVT_FontMap* pFontMap, int32_t nFontIndex, uint16_t Word, @@ -61,144 +36,3 @@ CFX_ByteString GetPDFWordString(IPVT_FontMap* pFontMap, pPDFFont->AppendChar(sWord, Word); return sWord; } - -CFX_ByteString IFX_Edit::GetEditAppearanceStream(IFX_Edit* pEdit, - const CFX_FloatPoint& ptOffset, - const CPVT_WordRange* pRange, - FX_BOOL bContinuous, - uint16_t SubWord) { - IFX_Edit_Iterator* pIterator = pEdit->GetIterator(); - if (pRange) - pIterator->SetAt(pRange->BeginPos); - else - pIterator->SetAt(0); - - CFX_ByteTextBuf sEditStream; - CFX_ByteTextBuf sWords; - int32_t nCurFontIndex = -1; - CFX_FloatPoint ptOld(0.0f, 0.0f); - CFX_FloatPoint ptNew(0.0f, 0.0f); - CPVT_WordPlace oldplace; - while (pIterator->NextWord()) { - CPVT_WordPlace place = pIterator->GetAt(); - - if (pRange && place.WordCmp(pRange->EndPos) > 0) - break; - - if (bContinuous) { - if (place.LineCmp(oldplace) != 0) { - if (sWords.GetSize() > 0) { - sEditStream << GetWordRenderString(sWords.MakeString()); - sWords.Clear(); - } - - CPVT_Word word; - if (pIterator->GetWord(word)) { - ptNew = CFX_FloatPoint(word.ptWord.x + ptOffset.x, - word.ptWord.y + ptOffset.y); - } else { - CPVT_Line line; - pIterator->GetLine(line); - ptNew = CFX_FloatPoint(line.ptLine.x + ptOffset.x, - line.ptLine.y + ptOffset.y); - } - - if (ptNew.x != ptOld.x || ptNew.y != ptOld.y) { - sEditStream << ptNew.x - ptOld.x << " " << ptNew.y - ptOld.y - << " Td\n"; - - ptOld = ptNew; - } - } - - CPVT_Word word; - if (pIterator->GetWord(word)) { - if (word.nFontIndex != nCurFontIndex) { - if (sWords.GetSize() > 0) { - sEditStream << GetWordRenderString(sWords.MakeString()); - sWords.Clear(); - } - sEditStream << GetFontSetString(pEdit->GetFontMap(), word.nFontIndex, - word.fFontSize); - nCurFontIndex = word.nFontIndex; - } - - sWords << GetPDFWordString(pEdit->GetFontMap(), nCurFontIndex, - word.Word, SubWord); - } - - oldplace = place; - } else { - CPVT_Word word; - if (pIterator->GetWord(word)) { - ptNew = CFX_FloatPoint(word.ptWord.x + ptOffset.x, - word.ptWord.y + ptOffset.y); - - if (ptNew.x != ptOld.x || ptNew.y != ptOld.y) { - sEditStream << ptNew.x - ptOld.x << " " << ptNew.y - ptOld.y - << " Td\n"; - ptOld = ptNew; - } - - if (word.nFontIndex != nCurFontIndex) { - sEditStream << GetFontSetString(pEdit->GetFontMap(), word.nFontIndex, - word.fFontSize); - nCurFontIndex = word.nFontIndex; - } - - sEditStream << GetWordRenderString(GetPDFWordString( - pEdit->GetFontMap(), nCurFontIndex, word.Word, SubWord)); - } - } - } - - if (sWords.GetSize() > 0) { - sEditStream << GetWordRenderString(sWords.MakeString()); - sWords.Clear(); - } - - CFX_ByteTextBuf sAppStream; - if (sEditStream.GetSize() > 0) { - int32_t nHorzScale = pEdit->GetHorzScale(); - if (nHorzScale != 100) { - sAppStream << nHorzScale << " Tz\n"; - } - - FX_FLOAT fCharSpace = pEdit->GetCharSpace(); - if (!FX_EDIT_IsFloatZero(fCharSpace)) { - sAppStream << fCharSpace << " Tc\n"; - } - - sAppStream << sEditStream; - } - - return sAppStream.MakeString(); -} - -CFX_ByteString IFX_Edit::GetSelectAppearanceStream( - IFX_Edit* pEdit, - const CFX_FloatPoint& ptOffset, - const CPVT_WordRange* pRange) { - if (!pRange || !pRange->IsExist()) - return CFX_ByteString(); - - IFX_Edit_Iterator* pIterator = pEdit->GetIterator(); - pIterator->SetAt(pRange->BeginPos); - - CFX_ByteTextBuf sRet; - while (pIterator->NextWord()) { - CPVT_WordPlace place = pIterator->GetAt(); - if (place.WordCmp(pRange->EndPos) > 0) - break; - - CPVT_Word word; - CPVT_Line line; - if (pIterator->GetWord(word) && pIterator->GetLine(line)) { - sRet << word.ptWord.x + ptOffset.x << " " - << line.ptLine.y + line.fLineDescent << " " << word.fWidth << " " - << line.fLineAscent - line.fLineDescent << " re\nf\n"; - } - } - - return sRet.MakeString(); -} |