summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/include/fpdfdoc/fpdf_doc.h18
-rw-r--r--core/src/fpdfdoc/doc_link.cpp18
2 files changed, 13 insertions, 23 deletions
diff --git a/core/include/fpdfdoc/fpdf_doc.h b/core/include/fpdfdoc/fpdf_doc.h
index 5e3e11acab..5c73764590 100644
--- a/core/include/fpdfdoc/fpdf_doc.h
+++ b/core/include/fpdfdoc/fpdf_doc.h
@@ -545,26 +545,16 @@ protected:
class CPDF_Link : public CFX_Object
{
public:
+ CPDF_Link() : m_pDict(nullptr) { }
+ explicit CPDF_Link(CPDF_Dictionary* pDict) : m_pDict(pDict) { }
- CPDF_Link(CPDF_Dictionary* pDict = NULL)
- {
- m_pDict = pDict;
- }
-
- operator CPDF_Dictionary*() const
- {
- return m_pDict;
- }
+ CPDF_Dictionary* GetDict() const { return m_pDict; }
CFX_FloatRect GetRect();
-
-
-
CPDF_Dest GetDest(CPDF_Document* pDoc);
-
CPDF_Action GetAction();
-
+protected:
CPDF_Dictionary* m_pDict;
};
#define ANNOTFLAG_INVISIBLE 1
diff --git a/core/src/fpdfdoc/doc_link.cpp b/core/src/fpdfdoc/doc_link.cpp
index b7c640af5e..4a42e21388 100644
--- a/core/src/fpdfdoc/doc_link.cpp
+++ b/core/src/fpdfdoc/doc_link.cpp
@@ -44,26 +44,26 @@ int CPDF_LinkList::CountLinks(CPDF_Page* pPage)
CPDF_Link CPDF_LinkList::GetLink(CPDF_Page* pPage, int index)
{
CFX_PtrArray* pPageLinkList = GetPageLinks(pPage);
- if (pPageLinkList == NULL) {
- return NULL;
+ if (!pPageLinkList) {
+ return CPDF_Link();
}
- return (CPDF_Dictionary*)pPageLinkList->GetAt(index);
+ return CPDF_Link((CPDF_Dictionary*)pPageLinkList->GetAt(index));
}
CPDF_Link CPDF_LinkList::GetLinkAtPoint(CPDF_Page* pPage, FX_FLOAT pdf_x, FX_FLOAT pdf_y)
{
CFX_PtrArray* pPageLinkList = GetPageLinks(pPage);
- if (pPageLinkList == NULL) {
- return NULL;
+ if (!pPageLinkList) {
+ return CPDF_Link();
}
int size = pPageLinkList->GetSize();
for (int i = size - 1; i >= 0; --i) {
- CPDF_Link Link = (CPDF_Dictionary*)pPageLinkList->GetAt(i);
- CPDF_Rect rect = Link.GetRect();
+ CPDF_Link link((CPDF_Dictionary*)pPageLinkList->GetAt(i));
+ CPDF_Rect rect = link.GetRect();
if (rect.Contains(pdf_x, pdf_y)) {
- return Link;
+ return link;
}
}
- return NULL;
+ return CPDF_Link();
}
void CPDF_LinkList::LoadPageLinks(CPDF_Page* pPage, CFX_PtrArray* pList)
{