Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(630)

Side by Side Diff: fpdfsdk/src/fpdfdoc.cpp

Issue 958423005: Handle overlapping links and widgets. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/src/fpdfdoc/doc_link.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "../include/fsdk_define.h" 7 #include "../include/fsdk_define.h"
8 #include "../include/fpdfdoc.h" 8 #include "../include/fpdfdoc.h"
9 9
10 static int THISMODULE = 0; 10 static int THISMODULE = 0;
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 166
167 DLLEXPORT FPDF_LINK STDCALL FPDFLink_GetLinkAtPoint(FPDF_PAGE page, double x, do uble y) 167 DLLEXPORT FPDF_LINK STDCALL FPDFLink_GetLinkAtPoint(FPDF_PAGE page, double x, do uble y)
168 { 168 {
169 if (!page) 169 if (!page)
170 return NULL; 170 return NULL;
171 CPDF_Page* pPage = (CPDF_Page*)page; 171 CPDF_Page* pPage = (CPDF_Page*)page;
172 // Link list is stored with the document 172 // Link list is stored with the document
173 CPDF_Document* pDoc = pPage->m_pDocument; 173 CPDF_Document* pDoc = pPage->m_pDocument;
174 CPDF_LinkList* pLinkList = (CPDF_LinkList*)pDoc->GetPrivateData(&THISMOD ULE); 174 CPDF_LinkList* pLinkList = (CPDF_LinkList*)pDoc->GetPrivateData(&THISMOD ULE);
175 if (!pLinkList) { 175 if (!pLinkList) {
176 » » pLinkList = FX_NEW CPDF_LinkList(pDoc); 176 » » pLinkList = FX_NEW CPDF_LinkList;
177 pDoc->SetPrivateData(&THISMODULE, pLinkList, ReleaseLinkList); 177 pDoc->SetPrivateData(&THISMODULE, pLinkList, ReleaseLinkList);
178 } 178 }
179 return pLinkList->GetLinkAtPoint(pPage, (FX_FLOAT)x, (FX_FLOAT)y); 179 return pLinkList->GetLinkAtPoint(pPage, (FX_FLOAT)x, (FX_FLOAT)y);
180 } 180 }
181 181
182 DLLEXPORT FPDF_DEST STDCALL FPDFLink_GetDest(FPDF_DOCUMENT document, FPDF_LINK p Dict) 182 DLLEXPORT FPDF_DEST STDCALL FPDFLink_GetDest(FPDF_DOCUMENT document, FPDF_LINK p Dict)
183 { 183 {
184 if (!document) 184 if (!document)
185 return NULL; 185 return NULL;
186 CPDF_Document* pDoc = (CPDF_Document*)document; 186 CPDF_Document* pDoc = (CPDF_Document*)document;
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 return 0; 288 return 0;
289 CFX_WideString text = pInfo->GetUnicodeText(tag); 289 CFX_WideString text = pInfo->GetUnicodeText(tag);
290 // Use UTF-16LE encoding 290 // Use UTF-16LE encoding
291 CFX_ByteString encodedText = text.UTF16LE_Encode(); 291 CFX_ByteString encodedText = text.UTF16LE_Encode();
292 unsigned long len = encodedText.GetLength(); 292 unsigned long len = encodedText.GetLength();
293 if (buffer && buflen >= len) { 293 if (buffer && buflen >= len) {
294 FXSYS_memcpy(buffer, encodedText.c_str(), len); 294 FXSYS_memcpy(buffer, encodedText.c_str(), len);
295 } 295 }
296 return len; 296 return len;
297 } 297 }
OLDNEW
« no previous file with comments | « core/src/fpdfdoc/doc_link.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698