OLD | NEW |
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 "Document.h" | 7 #include "Document.h" |
8 | 8 |
9 #include "../../include/fsdk_mgr.h" // For CPDFDoc_Environment. | 9 #include "../../include/fsdk_mgr.h" // For CPDFDoc_Environment. |
10 #include "../../include/javascript/IJavaScript.h" | 10 #include "../../include/javascript/IJavaScript.h" |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 pEnv->JS_docgotoPage(iPageCount - 1); | 249 pEnv->JS_docgotoPage(iPageCount - 1); |
250 } else if (iPageNum < 0) { | 250 } else if (iPageNum < 0) { |
251 pEnv->JS_docgotoPage(0); | 251 pEnv->JS_docgotoPage(0); |
252 } | 252 } |
253 } | 253 } |
254 | 254 |
255 return TRUE; | 255 return TRUE; |
256 } | 256 } |
257 | 257 |
258 FX_BOOL Document::addAnnot(IJS_Context* cc, | 258 FX_BOOL Document::addAnnot(IJS_Context* cc, |
259 const CJS_Parameters& params, | 259 const std::vector<CJS_Value>& params, |
260 CJS_Value& vRet, | 260 CJS_Value& vRet, |
261 CFX_WideString& sError) { | 261 CFX_WideString& sError) { |
262 // Not supported. | 262 // Not supported. |
263 return TRUE; | 263 return TRUE; |
264 } | 264 } |
265 | 265 |
266 FX_BOOL Document::addField(IJS_Context* cc, | 266 FX_BOOL Document::addField(IJS_Context* cc, |
267 const CJS_Parameters& params, | 267 const std::vector<CJS_Value>& params, |
268 CJS_Value& vRet, | 268 CJS_Value& vRet, |
269 CFX_WideString& sError) { | 269 CFX_WideString& sError) { |
270 // Not supported. | 270 // Not supported. |
271 return TRUE; | 271 return TRUE; |
272 } | 272 } |
273 | 273 |
274 FX_BOOL Document::exportAsText(IJS_Context* cc, | 274 FX_BOOL Document::exportAsText(IJS_Context* cc, |
275 const CJS_Parameters& params, | 275 const std::vector<CJS_Value>& params, |
276 CJS_Value& vRet, | 276 CJS_Value& vRet, |
277 CFX_WideString& sError) { | 277 CFX_WideString& sError) { |
278 // Unsafe, not supported. | 278 // Unsafe, not supported. |
279 return TRUE; | 279 return TRUE; |
280 } | 280 } |
281 | 281 |
282 FX_BOOL Document::exportAsFDF(IJS_Context* cc, | 282 FX_BOOL Document::exportAsFDF(IJS_Context* cc, |
283 const CJS_Parameters& params, | 283 const std::vector<CJS_Value>& params, |
284 CJS_Value& vRet, | 284 CJS_Value& vRet, |
285 CFX_WideString& sError) { | 285 CFX_WideString& sError) { |
286 // Unsafe, not supported. | 286 // Unsafe, not supported. |
287 return TRUE; | 287 return TRUE; |
288 } | 288 } |
289 | 289 |
290 FX_BOOL Document::exportAsXFDF(IJS_Context* cc, | 290 FX_BOOL Document::exportAsXFDF(IJS_Context* cc, |
291 const CJS_Parameters& params, | 291 const std::vector<CJS_Value>& params, |
292 CJS_Value& vRet, | 292 CJS_Value& vRet, |
293 CFX_WideString& sError) { | 293 CFX_WideString& sError) { |
294 // Unsafe, not supported. | 294 // Unsafe, not supported. |
295 return TRUE; | 295 return TRUE; |
296 } | 296 } |
297 | 297 |
298 // Maps a field object in PDF document to a JavaScript variable | 298 // Maps a field object in PDF document to a JavaScript variable |
299 // comment: | 299 // comment: |
300 // note: the paremter cName, this is clue how to treat if the cName is not a | 300 // note: the paremter cName, this is clue how to treat if the cName is not a |
301 // valiable filed name in this document | 301 // valiable filed name in this document |
302 | 302 |
303 FX_BOOL Document::getField(IJS_Context* cc, | 303 FX_BOOL Document::getField(IJS_Context* cc, |
304 const CJS_Parameters& params, | 304 const std::vector<CJS_Value>& params, |
305 CJS_Value& vRet, | 305 CJS_Value& vRet, |
306 CFX_WideString& sError) { | 306 CFX_WideString& sError) { |
307 CJS_Context* pContext = (CJS_Context*)cc; | 307 CJS_Context* pContext = (CJS_Context*)cc; |
308 if (params.size() < 1) { | 308 if (params.size() < 1) { |
309 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 309 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
310 return FALSE; | 310 return FALSE; |
311 } | 311 } |
312 | 312 |
313 CFX_WideString wideName = params[0].ToCFXWideString(); | 313 CFX_WideString wideName = params[0].ToCFXWideString(); |
314 | 314 |
(...skipping 12 matching lines...) Expand all Loading... |
327 CJS_Field* pJSField = (CJS_Field*)FXJS_GetPrivate(isolate, pFieldObj); | 327 CJS_Field* pJSField = (CJS_Field*)FXJS_GetPrivate(isolate, pFieldObj); |
328 Field* pField = (Field*)pJSField->GetEmbedObject(); | 328 Field* pField = (Field*)pJSField->GetEmbedObject(); |
329 pField->AttachField(this, wideName); | 329 pField->AttachField(this, wideName); |
330 | 330 |
331 vRet = pJSField; | 331 vRet = pJSField; |
332 return TRUE; | 332 return TRUE; |
333 } | 333 } |
334 | 334 |
335 // Gets the name of the nth field in the document | 335 // Gets the name of the nth field in the document |
336 FX_BOOL Document::getNthFieldName(IJS_Context* cc, | 336 FX_BOOL Document::getNthFieldName(IJS_Context* cc, |
337 const CJS_Parameters& params, | 337 const std::vector<CJS_Value>& params, |
338 CJS_Value& vRet, | 338 CJS_Value& vRet, |
339 CFX_WideString& sError) { | 339 CFX_WideString& sError) { |
340 CJS_Context* pContext = (CJS_Context*)cc; | 340 CJS_Context* pContext = (CJS_Context*)cc; |
341 if (params.size() != 1) { | 341 if (params.size() != 1) { |
342 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 342 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
343 return FALSE; | 343 return FALSE; |
344 } | 344 } |
345 | 345 |
346 int nIndex = params[0].ToInt(); | 346 int nIndex = params[0].ToInt(); |
347 if (nIndex < 0) { | 347 if (nIndex < 0) { |
348 sError = JSGetStringFromID(pContext, IDS_STRING_JSVALUEERROR); | 348 sError = JSGetStringFromID(pContext, IDS_STRING_JSVALUEERROR); |
349 return FALSE; | 349 return FALSE; |
350 } | 350 } |
351 | 351 |
352 CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm(); | 352 CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm(); |
353 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); | 353 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); |
354 CPDF_FormField* pField = pPDFForm->GetField(nIndex); | 354 CPDF_FormField* pField = pPDFForm->GetField(nIndex); |
355 if (!pField) | 355 if (!pField) |
356 return FALSE; | 356 return FALSE; |
357 | 357 |
358 vRet = pField->GetFullName().c_str(); | 358 vRet = pField->GetFullName().c_str(); |
359 return TRUE; | 359 return TRUE; |
360 } | 360 } |
361 | 361 |
362 FX_BOOL Document::importAnFDF(IJS_Context* cc, | 362 FX_BOOL Document::importAnFDF(IJS_Context* cc, |
363 const CJS_Parameters& params, | 363 const std::vector<CJS_Value>& params, |
364 CJS_Value& vRet, | 364 CJS_Value& vRet, |
365 CFX_WideString& sError) { | 365 CFX_WideString& sError) { |
366 // Unsafe, not supported. | 366 // Unsafe, not supported. |
367 return TRUE; | 367 return TRUE; |
368 } | 368 } |
369 | 369 |
370 FX_BOOL Document::importAnXFDF(IJS_Context* cc, | 370 FX_BOOL Document::importAnXFDF(IJS_Context* cc, |
371 const CJS_Parameters& params, | 371 const std::vector<CJS_Value>& params, |
372 CJS_Value& vRet, | 372 CJS_Value& vRet, |
373 CFX_WideString& sError) { | 373 CFX_WideString& sError) { |
374 // Unsafe, not supported. | 374 // Unsafe, not supported. |
375 return TRUE; | 375 return TRUE; |
376 } | 376 } |
377 | 377 |
378 FX_BOOL Document::importTextData(IJS_Context* cc, | 378 FX_BOOL Document::importTextData(IJS_Context* cc, |
379 const CJS_Parameters& params, | 379 const std::vector<CJS_Value>& params, |
380 CJS_Value& vRet, | 380 CJS_Value& vRet, |
381 CFX_WideString& sError) { | 381 CFX_WideString& sError) { |
382 // Unsafe, not supported. | 382 // Unsafe, not supported. |
383 return TRUE; | 383 return TRUE; |
384 } | 384 } |
385 | 385 |
386 // exports the form data and mails the resulting fdf file as an attachment to | 386 // exports the form data and mails the resulting fdf file as an attachment to |
387 // all recipients. | 387 // all recipients. |
388 // comment: need reader supports | 388 // comment: need reader supports |
389 // note: | 389 // note: |
390 // int CPDFSDK_Document::mailForm(FX_BOOL bUI,String cto,string ccc,string | 390 // int CPDFSDK_Document::mailForm(FX_BOOL bUI,String cto,string ccc,string |
391 // cbcc,string cSubject,string cms); | 391 // cbcc,string cSubject,string cms); |
392 | 392 |
393 FX_BOOL Document::mailForm(IJS_Context* cc, | 393 FX_BOOL Document::mailForm(IJS_Context* cc, |
394 const CJS_Parameters& params, | 394 const std::vector<CJS_Value>& params, |
395 CJS_Value& vRet, | 395 CJS_Value& vRet, |
396 CFX_WideString& sError) { | 396 CFX_WideString& sError) { |
397 ASSERT(m_pDocument != NULL); | 397 ASSERT(m_pDocument != NULL); |
398 | 398 |
399 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) | 399 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) |
400 return FALSE; | 400 return FALSE; |
401 | 401 |
402 int iLength = params.size(); | 402 int iLength = params.size(); |
403 | 403 |
404 FX_BOOL bUI = iLength > 0 ? params[0].ToBool() : TRUE; | 404 FX_BOOL bUI = iLength > 0 ? params[0].ToBool() : TRUE; |
(...skipping 20 matching lines...) Expand all Loading... |
425 | 425 |
426 pRuntime->BeginBlock(); | 426 pRuntime->BeginBlock(); |
427 pEnv->JS_docmailForm(textBuf.GetBuffer(), textBuf.GetLength(), bUI, | 427 pEnv->JS_docmailForm(textBuf.GetBuffer(), textBuf.GetLength(), bUI, |
428 cTo.c_str(), cSubject.c_str(), cCc.c_str(), cBcc.c_str(), | 428 cTo.c_str(), cSubject.c_str(), cCc.c_str(), cBcc.c_str(), |
429 cMsg.c_str()); | 429 cMsg.c_str()); |
430 pRuntime->EndBlock(); | 430 pRuntime->EndBlock(); |
431 return TRUE; | 431 return TRUE; |
432 } | 432 } |
433 | 433 |
434 FX_BOOL Document::print(IJS_Context* cc, | 434 FX_BOOL Document::print(IJS_Context* cc, |
435 const CJS_Parameters& params, | 435 const std::vector<CJS_Value>& params, |
436 CJS_Value& vRet, | 436 CJS_Value& vRet, |
437 CFX_WideString& sError) { | 437 CFX_WideString& sError) { |
438 FX_BOOL bUI = TRUE; | 438 FX_BOOL bUI = TRUE; |
439 int nStart = 0; | 439 int nStart = 0; |
440 int nEnd = 0; | 440 int nEnd = 0; |
441 FX_BOOL bSilent = FALSE; | 441 FX_BOOL bSilent = FALSE; |
442 FX_BOOL bShrinkToFit = FALSE; | 442 FX_BOOL bShrinkToFit = FALSE; |
443 FX_BOOL bPrintAsImage = FALSE; | 443 FX_BOOL bPrintAsImage = FALSE; |
444 FX_BOOL bReverse = FALSE; | 444 FX_BOOL bReverse = FALSE; |
445 FX_BOOL bAnnotations = FALSE; | 445 FX_BOOL bAnnotations = FALSE; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
493 return TRUE; | 493 return TRUE; |
494 } | 494 } |
495 return FALSE; | 495 return FALSE; |
496 } | 496 } |
497 | 497 |
498 // removes the specified field from the document. | 498 // removes the specified field from the document. |
499 // comment: | 499 // comment: |
500 // note: if the filed name is not retional, adobe is dumb for it. | 500 // note: if the filed name is not retional, adobe is dumb for it. |
501 | 501 |
502 FX_BOOL Document::removeField(IJS_Context* cc, | 502 FX_BOOL Document::removeField(IJS_Context* cc, |
503 const CJS_Parameters& params, | 503 const std::vector<CJS_Value>& params, |
504 CJS_Value& vRet, | 504 CJS_Value& vRet, |
505 CFX_WideString& sError) { | 505 CFX_WideString& sError) { |
506 ASSERT(m_pDocument != NULL); | 506 ASSERT(m_pDocument != NULL); |
507 | 507 |
508 if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || | 508 if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || |
509 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM))) | 509 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM))) |
510 return FALSE; | 510 return FALSE; |
511 | 511 |
512 CJS_Context* pContext = (CJS_Context*)cc; | 512 CJS_Context* pContext = (CJS_Context*)cc; |
513 if (params.size() != 1) { | 513 if (params.size() != 1) { |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
546 m_pDocument->SetChangeMark(); | 546 m_pDocument->SetChangeMark(); |
547 | 547 |
548 return TRUE; | 548 return TRUE; |
549 } | 549 } |
550 | 550 |
551 // reset filed values within a document. | 551 // reset filed values within a document. |
552 // comment: | 552 // comment: |
553 // note: if the fields names r not rational, aodbe is dumb for it. | 553 // note: if the fields names r not rational, aodbe is dumb for it. |
554 | 554 |
555 FX_BOOL Document::resetForm(IJS_Context* cc, | 555 FX_BOOL Document::resetForm(IJS_Context* cc, |
556 const CJS_Parameters& params, | 556 const std::vector<CJS_Value>& params, |
557 CJS_Value& vRet, | 557 CJS_Value& vRet, |
558 CFX_WideString& sError) { | 558 CFX_WideString& sError) { |
559 if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || | 559 if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || |
560 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || | 560 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || |
561 m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) | 561 m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) |
562 return FALSE; | 562 return FALSE; |
563 | 563 |
564 CPDFSDK_InterForm* pInterForm = | 564 CPDFSDK_InterForm* pInterForm = |
565 (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); | 565 (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); |
566 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); | 566 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); |
(...skipping 26 matching lines...) Expand all Loading... |
593 | 593 |
594 if (!aFields.empty()) { | 594 if (!aFields.empty()) { |
595 pPDFForm->ResetForm(aFields, TRUE, TRUE); | 595 pPDFForm->ResetForm(aFields, TRUE, TRUE); |
596 m_pDocument->SetChangeMark(); | 596 m_pDocument->SetChangeMark(); |
597 } | 597 } |
598 | 598 |
599 return TRUE; | 599 return TRUE; |
600 } | 600 } |
601 | 601 |
602 FX_BOOL Document::saveAs(IJS_Context* cc, | 602 FX_BOOL Document::saveAs(IJS_Context* cc, |
603 const CJS_Parameters& params, | 603 const std::vector<CJS_Value>& params, |
604 CJS_Value& vRet, | 604 CJS_Value& vRet, |
605 CFX_WideString& sError) { | 605 CFX_WideString& sError) { |
606 // Unsafe, not supported. | 606 // Unsafe, not supported. |
607 return TRUE; | 607 return TRUE; |
608 } | 608 } |
609 | 609 |
610 FX_BOOL Document::submitForm(IJS_Context* cc, | 610 FX_BOOL Document::submitForm(IJS_Context* cc, |
611 const CJS_Parameters& params, | 611 const std::vector<CJS_Value>& params, |
612 CJS_Value& vRet, | 612 CJS_Value& vRet, |
613 CFX_WideString& sError) { | 613 CFX_WideString& sError) { |
614 CJS_Context* pContext = (CJS_Context*)cc; | 614 CJS_Context* pContext = (CJS_Context*)cc; |
615 int nSize = params.size(); | 615 int nSize = params.size(); |
616 if (nSize < 1) { | 616 if (nSize < 1) { |
617 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 617 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
618 return FALSE; | 618 return FALSE; |
619 } | 619 } |
620 | 620 |
621 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); | 621 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
709 return FALSE; | 709 return FALSE; |
710 } | 710 } |
711 | 711 |
712 FX_BOOL Document::bookmarkRoot(IJS_Context* cc, | 712 FX_BOOL Document::bookmarkRoot(IJS_Context* cc, |
713 CJS_PropValue& vp, | 713 CJS_PropValue& vp, |
714 CFX_WideString& sError) { | 714 CFX_WideString& sError) { |
715 return TRUE; | 715 return TRUE; |
716 } | 716 } |
717 | 717 |
718 FX_BOOL Document::mailDoc(IJS_Context* cc, | 718 FX_BOOL Document::mailDoc(IJS_Context* cc, |
719 const CJS_Parameters& params, | 719 const std::vector<CJS_Value>& params, |
720 CJS_Value& vRet, | 720 CJS_Value& vRet, |
721 CFX_WideString& sError) { | 721 CFX_WideString& sError) { |
722 FX_BOOL bUI = TRUE; | 722 FX_BOOL bUI = TRUE; |
723 CFX_WideString cTo = L""; | 723 CFX_WideString cTo = L""; |
724 CFX_WideString cCc = L""; | 724 CFX_WideString cCc = L""; |
725 CFX_WideString cBcc = L""; | 725 CFX_WideString cBcc = L""; |
726 CFX_WideString cSubject = L""; | 726 CFX_WideString cSubject = L""; |
727 CFX_WideString cMsg = L""; | 727 CFX_WideString cMsg = L""; |
728 | 728 |
729 if (params.size() >= 1) | 729 if (params.size() >= 1) |
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1203 return TRUE; | 1203 return TRUE; |
1204 } | 1204 } |
1205 | 1205 |
1206 FX_BOOL Document::layout(IJS_Context* cc, | 1206 FX_BOOL Document::layout(IJS_Context* cc, |
1207 CJS_PropValue& vp, | 1207 CJS_PropValue& vp, |
1208 CFX_WideString& sError) { | 1208 CFX_WideString& sError) { |
1209 return TRUE; | 1209 return TRUE; |
1210 } | 1210 } |
1211 | 1211 |
1212 FX_BOOL Document::addLink(IJS_Context* cc, | 1212 FX_BOOL Document::addLink(IJS_Context* cc, |
1213 const CJS_Parameters& params, | 1213 const std::vector<CJS_Value>& params, |
1214 CJS_Value& vRet, | 1214 CJS_Value& vRet, |
1215 CFX_WideString& sError) { | 1215 CFX_WideString& sError) { |
1216 return TRUE; | 1216 return TRUE; |
1217 } | 1217 } |
1218 | 1218 |
1219 FX_BOOL Document::closeDoc(IJS_Context* cc, | 1219 FX_BOOL Document::closeDoc(IJS_Context* cc, |
1220 const CJS_Parameters& params, | 1220 const std::vector<CJS_Value>& params, |
1221 CJS_Value& vRet, | 1221 CJS_Value& vRet, |
1222 CFX_WideString& sError) { | 1222 CFX_WideString& sError) { |
1223 ASSERT(m_pDocument != NULL); | 1223 ASSERT(m_pDocument != NULL); |
1224 return TRUE; | 1224 return TRUE; |
1225 } | 1225 } |
1226 | 1226 |
1227 FX_BOOL Document::getPageBox(IJS_Context* cc, | 1227 FX_BOOL Document::getPageBox(IJS_Context* cc, |
1228 const CJS_Parameters& params, | 1228 const std::vector<CJS_Value>& params, |
1229 CJS_Value& vRet, | 1229 CJS_Value& vRet, |
1230 CFX_WideString& sError) { | 1230 CFX_WideString& sError) { |
1231 return TRUE; | 1231 return TRUE; |
1232 } | 1232 } |
1233 | 1233 |
1234 FX_BOOL Document::getAnnot(IJS_Context* cc, | 1234 FX_BOOL Document::getAnnot(IJS_Context* cc, |
1235 const CJS_Parameters& params, | 1235 const std::vector<CJS_Value>& params, |
1236 CJS_Value& vRet, | 1236 CJS_Value& vRet, |
1237 CFX_WideString& sError) { | 1237 CFX_WideString& sError) { |
1238 return TRUE; | 1238 return TRUE; |
1239 } | 1239 } |
1240 | 1240 |
1241 FX_BOOL Document::getAnnots(IJS_Context* cc, | 1241 FX_BOOL Document::getAnnots(IJS_Context* cc, |
1242 const CJS_Parameters& params, | 1242 const std::vector<CJS_Value>& params, |
1243 CJS_Value& vRet, | 1243 CJS_Value& vRet, |
1244 CFX_WideString& sError) { | 1244 CFX_WideString& sError) { |
1245 vRet.SetNull(); | 1245 vRet.SetNull(); |
1246 return TRUE; | 1246 return TRUE; |
1247 } | 1247 } |
1248 | 1248 |
1249 FX_BOOL Document::getAnnot3D(IJS_Context* cc, | 1249 FX_BOOL Document::getAnnot3D(IJS_Context* cc, |
1250 const CJS_Parameters& params, | 1250 const std::vector<CJS_Value>& params, |
1251 CJS_Value& vRet, | 1251 CJS_Value& vRet, |
1252 CFX_WideString& sError) { | 1252 CFX_WideString& sError) { |
1253 vRet.SetNull(); | 1253 vRet.SetNull(); |
1254 return TRUE; | 1254 return TRUE; |
1255 } | 1255 } |
1256 | 1256 |
1257 FX_BOOL Document::getAnnots3D(IJS_Context* cc, | 1257 FX_BOOL Document::getAnnots3D(IJS_Context* cc, |
1258 const CJS_Parameters& params, | 1258 const std::vector<CJS_Value>& params, |
1259 CJS_Value& vRet, | 1259 CJS_Value& vRet, |
1260 CFX_WideString& sError) { | 1260 CFX_WideString& sError) { |
1261 vRet = CJS_Value::VT_undefined; | 1261 vRet = CJS_Value::VT_undefined; |
1262 return TRUE; | 1262 return TRUE; |
1263 } | 1263 } |
1264 | 1264 |
1265 FX_BOOL Document::getOCGs(IJS_Context* cc, | 1265 FX_BOOL Document::getOCGs(IJS_Context* cc, |
1266 const CJS_Parameters& params, | 1266 const std::vector<CJS_Value>& params, |
1267 CJS_Value& vRet, | 1267 CJS_Value& vRet, |
1268 CFX_WideString& sError) { | 1268 CFX_WideString& sError) { |
1269 return TRUE; | 1269 return TRUE; |
1270 } | 1270 } |
1271 | 1271 |
1272 FX_BOOL Document::getLinks(IJS_Context* cc, | 1272 FX_BOOL Document::getLinks(IJS_Context* cc, |
1273 const CJS_Parameters& params, | 1273 const std::vector<CJS_Value>& params, |
1274 CJS_Value& vRet, | 1274 CJS_Value& vRet, |
1275 CFX_WideString& sError) { | 1275 CFX_WideString& sError) { |
1276 return TRUE; | 1276 return TRUE; |
1277 } | 1277 } |
1278 | 1278 |
1279 bool Document::IsEnclosedInRect(CFX_FloatRect rect, CFX_FloatRect LinkRect) { | 1279 bool Document::IsEnclosedInRect(CFX_FloatRect rect, CFX_FloatRect LinkRect) { |
1280 return (rect.left <= LinkRect.left && rect.top <= LinkRect.top && | 1280 return (rect.left <= LinkRect.left && rect.top <= LinkRect.top && |
1281 rect.right >= LinkRect.right && rect.bottom >= LinkRect.bottom); | 1281 rect.right >= LinkRect.right && rect.bottom >= LinkRect.bottom); |
1282 } | 1282 } |
1283 | 1283 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1320 IconElement* pTemp = m_pHead; | 1320 IconElement* pTemp = m_pHead; |
1321 for (int i = 0; i < iIndex; i++) { | 1321 for (int i = 0; i < iIndex; i++) { |
1322 pTemp = pTemp->NextIcon; | 1322 pTemp = pTemp->NextIcon; |
1323 } | 1323 } |
1324 return pTemp; | 1324 return pTemp; |
1325 } | 1325 } |
1326 return NULL; | 1326 return NULL; |
1327 } | 1327 } |
1328 | 1328 |
1329 FX_BOOL Document::addIcon(IJS_Context* cc, | 1329 FX_BOOL Document::addIcon(IJS_Context* cc, |
1330 const CJS_Parameters& params, | 1330 const std::vector<CJS_Value>& params, |
1331 CJS_Value& vRet, | 1331 CJS_Value& vRet, |
1332 CFX_WideString& sError) { | 1332 CFX_WideString& sError) { |
1333 CJS_Context* pContext = (CJS_Context*)cc; | 1333 CJS_Context* pContext = (CJS_Context*)cc; |
1334 if (params.size() != 2) { | 1334 if (params.size() != 2) { |
1335 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1335 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1336 return FALSE; | 1336 return FALSE; |
1337 } | 1337 } |
1338 CFX_WideString swIconName = params[0].ToCFXWideString(); | 1338 CFX_WideString swIconName = params[0].ToCFXWideString(); |
1339 | 1339 |
1340 if (params[1].GetType() != CJS_Value::VT_object) { | 1340 if (params[1].GetType() != CJS_Value::VT_object) { |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1403 pIcon->SetStream(pIconElement->IconStream->GetStream()); | 1403 pIcon->SetStream(pIconElement->IconStream->GetStream()); |
1404 pIcon->SetIconName(pIconElement->IconName); | 1404 pIcon->SetIconName(pIconElement->IconName); |
1405 Icons.SetElement(i, CJS_Value(pRuntime, pJS_Icon)); | 1405 Icons.SetElement(i, CJS_Value(pRuntime, pJS_Icon)); |
1406 } | 1406 } |
1407 | 1407 |
1408 vp << Icons; | 1408 vp << Icons; |
1409 return TRUE; | 1409 return TRUE; |
1410 } | 1410 } |
1411 | 1411 |
1412 FX_BOOL Document::getIcon(IJS_Context* cc, | 1412 FX_BOOL Document::getIcon(IJS_Context* cc, |
1413 const CJS_Parameters& params, | 1413 const std::vector<CJS_Value>& params, |
1414 CJS_Value& vRet, | 1414 CJS_Value& vRet, |
1415 CFX_WideString& sError) { | 1415 CFX_WideString& sError) { |
1416 CJS_Context* pContext = (CJS_Context*)cc; | 1416 CJS_Context* pContext = (CJS_Context*)cc; |
1417 if (params.size() != 1) { | 1417 if (params.size() != 1) { |
1418 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1418 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1419 return FALSE; | 1419 return FALSE; |
1420 } | 1420 } |
1421 | 1421 |
1422 if (!m_pIconTree) | 1422 if (!m_pIconTree) |
1423 return FALSE; | 1423 return FALSE; |
(...skipping 23 matching lines...) Expand all Loading... |
1447 pIcon->SetStream(pRetIcon->GetStream()); | 1447 pIcon->SetStream(pRetIcon->GetStream()); |
1448 vRet = pJS_Icon; | 1448 vRet = pJS_Icon; |
1449 return TRUE; | 1449 return TRUE; |
1450 } | 1450 } |
1451 } | 1451 } |
1452 | 1452 |
1453 return FALSE; | 1453 return FALSE; |
1454 } | 1454 } |
1455 | 1455 |
1456 FX_BOOL Document::removeIcon(IJS_Context* cc, | 1456 FX_BOOL Document::removeIcon(IJS_Context* cc, |
1457 const CJS_Parameters& params, | 1457 const std::vector<CJS_Value>& params, |
1458 CJS_Value& vRet, | 1458 CJS_Value& vRet, |
1459 CFX_WideString& sError) { | 1459 CFX_WideString& sError) { |
1460 // Unsafe, no supported. | 1460 // Unsafe, no supported. |
1461 return TRUE; | 1461 return TRUE; |
1462 } | 1462 } |
1463 | 1463 |
1464 FX_BOOL Document::createDataObject(IJS_Context* cc, | 1464 FX_BOOL Document::createDataObject(IJS_Context* cc, |
1465 const CJS_Parameters& params, | 1465 const std::vector<CJS_Value>& params, |
1466 CJS_Value& vRet, | 1466 CJS_Value& vRet, |
1467 CFX_WideString& sError) { | 1467 CFX_WideString& sError) { |
1468 // Unsafe, not implemented. | 1468 // Unsafe, not implemented. |
1469 return TRUE; | 1469 return TRUE; |
1470 } | 1470 } |
1471 | 1471 |
1472 FX_BOOL Document::media(IJS_Context* cc, | 1472 FX_BOOL Document::media(IJS_Context* cc, |
1473 CJS_PropValue& vp, | 1473 CJS_PropValue& vp, |
1474 CFX_WideString& sError) { | 1474 CFX_WideString& sError) { |
1475 return TRUE; | 1475 return TRUE; |
1476 } | 1476 } |
1477 | 1477 |
1478 FX_BOOL Document::calculateNow(IJS_Context* cc, | 1478 FX_BOOL Document::calculateNow(IJS_Context* cc, |
1479 const CJS_Parameters& params, | 1479 const std::vector<CJS_Value>& params, |
1480 CJS_Value& vRet, | 1480 CJS_Value& vRet, |
1481 CFX_WideString& sError) { | 1481 CFX_WideString& sError) { |
1482 ASSERT(m_pDocument != NULL); | 1482 ASSERT(m_pDocument != NULL); |
1483 | 1483 |
1484 if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || | 1484 if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || |
1485 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || | 1485 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || |
1486 m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) | 1486 m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) |
1487 return FALSE; | 1487 return FALSE; |
1488 | 1488 |
1489 CPDFSDK_InterForm* pInterForm = | 1489 CPDFSDK_InterForm* pInterForm = |
1490 (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); | 1490 (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); |
1491 ASSERT(pInterForm != NULL); | 1491 ASSERT(pInterForm != NULL); |
1492 pInterForm->OnCalculate(); | 1492 pInterForm->OnCalculate(); |
1493 return TRUE; | 1493 return TRUE; |
1494 } | 1494 } |
1495 | 1495 |
1496 FX_BOOL Document::Collab(IJS_Context* cc, | 1496 FX_BOOL Document::Collab(IJS_Context* cc, |
1497 CJS_PropValue& vp, | 1497 CJS_PropValue& vp, |
1498 CFX_WideString& sError) { | 1498 CFX_WideString& sError) { |
1499 return TRUE; | 1499 return TRUE; |
1500 } | 1500 } |
1501 | 1501 |
1502 FX_BOOL Document::getPageNthWord(IJS_Context* cc, | 1502 FX_BOOL Document::getPageNthWord(IJS_Context* cc, |
1503 const CJS_Parameters& params, | 1503 const std::vector<CJS_Value>& params, |
1504 CJS_Value& vRet, | 1504 CJS_Value& vRet, |
1505 CFX_WideString& sError) { | 1505 CFX_WideString& sError) { |
1506 ASSERT(m_pDocument != NULL); | 1506 ASSERT(m_pDocument != NULL); |
1507 | 1507 |
1508 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) | 1508 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) |
1509 return FALSE; | 1509 return FALSE; |
1510 | 1510 |
1511 int nPageNo = params.size() > 0 ? params[0].ToInt() : 0; | 1511 int nPageNo = params.size() > 0 ? params[0].ToInt() : 0; |
1512 int nWordNo = params.size() > 1 ? params[1].ToInt() : 0; | 1512 int nWordNo = params.size() > 1 ? params[1].ToInt() : 0; |
1513 bool bStrip = params.size() > 2 ? params[2].ToBool() : true; | 1513 bool bStrip = params.size() > 2 ? params[2].ToBool() : true; |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1555 if (bStrip) { | 1555 if (bStrip) { |
1556 swRet.TrimLeft(); | 1556 swRet.TrimLeft(); |
1557 swRet.TrimRight(); | 1557 swRet.TrimRight(); |
1558 } | 1558 } |
1559 | 1559 |
1560 vRet = swRet.c_str(); | 1560 vRet = swRet.c_str(); |
1561 return TRUE; | 1561 return TRUE; |
1562 } | 1562 } |
1563 | 1563 |
1564 FX_BOOL Document::getPageNthWordQuads(IJS_Context* cc, | 1564 FX_BOOL Document::getPageNthWordQuads(IJS_Context* cc, |
1565 const CJS_Parameters& params, | 1565 const std::vector<CJS_Value>& params, |
1566 CJS_Value& vRet, | 1566 CJS_Value& vRet, |
1567 CFX_WideString& sError) { | 1567 CFX_WideString& sError) { |
1568 ASSERT(m_pDocument != NULL); | 1568 ASSERT(m_pDocument != NULL); |
1569 | 1569 |
1570 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) | 1570 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) |
1571 return FALSE; | 1571 return FALSE; |
1572 | 1572 |
1573 return FALSE; | 1573 return FALSE; |
1574 } | 1574 } |
1575 | 1575 |
1576 FX_BOOL Document::getPageNumWords(IJS_Context* cc, | 1576 FX_BOOL Document::getPageNumWords(IJS_Context* cc, |
1577 const CJS_Parameters& params, | 1577 const std::vector<CJS_Value>& params, |
1578 CJS_Value& vRet, | 1578 CJS_Value& vRet, |
1579 CFX_WideString& sError) { | 1579 CFX_WideString& sError) { |
1580 ASSERT(m_pDocument != NULL); | 1580 ASSERT(m_pDocument != NULL); |
1581 | 1581 |
1582 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) | 1582 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) |
1583 return FALSE; | 1583 return FALSE; |
1584 | 1584 |
1585 int nPageNo = params.size() > 0 ? params[0].ToInt() : 0; | 1585 int nPageNo = params.size() > 0 ? params[0].ToInt() : 0; |
1586 | 1586 |
1587 CPDF_Document* pDocument = m_pDocument->GetPDFDocument(); | 1587 CPDF_Document* pDocument = m_pDocument->GetPDFDocument(); |
(...skipping 26 matching lines...) Expand all Loading... |
1614 } | 1614 } |
1615 } | 1615 } |
1616 } | 1616 } |
1617 | 1617 |
1618 vRet = nWords; | 1618 vRet = nWords; |
1619 | 1619 |
1620 return TRUE; | 1620 return TRUE; |
1621 } | 1621 } |
1622 | 1622 |
1623 FX_BOOL Document::getPrintParams(IJS_Context* cc, | 1623 FX_BOOL Document::getPrintParams(IJS_Context* cc, |
1624 const CJS_Parameters& params, | 1624 const std::vector<CJS_Value>& params, |
1625 CJS_Value& vRet, | 1625 CJS_Value& vRet, |
1626 CFX_WideString& sError) { | 1626 CFX_WideString& sError) { |
1627 CJS_Context* pContext = (CJS_Context*)cc; | 1627 CJS_Context* pContext = (CJS_Context*)cc; |
1628 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 1628 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
1629 v8::Local<v8::Object> pRetObj = FXJS_NewFxDynamicObj( | 1629 v8::Local<v8::Object> pRetObj = FXJS_NewFxDynamicObj( |
1630 pRuntime->GetIsolate(), pRuntime, CJS_PrintParamsObj::g_nObjDefnID); | 1630 pRuntime->GetIsolate(), pRuntime, CJS_PrintParamsObj::g_nObjDefnID); |
1631 | 1631 |
1632 // Not implemented yet. | 1632 // Not implemented yet. |
1633 | 1633 |
1634 vRet = pRetObj; | 1634 vRet = pRetObj; |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1725 (refW, ReflowWidth) | 1725 (refW, ReflowWidth) |
1726 */ | 1726 */ |
1727 | 1727 |
1728 FX_BOOL Document::zoomType(IJS_Context* cc, | 1728 FX_BOOL Document::zoomType(IJS_Context* cc, |
1729 CJS_PropValue& vp, | 1729 CJS_PropValue& vp, |
1730 CFX_WideString& sError) { | 1730 CFX_WideString& sError) { |
1731 return TRUE; | 1731 return TRUE; |
1732 } | 1732 } |
1733 | 1733 |
1734 FX_BOOL Document::deletePages(IJS_Context* cc, | 1734 FX_BOOL Document::deletePages(IJS_Context* cc, |
1735 const CJS_Parameters& params, | 1735 const std::vector<CJS_Value>& params, |
1736 CJS_Value& vRet, | 1736 CJS_Value& vRet, |
1737 CFX_WideString& sError) { | 1737 CFX_WideString& sError) { |
1738 // Unsafe, no supported. | 1738 // Unsafe, no supported. |
1739 return TRUE; | 1739 return TRUE; |
1740 } | 1740 } |
1741 | 1741 |
1742 FX_BOOL Document::extractPages(IJS_Context* cc, | 1742 FX_BOOL Document::extractPages(IJS_Context* cc, |
1743 const CJS_Parameters& params, | 1743 const std::vector<CJS_Value>& params, |
1744 CJS_Value& vRet, | 1744 CJS_Value& vRet, |
1745 CFX_WideString& sError) { | 1745 CFX_WideString& sError) { |
1746 // Unsafe, not supported. | 1746 // Unsafe, not supported. |
1747 return TRUE; | 1747 return TRUE; |
1748 } | 1748 } |
1749 | 1749 |
1750 FX_BOOL Document::insertPages(IJS_Context* cc, | 1750 FX_BOOL Document::insertPages(IJS_Context* cc, |
1751 const CJS_Parameters& params, | 1751 const std::vector<CJS_Value>& params, |
1752 CJS_Value& vRet, | 1752 CJS_Value& vRet, |
1753 CFX_WideString& sError) { | 1753 CFX_WideString& sError) { |
1754 // Unsafe, not supported. | 1754 // Unsafe, not supported. |
1755 return TRUE; | 1755 return TRUE; |
1756 } | 1756 } |
1757 | 1757 |
1758 FX_BOOL Document::replacePages(IJS_Context* cc, | 1758 FX_BOOL Document::replacePages(IJS_Context* cc, |
1759 const CJS_Parameters& params, | 1759 const std::vector<CJS_Value>& params, |
1760 CJS_Value& vRet, | 1760 CJS_Value& vRet, |
1761 CFX_WideString& sError) { | 1761 CFX_WideString& sError) { |
1762 // Unsafe, not supported. | 1762 // Unsafe, not supported. |
1763 return TRUE; | 1763 return TRUE; |
1764 } | 1764 } |
1765 | 1765 |
1766 FX_BOOL Document::getURL(IJS_Context* cc, | 1766 FX_BOOL Document::getURL(IJS_Context* cc, |
1767 const CJS_Parameters& params, | 1767 const std::vector<CJS_Value>& params, |
1768 CJS_Value& vRet, | 1768 CJS_Value& vRet, |
1769 CFX_WideString& sError) { | 1769 CFX_WideString& sError) { |
1770 // Unsafe, not supported. | 1770 // Unsafe, not supported. |
1771 return TRUE; | 1771 return TRUE; |
1772 } | 1772 } |
1773 | 1773 |
1774 void Document::AddDelayData(CJS_DelayData* pData) { | 1774 void Document::AddDelayData(CJS_DelayData* pData) { |
1775 m_DelayData.Add(pData); | 1775 m_DelayData.Add(pData); |
1776 } | 1776 } |
1777 | 1777 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1812 CFX_DWordArray DelArray; | 1812 CFX_DWordArray DelArray; |
1813 | 1813 |
1814 for (int j = DelArray.GetSize() - 1; j >= 0; j--) { | 1814 for (int j = DelArray.GetSize() - 1; j >= 0; j--) { |
1815 m_DelayData.RemoveAt(DelArray[j]); | 1815 m_DelayData.RemoveAt(DelArray[j]); |
1816 } | 1816 } |
1817 } | 1817 } |
1818 | 1818 |
1819 CJS_Document* Document::GetCJSDoc() const { | 1819 CJS_Document* Document::GetCJSDoc() const { |
1820 return static_cast<CJS_Document*>(m_pJSObject); | 1820 return static_cast<CJS_Document*>(m_pJSObject); |
1821 } | 1821 } |
OLD | NEW |