| Index: core/src/fpdfdoc/doc_action.cpp
|
| diff --git a/core/src/fpdfdoc/doc_action.cpp b/core/src/fpdfdoc/doc_action.cpp
|
| index 851b2d67098de8d57c9478f89de29bbaf6c1f8b5..f8a11e5682e8a8d17f2d6d7714aadafe4a5bae58 100644
|
| --- a/core/src/fpdfdoc/doc_action.cpp
|
| +++ b/core/src/fpdfdoc/doc_action.cpp
|
| @@ -5,368 +5,346 @@
|
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
|
|
| #include "../../include/fpdfdoc/fpdf_doc.h"
|
| -CPDF_Dest CPDF_Action::GetDest(CPDF_Document* pDoc) const
|
| -{
|
| - if (!m_pDict) {
|
| - return CPDF_Dest();
|
| - }
|
| - CFX_ByteString type = m_pDict->GetString("S");
|
| - if (type != "GoTo" && type != "GoToR") {
|
| - return CPDF_Dest();
|
| - }
|
| - CPDF_Object* pDest = m_pDict->GetElementValue("D");
|
| - if (!pDest) {
|
| - return CPDF_Dest();
|
| - }
|
| - if (pDest->GetType() == PDFOBJ_STRING || pDest->GetType() == PDFOBJ_NAME) {
|
| - CPDF_NameTree name_tree(pDoc, FX_BSTRC("Dests"));
|
| - CFX_ByteStringC name = pDest->GetString();
|
| - return CPDF_Dest(name_tree.LookupNamedDest(pDoc, name));
|
| - }
|
| - if (pDest->GetType() == PDFOBJ_ARRAY) {
|
| - return CPDF_Dest((CPDF_Array*)pDest);
|
| - }
|
| +CPDF_Dest CPDF_Action::GetDest(CPDF_Document* pDoc) const {
|
| + if (!m_pDict) {
|
| return CPDF_Dest();
|
| + }
|
| + CFX_ByteString type = m_pDict->GetString("S");
|
| + if (type != "GoTo" && type != "GoToR") {
|
| + return CPDF_Dest();
|
| + }
|
| + CPDF_Object* pDest = m_pDict->GetElementValue("D");
|
| + if (!pDest) {
|
| + return CPDF_Dest();
|
| + }
|
| + if (pDest->GetType() == PDFOBJ_STRING || pDest->GetType() == PDFOBJ_NAME) {
|
| + CPDF_NameTree name_tree(pDoc, FX_BSTRC("Dests"));
|
| + CFX_ByteStringC name = pDest->GetString();
|
| + return CPDF_Dest(name_tree.LookupNamedDest(pDoc, name));
|
| + }
|
| + if (pDest->GetType() == PDFOBJ_ARRAY) {
|
| + return CPDF_Dest((CPDF_Array*)pDest);
|
| + }
|
| + return CPDF_Dest();
|
| }
|
| -const FX_CHAR* g_sATypes[] = {"Unknown", "GoTo", "GoToR", "GoToE", "Launch", "Thread", "URI", "Sound", "Movie",
|
| - "Hide", "Named", "SubmitForm", "ResetForm", "ImportData", "JavaScript", "SetOCGState",
|
| - "Rendition", "Trans", "GoTo3DView", ""
|
| - };
|
| -CPDF_Action::ActionType CPDF_Action::GetType() const
|
| -{
|
| - ActionType eType = Unknown;
|
| - if (m_pDict != NULL) {
|
| - CFX_ByteString csType = m_pDict->GetString("S");
|
| - if (!csType.IsEmpty()) {
|
| - int i = 0;
|
| - while (g_sATypes[i][0] != '\0') {
|
| - if (csType == g_sATypes[i]) {
|
| - return (ActionType)i;
|
| - }
|
| - i ++;
|
| - }
|
| +const FX_CHAR* g_sATypes[] = {
|
| + "Unknown", "GoTo", "GoToR", "GoToE", "Launch",
|
| + "Thread", "URI", "Sound", "Movie", "Hide",
|
| + "Named", "SubmitForm", "ResetForm", "ImportData", "JavaScript",
|
| + "SetOCGState", "Rendition", "Trans", "GoTo3DView", ""};
|
| +CPDF_Action::ActionType CPDF_Action::GetType() const {
|
| + ActionType eType = Unknown;
|
| + if (m_pDict != NULL) {
|
| + CFX_ByteString csType = m_pDict->GetString("S");
|
| + if (!csType.IsEmpty()) {
|
| + int i = 0;
|
| + while (g_sATypes[i][0] != '\0') {
|
| + if (csType == g_sATypes[i]) {
|
| + return (ActionType)i;
|
| }
|
| + i++;
|
| + }
|
| }
|
| - return eType;
|
| + }
|
| + return eType;
|
| }
|
| -CFX_WideString CPDF_Action::GetFilePath() const
|
| -{
|
| - CFX_ByteString type = m_pDict->GetString("S");
|
| - if (type != "GoToR" && type != "Launch" &&
|
| - type != "SubmitForm" && type != "ImportData") {
|
| - return CFX_WideString();
|
| - }
|
| - CPDF_Object* pFile = m_pDict->GetElementValue("F");
|
| - CFX_WideString path;
|
| - if (pFile == NULL) {
|
| - if (type == "Launch") {
|
| - CPDF_Dictionary* pWinDict = m_pDict->GetDict(FX_BSTRC("Win"));
|
| - if (pWinDict) {
|
| - return CFX_WideString::FromLocal(pWinDict->GetString(FX_BSTRC("F")));
|
| - }
|
| - }
|
| - return path;
|
| +CFX_WideString CPDF_Action::GetFilePath() const {
|
| + CFX_ByteString type = m_pDict->GetString("S");
|
| + if (type != "GoToR" && type != "Launch" && type != "SubmitForm" &&
|
| + type != "ImportData") {
|
| + return CFX_WideString();
|
| + }
|
| + CPDF_Object* pFile = m_pDict->GetElementValue("F");
|
| + CFX_WideString path;
|
| + if (pFile == NULL) {
|
| + if (type == "Launch") {
|
| + CPDF_Dictionary* pWinDict = m_pDict->GetDict(FX_BSTRC("Win"));
|
| + if (pWinDict) {
|
| + return CFX_WideString::FromLocal(pWinDict->GetString(FX_BSTRC("F")));
|
| + }
|
| }
|
| - CPDF_FileSpec filespec(pFile);
|
| - filespec.GetFileName(path);
|
| return path;
|
| + }
|
| + CPDF_FileSpec filespec(pFile);
|
| + filespec.GetFileName(path);
|
| + return path;
|
| }
|
| -CFX_ByteString CPDF_Action::GetURI(CPDF_Document* pDoc) const
|
| -{
|
| - CFX_ByteString csURI;
|
| - if (m_pDict == NULL) {
|
| - return csURI;
|
| - }
|
| - if (m_pDict->GetString("S") != "URI") {
|
| - return csURI;
|
| - }
|
| - csURI = m_pDict->GetString("URI");
|
| - CPDF_Dictionary* pRoot = pDoc->GetRoot();
|
| - CPDF_Dictionary* pURI = pRoot->GetDict("URI");
|
| - if (pURI != NULL) {
|
| - if (csURI.Find(FX_BSTRC(":"), 0) < 1) {
|
| - csURI = pURI->GetString("Base") + csURI;
|
| - }
|
| - }
|
| +CFX_ByteString CPDF_Action::GetURI(CPDF_Document* pDoc) const {
|
| + CFX_ByteString csURI;
|
| + if (m_pDict == NULL) {
|
| return csURI;
|
| + }
|
| + if (m_pDict->GetString("S") != "URI") {
|
| + return csURI;
|
| + }
|
| + csURI = m_pDict->GetString("URI");
|
| + CPDF_Dictionary* pRoot = pDoc->GetRoot();
|
| + CPDF_Dictionary* pURI = pRoot->GetDict("URI");
|
| + if (pURI != NULL) {
|
| + if (csURI.Find(FX_BSTRC(":"), 0) < 1) {
|
| + csURI = pURI->GetString("Base") + csURI;
|
| + }
|
| + }
|
| + return csURI;
|
| }
|
| -FX_DWORD CPDF_ActionFields::GetFieldsCount() const
|
| -{
|
| - if (m_pAction == NULL) {
|
| - return 0;
|
| - }
|
| - CPDF_Dictionary* pDict = m_pAction->GetDict();
|
| - if (pDict == NULL) {
|
| - return 0;
|
| - }
|
| - CFX_ByteString csType = pDict->GetString("S");
|
| - CPDF_Object* pFields = NULL;
|
| - if (csType == "Hide") {
|
| - pFields = pDict->GetElementValue("T");
|
| - } else {
|
| - pFields = pDict->GetArray("Fields");
|
| - }
|
| - if (pFields == NULL) {
|
| - return 0;
|
| - }
|
| - int iType = pFields->GetType();
|
| - if (iType == PDFOBJ_DICTIONARY) {
|
| - return 1;
|
| - }
|
| - if (iType == PDFOBJ_STRING) {
|
| - return 1;
|
| - }
|
| - if (iType == PDFOBJ_ARRAY) {
|
| - return ((CPDF_Array*)pFields)->GetCount();
|
| - }
|
| +FX_DWORD CPDF_ActionFields::GetFieldsCount() const {
|
| + if (m_pAction == NULL) {
|
| + return 0;
|
| + }
|
| + CPDF_Dictionary* pDict = m_pAction->GetDict();
|
| + if (pDict == NULL) {
|
| + return 0;
|
| + }
|
| + CFX_ByteString csType = pDict->GetString("S");
|
| + CPDF_Object* pFields = NULL;
|
| + if (csType == "Hide") {
|
| + pFields = pDict->GetElementValue("T");
|
| + } else {
|
| + pFields = pDict->GetArray("Fields");
|
| + }
|
| + if (pFields == NULL) {
|
| return 0;
|
| + }
|
| + int iType = pFields->GetType();
|
| + if (iType == PDFOBJ_DICTIONARY) {
|
| + return 1;
|
| + }
|
| + if (iType == PDFOBJ_STRING) {
|
| + return 1;
|
| + }
|
| + if (iType == PDFOBJ_ARRAY) {
|
| + return ((CPDF_Array*)pFields)->GetCount();
|
| + }
|
| + return 0;
|
| }
|
| -void CPDF_ActionFields::GetAllFields(CFX_PtrArray& fieldObjects) const
|
| -{
|
| - fieldObjects.RemoveAll();
|
| - if (m_pAction == NULL) {
|
| - return;
|
| - }
|
| - CPDF_Dictionary* pDict = m_pAction->GetDict();
|
| - if (pDict == NULL) {
|
| - return;
|
| - }
|
| - CFX_ByteString csType = pDict->GetString("S");
|
| - CPDF_Object* pFields = NULL;
|
| - if (csType == "Hide") {
|
| - pFields = pDict->GetElementValue("T");
|
| - } else {
|
| - pFields = pDict->GetArray("Fields");
|
| - }
|
| - if (pFields == NULL) {
|
| - return;
|
| - }
|
| - int iType = pFields->GetType();
|
| - if (iType == PDFOBJ_DICTIONARY || iType == PDFOBJ_STRING) {
|
| - fieldObjects.Add(pFields);
|
| - } else if (iType == PDFOBJ_ARRAY) {
|
| - CPDF_Array* pArray = (CPDF_Array*)pFields;
|
| - FX_DWORD iCount = pArray->GetCount();
|
| - for (FX_DWORD i = 0; i < iCount; i ++) {
|
| - CPDF_Object* pObj = pArray->GetElementValue(i);
|
| - if (pObj != NULL) {
|
| - fieldObjects.Add(pObj);
|
| - }
|
| - }
|
| - }
|
| +void CPDF_ActionFields::GetAllFields(CFX_PtrArray& fieldObjects) const {
|
| + fieldObjects.RemoveAll();
|
| + if (m_pAction == NULL) {
|
| + return;
|
| + }
|
| + CPDF_Dictionary* pDict = m_pAction->GetDict();
|
| + if (pDict == NULL) {
|
| + return;
|
| + }
|
| + CFX_ByteString csType = pDict->GetString("S");
|
| + CPDF_Object* pFields = NULL;
|
| + if (csType == "Hide") {
|
| + pFields = pDict->GetElementValue("T");
|
| + } else {
|
| + pFields = pDict->GetArray("Fields");
|
| + }
|
| + if (pFields == NULL) {
|
| + return;
|
| + }
|
| + int iType = pFields->GetType();
|
| + if (iType == PDFOBJ_DICTIONARY || iType == PDFOBJ_STRING) {
|
| + fieldObjects.Add(pFields);
|
| + } else if (iType == PDFOBJ_ARRAY) {
|
| + CPDF_Array* pArray = (CPDF_Array*)pFields;
|
| + FX_DWORD iCount = pArray->GetCount();
|
| + for (FX_DWORD i = 0; i < iCount; i++) {
|
| + CPDF_Object* pObj = pArray->GetElementValue(i);
|
| + if (pObj != NULL) {
|
| + fieldObjects.Add(pObj);
|
| + }
|
| + }
|
| + }
|
| }
|
| -CPDF_Object* CPDF_ActionFields::GetField(FX_DWORD iIndex) const
|
| -{
|
| - if (m_pAction == NULL) {
|
| - return NULL;
|
| - }
|
| - CPDF_Dictionary* pDict = m_pAction->GetDict();
|
| - if (pDict == NULL) {
|
| - return NULL;
|
| - }
|
| - CFX_ByteString csType = pDict->GetString("S");
|
| - CPDF_Object* pFields = NULL;
|
| - if (csType == "Hide") {
|
| - pFields = pDict->GetElementValue("T");
|
| - } else {
|
| - pFields = pDict->GetArray("Fields");
|
| - }
|
| - if (pFields == NULL) {
|
| - return NULL;
|
| - }
|
| - CPDF_Object* pFindObj = NULL;
|
| - int iType = pFields->GetType();
|
| - if (iType == PDFOBJ_DICTIONARY || iType == PDFOBJ_STRING) {
|
| - if (iIndex == 0) {
|
| - pFindObj = pFields;
|
| - }
|
| - } else if (iType == PDFOBJ_ARRAY) {
|
| - pFindObj = ((CPDF_Array*)pFields)->GetElementValue(iIndex);
|
| - }
|
| - return pFindObj;
|
| +CPDF_Object* CPDF_ActionFields::GetField(FX_DWORD iIndex) const {
|
| + if (m_pAction == NULL) {
|
| + return NULL;
|
| + }
|
| + CPDF_Dictionary* pDict = m_pAction->GetDict();
|
| + if (pDict == NULL) {
|
| + return NULL;
|
| + }
|
| + CFX_ByteString csType = pDict->GetString("S");
|
| + CPDF_Object* pFields = NULL;
|
| + if (csType == "Hide") {
|
| + pFields = pDict->GetElementValue("T");
|
| + } else {
|
| + pFields = pDict->GetArray("Fields");
|
| + }
|
| + if (pFields == NULL) {
|
| + return NULL;
|
| + }
|
| + CPDF_Object* pFindObj = NULL;
|
| + int iType = pFields->GetType();
|
| + if (iType == PDFOBJ_DICTIONARY || iType == PDFOBJ_STRING) {
|
| + if (iIndex == 0) {
|
| + pFindObj = pFields;
|
| + }
|
| + } else if (iType == PDFOBJ_ARRAY) {
|
| + pFindObj = ((CPDF_Array*)pFields)->GetElementValue(iIndex);
|
| + }
|
| + return pFindObj;
|
| }
|
| -CPDF_LWinParam CPDF_Action::GetWinParam() const
|
| -{
|
| - if (m_pDict == NULL) {
|
| - return NULL;
|
| - }
|
| - if (m_pDict->GetString("S") != "Launch") {
|
| - return NULL;
|
| - }
|
| - return m_pDict->GetDict("Win");
|
| +CPDF_LWinParam CPDF_Action::GetWinParam() const {
|
| + if (m_pDict == NULL) {
|
| + return NULL;
|
| + }
|
| + if (m_pDict->GetString("S") != "Launch") {
|
| + return NULL;
|
| + }
|
| + return m_pDict->GetDict("Win");
|
| }
|
| -CFX_WideString CPDF_Action::GetJavaScript() const
|
| -{
|
| - CFX_WideString csJS;
|
| - if (m_pDict == NULL) {
|
| - return csJS;
|
| - }
|
| - CPDF_Object* pJS = m_pDict->GetElementValue("JS");
|
| - if (pJS != NULL) {
|
| - return pJS->GetUnicodeText();
|
| - }
|
| +CFX_WideString CPDF_Action::GetJavaScript() const {
|
| + CFX_WideString csJS;
|
| + if (m_pDict == NULL) {
|
| return csJS;
|
| + }
|
| + CPDF_Object* pJS = m_pDict->GetElementValue("JS");
|
| + if (pJS != NULL) {
|
| + return pJS->GetUnicodeText();
|
| + }
|
| + return csJS;
|
| }
|
| -CPDF_Dictionary* CPDF_Action::GetAnnot() const
|
| -{
|
| - if (!m_pDict) {
|
| - return nullptr;
|
| - }
|
| - CFX_ByteString csType = m_pDict->GetString("S");
|
| - if (csType == FX_BSTRC("Rendition")) {
|
| - return m_pDict->GetDict("AN");
|
| - }
|
| - if (csType == FX_BSTRC("Movie")) {
|
| - return m_pDict->GetDict("Annotation");
|
| - }
|
| +CPDF_Dictionary* CPDF_Action::GetAnnot() const {
|
| + if (!m_pDict) {
|
| return nullptr;
|
| + }
|
| + CFX_ByteString csType = m_pDict->GetString("S");
|
| + if (csType == FX_BSTRC("Rendition")) {
|
| + return m_pDict->GetDict("AN");
|
| + }
|
| + if (csType == FX_BSTRC("Movie")) {
|
| + return m_pDict->GetDict("Annotation");
|
| + }
|
| + return nullptr;
|
| }
|
| -int32_t CPDF_Action::GetOperationType() const
|
| -{
|
| - if (m_pDict == NULL) {
|
| - return 0;
|
| - }
|
| - CFX_ByteString csType = m_pDict->GetString("S");
|
| - if (csType == FX_BSTRC("Rendition")) {
|
| - return m_pDict->GetInteger("OP");
|
| - }
|
| - if (csType == FX_BSTRC("Movie")) {
|
| - CFX_ByteString csOP = m_pDict->GetString("Operation");
|
| - if (csOP == FX_BSTRC("Play")) {
|
| - return 0;
|
| - }
|
| - if (csOP == FX_BSTRC("Stop")) {
|
| - return 1;
|
| - }
|
| - if (csOP == FX_BSTRC("Pause")) {
|
| - return 2;
|
| - }
|
| - if (csOP == FX_BSTRC("Resume")) {
|
| - return 3;
|
| - }
|
| - }
|
| +int32_t CPDF_Action::GetOperationType() const {
|
| + if (m_pDict == NULL) {
|
| return 0;
|
| + }
|
| + CFX_ByteString csType = m_pDict->GetString("S");
|
| + if (csType == FX_BSTRC("Rendition")) {
|
| + return m_pDict->GetInteger("OP");
|
| + }
|
| + if (csType == FX_BSTRC("Movie")) {
|
| + CFX_ByteString csOP = m_pDict->GetString("Operation");
|
| + if (csOP == FX_BSTRC("Play")) {
|
| + return 0;
|
| + }
|
| + if (csOP == FX_BSTRC("Stop")) {
|
| + return 1;
|
| + }
|
| + if (csOP == FX_BSTRC("Pause")) {
|
| + return 2;
|
| + }
|
| + if (csOP == FX_BSTRC("Resume")) {
|
| + return 3;
|
| + }
|
| + }
|
| + return 0;
|
| }
|
| -FX_DWORD CPDF_Action::GetSubActionsCount() const
|
| -{
|
| - if (m_pDict == NULL || !m_pDict->KeyExist("Next")) {
|
| - return 0;
|
| - }
|
| - CPDF_Object* pNext = m_pDict->GetElementValue("Next");
|
| - if (!pNext) {
|
| - return 0;
|
| - }
|
| - int iObjType = pNext->GetType();
|
| - if (iObjType == PDFOBJ_DICTIONARY) {
|
| - return 1;
|
| - }
|
| - if (iObjType == PDFOBJ_ARRAY) {
|
| - return ((CPDF_Array*)pNext)->GetCount();
|
| - }
|
| +FX_DWORD CPDF_Action::GetSubActionsCount() const {
|
| + if (m_pDict == NULL || !m_pDict->KeyExist("Next")) {
|
| return 0;
|
| + }
|
| + CPDF_Object* pNext = m_pDict->GetElementValue("Next");
|
| + if (!pNext) {
|
| + return 0;
|
| + }
|
| + int iObjType = pNext->GetType();
|
| + if (iObjType == PDFOBJ_DICTIONARY) {
|
| + return 1;
|
| + }
|
| + if (iObjType == PDFOBJ_ARRAY) {
|
| + return ((CPDF_Array*)pNext)->GetCount();
|
| + }
|
| + return 0;
|
| }
|
| -CPDF_Action CPDF_Action::GetSubAction(FX_DWORD iIndex) const
|
| -{
|
| - if (m_pDict == NULL || !m_pDict->KeyExist("Next")) {
|
| - return CPDF_Action();
|
| - }
|
| - CPDF_Object* pNext = m_pDict->GetElementValue("Next");
|
| - int iObjType = pNext->GetType();
|
| - if (iObjType == PDFOBJ_DICTIONARY) {
|
| - CPDF_Dictionary *pDict = static_cast<CPDF_Dictionary*>(pNext);
|
| - if (iIndex == 0) {
|
| - return CPDF_Action(pDict);
|
| - }
|
| - } else if (iObjType == PDFOBJ_ARRAY) {
|
| - CPDF_Array* pArray = static_cast<CPDF_Array*>(pNext);
|
| - return CPDF_Action(pArray->GetDict(iIndex));
|
| - }
|
| +CPDF_Action CPDF_Action::GetSubAction(FX_DWORD iIndex) const {
|
| + if (m_pDict == NULL || !m_pDict->KeyExist("Next")) {
|
| return CPDF_Action();
|
| + }
|
| + CPDF_Object* pNext = m_pDict->GetElementValue("Next");
|
| + int iObjType = pNext->GetType();
|
| + if (iObjType == PDFOBJ_DICTIONARY) {
|
| + CPDF_Dictionary* pDict = static_cast<CPDF_Dictionary*>(pNext);
|
| + if (iIndex == 0) {
|
| + return CPDF_Action(pDict);
|
| + }
|
| + } else if (iObjType == PDFOBJ_ARRAY) {
|
| + CPDF_Array* pArray = static_cast<CPDF_Array*>(pNext);
|
| + return CPDF_Action(pArray->GetDict(iIndex));
|
| + }
|
| + return CPDF_Action();
|
| }
|
| -const FX_CHAR* g_sAATypes[] = {"E", "X", "D", "U", "Fo", "Bl", "PO", "PC", "PV", "PI",
|
| - "O", "C",
|
| - "K", "F", "V", "C",
|
| - "WC", "WS", "DS", "WP", "DP",
|
| - ""
|
| - };
|
| -FX_BOOL CPDF_AAction::ActionExist(AActionType eType) const
|
| -{
|
| - if (m_pDict == NULL) {
|
| - return FALSE;
|
| - }
|
| - return m_pDict->KeyExist(g_sAATypes[(int)eType]);
|
| +const FX_CHAR* g_sAATypes[] = {"E", "X", "D", "U", "Fo", "Bl", "PO", "PC",
|
| + "PV", "PI", "O", "C", "K", "F", "V", "C",
|
| + "WC", "WS", "DS", "WP", "DP", ""};
|
| +FX_BOOL CPDF_AAction::ActionExist(AActionType eType) const {
|
| + if (m_pDict == NULL) {
|
| + return FALSE;
|
| + }
|
| + return m_pDict->KeyExist(g_sAATypes[(int)eType]);
|
| }
|
| -CPDF_Action CPDF_AAction::GetAction(AActionType eType) const
|
| -{
|
| - if (!m_pDict) {
|
| - return CPDF_Action();
|
| - }
|
| - return CPDF_Action(m_pDict->GetDict(g_sAATypes[(int)eType]));
|
| +CPDF_Action CPDF_AAction::GetAction(AActionType eType) const {
|
| + if (!m_pDict) {
|
| + return CPDF_Action();
|
| + }
|
| + return CPDF_Action(m_pDict->GetDict(g_sAATypes[(int)eType]));
|
| }
|
| -FX_POSITION CPDF_AAction::GetStartPos() const
|
| -{
|
| - if (m_pDict == NULL) {
|
| - return NULL;
|
| - }
|
| - return m_pDict->GetStartPos();
|
| +FX_POSITION CPDF_AAction::GetStartPos() const {
|
| + if (m_pDict == NULL) {
|
| + return NULL;
|
| + }
|
| + return m_pDict->GetStartPos();
|
| }
|
| -CPDF_Action CPDF_AAction::GetNextAction(FX_POSITION& pos, AActionType& eType) const
|
| -{
|
| - if (m_pDict == NULL) {
|
| - return CPDF_Action();
|
| - }
|
| - CFX_ByteString csKey;
|
| - CPDF_Object* pObj = m_pDict->GetNextElement(pos, csKey);
|
| - if (!pObj) {
|
| - return CPDF_Action();
|
| - }
|
| - CPDF_Object* pDirect = pObj->GetDirect();
|
| - if (!pDirect || pDirect->GetType() != PDFOBJ_DICTIONARY) {
|
| - return CPDF_Action();
|
| - }
|
| - int i = 0;
|
| - while (g_sAATypes[i][0] != '\0') {
|
| - if (csKey == g_sAATypes[i]) {
|
| - break;
|
| - }
|
| - i++;
|
| - }
|
| - eType = (AActionType)i;
|
| - return CPDF_Action(static_cast<CPDF_Dictionary*>(pDirect));
|
| +CPDF_Action CPDF_AAction::GetNextAction(FX_POSITION& pos,
|
| + AActionType& eType) const {
|
| + if (m_pDict == NULL) {
|
| + return CPDF_Action();
|
| + }
|
| + CFX_ByteString csKey;
|
| + CPDF_Object* pObj = m_pDict->GetNextElement(pos, csKey);
|
| + if (!pObj) {
|
| + return CPDF_Action();
|
| + }
|
| + CPDF_Object* pDirect = pObj->GetDirect();
|
| + if (!pDirect || pDirect->GetType() != PDFOBJ_DICTIONARY) {
|
| + return CPDF_Action();
|
| + }
|
| + int i = 0;
|
| + while (g_sAATypes[i][0] != '\0') {
|
| + if (csKey == g_sAATypes[i]) {
|
| + break;
|
| + }
|
| + i++;
|
| + }
|
| + eType = (AActionType)i;
|
| + return CPDF_Action(static_cast<CPDF_Dictionary*>(pDirect));
|
| }
|
| -CPDF_DocJSActions::CPDF_DocJSActions(CPDF_Document* pDoc)
|
| -{
|
| - m_pDocument = pDoc;
|
| +CPDF_DocJSActions::CPDF_DocJSActions(CPDF_Document* pDoc) {
|
| + m_pDocument = pDoc;
|
| }
|
| -int CPDF_DocJSActions::CountJSActions() const
|
| -{
|
| - ASSERT(m_pDocument != NULL);
|
| - CPDF_NameTree name_tree(m_pDocument, FX_BSTRC("JavaScript"));
|
| - return name_tree.GetCount();
|
| +int CPDF_DocJSActions::CountJSActions() const {
|
| + ASSERT(m_pDocument != NULL);
|
| + CPDF_NameTree name_tree(m_pDocument, FX_BSTRC("JavaScript"));
|
| + return name_tree.GetCount();
|
| }
|
| -CPDF_Action CPDF_DocJSActions::GetJSAction(int index, CFX_ByteString& csName) const
|
| -{
|
| - ASSERT(m_pDocument != NULL);
|
| - CPDF_NameTree name_tree(m_pDocument, FX_BSTRC("JavaScript"));
|
| - CPDF_Object *pAction = name_tree.LookupValue(index, csName);
|
| - if (pAction == NULL || pAction->GetType() != PDFOBJ_DICTIONARY) {
|
| - return CPDF_Action();
|
| - }
|
| - return CPDF_Action(pAction->GetDict());
|
| +CPDF_Action CPDF_DocJSActions::GetJSAction(int index,
|
| + CFX_ByteString& csName) const {
|
| + ASSERT(m_pDocument != NULL);
|
| + CPDF_NameTree name_tree(m_pDocument, FX_BSTRC("JavaScript"));
|
| + CPDF_Object* pAction = name_tree.LookupValue(index, csName);
|
| + if (pAction == NULL || pAction->GetType() != PDFOBJ_DICTIONARY) {
|
| + return CPDF_Action();
|
| + }
|
| + return CPDF_Action(pAction->GetDict());
|
| }
|
| -CPDF_Action CPDF_DocJSActions::GetJSAction(const CFX_ByteString& csName) const
|
| -{
|
| - ASSERT(m_pDocument != NULL);
|
| - CPDF_NameTree name_tree(m_pDocument, FX_BSTRC("JavaScript"));
|
| - CPDF_Object *pAction = name_tree.LookupValue(csName);
|
| - if (pAction == NULL || pAction->GetType() != PDFOBJ_DICTIONARY) {
|
| - return CPDF_Action();
|
| - }
|
| - return CPDF_Action(pAction->GetDict());
|
| +CPDF_Action CPDF_DocJSActions::GetJSAction(const CFX_ByteString& csName) const {
|
| + ASSERT(m_pDocument != NULL);
|
| + CPDF_NameTree name_tree(m_pDocument, FX_BSTRC("JavaScript"));
|
| + CPDF_Object* pAction = name_tree.LookupValue(csName);
|
| + if (pAction == NULL || pAction->GetType() != PDFOBJ_DICTIONARY) {
|
| + return CPDF_Action();
|
| + }
|
| + return CPDF_Action(pAction->GetDict());
|
| }
|
| -int CPDF_DocJSActions::FindJSAction(const CFX_ByteString& csName) const
|
| -{
|
| - ASSERT(m_pDocument != NULL);
|
| - CPDF_NameTree name_tree(m_pDocument, FX_BSTRC("JavaScript"));
|
| - return name_tree.GetIndex(csName);
|
| +int CPDF_DocJSActions::FindJSAction(const CFX_ByteString& csName) const {
|
| + ASSERT(m_pDocument != NULL);
|
| + CPDF_NameTree name_tree(m_pDocument, FX_BSTRC("JavaScript"));
|
| + return name_tree.GetIndex(csName);
|
| }
|
|
|