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 "../../include/javascript/JavaScript.h" | 7 #include "../../include/javascript/JavaScript.h" |
8 #include "../../include/javascript/IJavaScript.h" | 8 #include "../../include/javascript/IJavaScript.h" |
9 #include "../../include/javascript/JS_Define.h" | 9 #include "../../include/javascript/JS_Define.h" |
10 #include "../../include/javascript/JS_Object.h" | 10 #include "../../include/javascript/JS_Object.h" |
(...skipping 27 matching lines...) Expand all Loading... |
38 END_JS_STATIC_PROP() | 38 END_JS_STATIC_PROP() |
39 | 39 |
40 BEGIN_JS_STATIC_METHOD(CJS_PrintParamsObj) | 40 BEGIN_JS_STATIC_METHOD(CJS_PrintParamsObj) |
41 END_JS_STATIC_METHOD() | 41 END_JS_STATIC_METHOD() |
42 | 42 |
43 IMPLEMENT_JS_CLASS(CJS_PrintParamsObj, PrintParamsObj) | 43 IMPLEMENT_JS_CLASS(CJS_PrintParamsObj, PrintParamsObj) |
44 | 44 |
45 PrintParamsObj::PrintParamsObj(CJS_Object* pJSObject) | 45 PrintParamsObj::PrintParamsObj(CJS_Object* pJSObject) |
46 : CJS_EmbedObj(pJSObject) | 46 : CJS_EmbedObj(pJSObject) |
47 { | 47 { |
48 bUI = TRUE; | 48 bUI = true; |
49 nStart = 0; | 49 nStart = 0; |
50 nEnd = 0; | 50 nEnd = 0; |
51 bSilent = FALSE; | 51 bSilent = false; |
52 bShrinkToFit = FALSE; | 52 bShrinkToFit = false; |
53 bPrintAsImage = FALSE; | 53 bPrintAsImage = false; |
54 bReverse = FALSE; | 54 bReverse = false; |
55 bAnnotations = TRUE; | 55 bAnnotations = true; |
56 } | 56 } |
57 | 57 |
58 /* ---------------------- Document ---------------------- */ | 58 /* ---------------------- Document ---------------------- */ |
59 | 59 |
60 #define MINWIDTH 5.0f | 60 #define MINWIDTH 5.0f |
61 #define MINHEIGHT 5.0f | 61 #define MINHEIGHT 5.0f |
62 | 62 |
63 BEGIN_JS_STATIC_CONST(CJS_Document) | 63 BEGIN_JS_STATIC_CONST(CJS_Document) |
64 END_JS_STATIC_CONST() | 64 END_JS_STATIC_CONST() |
65 | 65 |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 JS_STATIC_METHOD_ENTRY(replacePages) | 135 JS_STATIC_METHOD_ENTRY(replacePages) |
136 JS_STATIC_METHOD_ENTRY(resetForm) | 136 JS_STATIC_METHOD_ENTRY(resetForm) |
137 JS_STATIC_METHOD_ENTRY(removeIcon) | 137 JS_STATIC_METHOD_ENTRY(removeIcon) |
138 JS_STATIC_METHOD_ENTRY(saveAs) | 138 JS_STATIC_METHOD_ENTRY(saveAs) |
139 JS_STATIC_METHOD_ENTRY(submitForm) | 139 JS_STATIC_METHOD_ENTRY(submitForm) |
140 JS_STATIC_METHOD_ENTRY(mailDoc) | 140 JS_STATIC_METHOD_ENTRY(mailDoc) |
141 END_JS_STATIC_METHOD() | 141 END_JS_STATIC_METHOD() |
142 | 142 |
143 IMPLEMENT_JS_CLASS(CJS_Document, Document) | 143 IMPLEMENT_JS_CLASS(CJS_Document, Document) |
144 | 144 |
145 FX_BOOL CJS_Document::InitInstance(IFXJS_Context* cc) | 145 bool CJS_Document::InitInstance(IFXJS_Context* cc) |
146 { | 146 { |
147 CJS_Context* pContext = (CJS_Context*)cc; | 147 CJS_Context* pContext = (CJS_Context*)cc; |
148 ASSERT(pContext != NULL); | 148 ASSERT(pContext != NULL); |
149 | 149 |
150 Document* pDoc = (Document*)GetEmbedObject(); | 150 Document* pDoc = (Document*)GetEmbedObject(); |
151 ASSERT(pDoc != NULL); | 151 ASSERT(pDoc != NULL); |
152 | 152 |
153 pDoc->AttachDoc(pContext->GetReaderDocument()); | 153 pDoc->AttachDoc(pContext->GetReaderDocument()); |
154 pDoc->SetIsolate(pContext->GetJSRuntime()->GetIsolate()); | 154 pDoc->SetIsolate(pContext->GetJSRuntime()->GetIsolate()); |
155 return TRUE; | 155 return true; |
156 }; | 156 }; |
157 | 157 |
158 /* --------------------------------- Document ---------------------------------
*/ | 158 /* --------------------------------- Document ---------------------------------
*/ |
159 | 159 |
160 Document::Document(CJS_Object* pJSObject) : CJS_EmbedObj(pJSObject), | 160 Document::Document(CJS_Object* pJSObject) : CJS_EmbedObj(pJSObject), |
161 m_isolate(NULL), | 161 m_isolate(NULL), |
162 m_pIconTree(NULL), | 162 m_pIconTree(NULL), |
163 m_pDocument(NULL), | 163 m_pDocument(NULL), |
164 m_cwBaseURL(L""), | 164 m_cwBaseURL(L""), |
165 m_bDelay(FALSE) | 165 m_bDelay(false) |
166 { | 166 { |
167 } | 167 } |
168 | 168 |
169 Document::~Document() | 169 Document::~Document() |
170 { | 170 { |
171 if (m_pIconTree) | 171 if (m_pIconTree) |
172 { | 172 { |
173 m_pIconTree->DeleteIconTree(); | 173 m_pIconTree->DeleteIconTree(); |
174 delete m_pIconTree; | 174 delete m_pIconTree; |
175 m_pIconTree = NULL; | 175 m_pIconTree = NULL; |
176 } | 176 } |
177 for (int i=0; i<m_DelayData.GetSize(); i++) | 177 for (int i=0; i<m_DelayData.GetSize(); i++) |
178 { | 178 { |
179 if (CJS_DelayData* pData = m_DelayData.GetAt(i)) | 179 if (CJS_DelayData* pData = m_DelayData.GetAt(i)) |
180 { | 180 { |
181 delete pData; | 181 delete pData; |
182 pData = NULL; | 182 pData = NULL; |
183 m_DelayData.SetAt(i, NULL); | 183 m_DelayData.SetAt(i, NULL); |
184 | 184 |
185 } | 185 } |
186 } | 186 } |
187 | 187 |
188 m_DelayData.RemoveAll(); | 188 m_DelayData.RemoveAll(); |
189 m_DelayAnnotData.RemoveAll(); | 189 m_DelayAnnotData.RemoveAll(); |
190 } | 190 } |
191 | 191 |
192 //the total number of fileds in document. | 192 //the total number of fileds in document. |
193 FX_BOOL Document::numFields(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString
& sError) | 193 bool Document::numFields(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
Error) |
194 { | 194 { |
195 if (vp.IsSetting()) { | 195 if (vp.IsSetting()) { |
196 CJS_Context* pContext = static_cast<CJS_Context*>(cc); | 196 CJS_Context* pContext = static_cast<CJS_Context*>(cc); |
197 sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY); | 197 sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY); |
198 return FALSE; | 198 return false; |
199 } | 199 } |
200 CPDFSDK_InterForm *pInterForm = m_pDocument->GetInterForm(); | 200 CPDFSDK_InterForm *pInterForm = m_pDocument->GetInterForm(); |
201 CPDF_InterForm *pPDFForm = pInterForm->GetInterForm(); | 201 CPDF_InterForm *pPDFForm = pInterForm->GetInterForm(); |
202 vp << (int)pPDFForm->CountFields(); | 202 vp << (int)pPDFForm->CountFields(); |
203 return TRUE; | 203 return true; |
204 } | 204 } |
205 | 205 |
206 FX_BOOL Document::dirty(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
rror) | 206 bool Document::dirty(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
r) |
207 { | 207 { |
208 ASSERT(m_pDocument != NULL); | 208 ASSERT(m_pDocument != NULL); |
209 | 209 |
210 if (vp.IsGetting()) | 210 if (vp.IsGetting()) |
211 { | 211 { |
212 if (m_pDocument->GetChangeMark()) | 212 if (m_pDocument->GetChangeMark()) |
213 vp << true; | 213 vp << true; |
214 else | 214 else |
215 vp << false; | 215 vp << false; |
216 } | 216 } |
217 else | 217 else |
218 { | 218 { |
219 bool bChanged = false; | 219 bool bChanged = false; |
220 | 220 |
221 vp >> bChanged; | 221 vp >> bChanged; |
222 | 222 |
223 if (bChanged) | 223 if (bChanged) |
224 m_pDocument->SetChangeMark(); | 224 m_pDocument->SetChangeMark(); |
225 else | 225 else |
226 m_pDocument->ClearChangeMark(); | 226 m_pDocument->ClearChangeMark(); |
227 } | 227 } |
228 | 228 |
229 return TRUE; | 229 return true; |
230 } | 230 } |
231 | 231 |
232 FX_BOOL Document::ADBE(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr
ror) | 232 bool Document::ADBE(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError
) |
233 { | 233 { |
234 ASSERT(m_pDocument != NULL); | 234 ASSERT(m_pDocument != NULL); |
235 | 235 |
236 if (vp.IsGetting()) | 236 if (vp.IsGetting()) |
237 { | 237 { |
238 vp.SetNull(); | 238 vp.SetNull(); |
239 } | 239 } |
240 else | 240 else |
241 { | 241 { |
242 } | 242 } |
243 | 243 |
244 return TRUE; | 244 return true; |
245 } | 245 } |
246 | 246 |
247 FX_BOOL Document::pageNum(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
sError) | 247 bool Document::pageNum(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr
ror) |
248 { | 248 { |
249 ASSERT(m_pDocument != NULL); | 249 ASSERT(m_pDocument != NULL); |
250 | 250 |
251 if (vp.IsGetting()) | 251 if (vp.IsGetting()) |
252 { | 252 { |
253 if (CPDFSDK_PageView* pPageView = m_pDocument->GetCurrentView()) | 253 if (CPDFSDK_PageView* pPageView = m_pDocument->GetCurrentView()) |
254 { | 254 { |
255 vp << pPageView->GetPageIndex(); | 255 vp << pPageView->GetPageIndex(); |
256 } | 256 } |
257 } | 257 } |
(...skipping 11 matching lines...) Expand all Loading... |
269 else if (iPageNum >= iPageCount) | 269 else if (iPageNum >= iPageCount) |
270 { | 270 { |
271 pEnv->JS_docgotoPage(iPageCount-1); | 271 pEnv->JS_docgotoPage(iPageCount-1); |
272 } | 272 } |
273 else if (iPageNum < 0) | 273 else if (iPageNum < 0) |
274 { | 274 { |
275 pEnv->JS_docgotoPage(0); | 275 pEnv->JS_docgotoPage(0); |
276 } | 276 } |
277 } | 277 } |
278 | 278 |
279 return TRUE; | 279 return true; |
280 } | 280 } |
281 | 281 |
282 FX_BOOL Document::ParserParams(JSObject* pObj,CJS_AnnotObj& annotobj) | 282 bool Document::ParserParams(JSObject* pObj,CJS_AnnotObj& annotobj) |
283 { | 283 { |
284 // Not supported. | 284 // Not supported. |
285 return TRUE; | 285 return true; |
286 } | 286 } |
287 | 287 |
288 FX_BOOL Document::addAnnot(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) | 288 bool Document::addAnnot(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
ue& vRet, CFX_WideString& sError) |
289 { | 289 { |
290 // Not supported. | 290 // Not supported. |
291 return TRUE; | 291 return true; |
292 } | 292 } |
293 | 293 |
294 FX_BOOL Document::addField(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) | 294 bool Document::addField(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
ue& vRet, CFX_WideString& sError) |
295 { | 295 { |
296 // Not supported. | 296 // Not supported. |
297 return TRUE; | 297 return true; |
298 } | 298 } |
299 | 299 |
300 FX_BOOL Document::exportAsText(IFXJS_Context* cc, const CJS_Parameters& params,
CJS_Value& vRet, CFX_WideString& sError) | 300 bool Document::exportAsText(IFXJS_Context* cc, const CJS_Parameters& params, CJS
_Value& vRet, CFX_WideString& sError) |
301 { | 301 { |
302 // Unsafe, not supported. | 302 // Unsafe, not supported. |
303 return TRUE; | 303 return true; |
304 } | 304 } |
305 | 305 |
306 FX_BOOL Document::exportAsFDF(IFXJS_Context* cc, const CJS_Parameters& params, C
JS_Value& vRet, CFX_WideString& sError) | 306 bool Document::exportAsFDF(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) |
307 { | 307 { |
308 // Unsafe, not supported. | 308 // Unsafe, not supported. |
309 return TRUE; | 309 return true; |
310 } | 310 } |
311 | 311 |
312 FX_BOOL Document::exportAsXFDF(IFXJS_Context* cc, const CJS_Parameters& params,
CJS_Value& vRet, CFX_WideString& sError) | 312 bool Document::exportAsXFDF(IFXJS_Context* cc, const CJS_Parameters& params, CJS
_Value& vRet, CFX_WideString& sError) |
313 { | 313 { |
314 // Unsafe, not supported. | 314 // Unsafe, not supported. |
315 return TRUE; | 315 return true; |
316 } | 316 } |
317 | 317 |
318 //Maps a field object in PDF document to a JavaScript variable | 318 //Maps a field object in PDF document to a JavaScript variable |
319 //comment: | 319 //comment: |
320 //note: the paremter cName, this is clue how to treat if the cName is not a vali
able filed name in this document | 320 //note: the paremter cName, this is clue how to treat if the cName is not a vali
able filed name in this document |
321 | 321 |
322 FX_BOOL Document::getField(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) | 322 bool Document::getField(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
ue& vRet, CFX_WideString& sError) |
323 { | 323 { |
324 CJS_Context* pContext = (CJS_Context*)cc; | 324 CJS_Context* pContext = (CJS_Context*)cc; |
325 if (params.size() < 1) { | 325 if (params.size() < 1) { |
326 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 326 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
327 return FALSE; | 327 return false; |
328 } | 328 } |
329 | 329 |
330 CFX_WideString wideName = params[0].ToCFXWideString(); | 330 CFX_WideString wideName = params[0].ToCFXWideString(); |
331 | 331 |
332 CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm(); | 332 CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm(); |
333 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); | 333 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); |
334 if (pPDFForm->CountFields(wideName) <= 0) | 334 if (pPDFForm->CountFields(wideName) <= 0) |
335 { | 335 { |
336 vRet.SetNull(); | 336 vRet.SetNull(); |
337 return TRUE; | 337 return true; |
338 } | 338 } |
339 | 339 |
340 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 340 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
341 JSFXObject pFieldObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefn
ID(*pRuntime, L"Field")); | 341 JSFXObject pFieldObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefn
ID(*pRuntime, L"Field")); |
342 | 342 |
343 v8::Isolate* isolate = GetIsolate(cc); | 343 v8::Isolate* isolate = GetIsolate(cc); |
344 CJS_Field* pJSField = (CJS_Field*)JS_GetPrivate(isolate,pFieldObj); | 344 CJS_Field* pJSField = (CJS_Field*)JS_GetPrivate(isolate,pFieldObj); |
345 Field* pField = (Field *)pJSField->GetEmbedObject(); | 345 Field* pField = (Field *)pJSField->GetEmbedObject(); |
346 pField->AttachField(this, wideName); | 346 pField->AttachField(this, wideName); |
347 | 347 |
348 vRet = pJSField; | 348 vRet = pJSField; |
349 return TRUE; | 349 return true; |
350 } | 350 } |
351 | 351 |
352 //Gets the name of the nth field in the document | 352 //Gets the name of the nth field in the document |
353 FX_BOOL Document::getNthFieldName(IFXJS_Context* cc, const CJS_Parameters& param
s, CJS_Value& vRet, CFX_WideString& sError) | 353 bool Document::getNthFieldName(IFXJS_Context* cc, const CJS_Parameters& params,
CJS_Value& vRet, CFX_WideString& sError) |
354 { | 354 { |
355 CJS_Context* pContext = (CJS_Context*)cc; | 355 CJS_Context* pContext = (CJS_Context*)cc; |
356 if (params.size() != 1) { | 356 if (params.size() != 1) { |
357 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 357 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
358 return FALSE; | 358 return false; |
359 } | 359 } |
360 | 360 |
361 int nIndex = params[0].ToInt(); | 361 int nIndex = params[0].ToInt(); |
362 if (nIndex < 0) { | 362 if (nIndex < 0) { |
363 sError = JSGetStringFromID(pContext, IDS_STRING_JSVALUEERROR); | 363 sError = JSGetStringFromID(pContext, IDS_STRING_JSVALUEERROR); |
364 return FALSE; | 364 return false; |
365 } | 365 } |
366 | 366 |
367 CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm(); | 367 CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm(); |
368 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); | 368 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); |
369 CPDF_FormField* pField = pPDFForm->GetField(nIndex); | 369 CPDF_FormField* pField = pPDFForm->GetField(nIndex); |
370 if (!pField) | 370 if (!pField) |
371 return FALSE; | 371 return false; |
372 | 372 |
373 vRet = pField->GetFullName().c_str(); | 373 vRet = pField->GetFullName().c_str(); |
374 return TRUE; | 374 return true; |
375 } | 375 } |
376 | 376 |
377 FX_BOOL Document::importAnFDF(IFXJS_Context* cc, const CJS_Parameters& params, C
JS_Value& vRet, CFX_WideString& sError) | 377 bool Document::importAnFDF(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) |
378 { | 378 { |
379 // Unsafe, not supported. | 379 // Unsafe, not supported. |
380 return TRUE; | 380 return true; |
381 } | 381 } |
382 | 382 |
383 FX_BOOL Document::importAnXFDF(IFXJS_Context* cc, const CJS_Parameters& params,
CJS_Value& vRet, CFX_WideString& sError) | 383 bool Document::importAnXFDF(IFXJS_Context* cc, const CJS_Parameters& params, CJS
_Value& vRet, CFX_WideString& sError) |
384 { | 384 { |
385 // Unsafe, not supported. | 385 // Unsafe, not supported. |
386 return TRUE; | 386 return true; |
387 } | 387 } |
388 | 388 |
389 FX_BOOL Document::importTextData(IFXJS_Context* cc, const CJS_Parameters& params
, CJS_Value& vRet, CFX_WideString& sError) | 389 bool Document::importTextData(IFXJS_Context* cc, const CJS_Parameters& params, C
JS_Value& vRet, CFX_WideString& sError) |
390 { | 390 { |
391 // Unsafe, not supported. | 391 // Unsafe, not supported. |
392 return TRUE; | 392 return true; |
393 } | 393 } |
394 | 394 |
395 //exports the form data and mails the resulting fdf file as an attachment to all
recipients. | 395 //exports the form data and mails the resulting fdf file as an attachment to all
recipients. |
396 //comment: need reader supports | 396 //comment: need reader supports |
397 //note: | 397 //note: |
398 //int CPDFSDK_Document::mailForm(FX_BOOL bUI,String cto,string ccc,string cbcc,s
tring cSubject,string cms); | 398 //int CPDFSDK_Document::mailForm(bool bUI,String cto,string ccc,string cbcc,stri
ng cSubject,string cms); |
399 | 399 |
400 FX_BOOL Document::mailForm(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) | 400 bool Document::mailForm(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
ue& vRet, CFX_WideString& sError) |
401 { | 401 { |
402 ASSERT(m_pDocument != NULL); | 402 ASSERT(m_pDocument != NULL); |
403 | 403 |
404 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE; | 404 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return false; |
405 | 405 |
406 int iLength = params.size(); | 406 int iLength = params.size(); |
407 | 407 |
408 FX_BOOL bUI = iLength > 0 ? params[0].ToBool() : TRUE; | 408 bool bUI = iLength > 0 ? params[0].ToBool() : true; |
409 CFX_WideString cTo = iLength > 1 ? params[1].ToCFXWideString() : L""; | 409 CFX_WideString cTo = iLength > 1 ? params[1].ToCFXWideString() : L""; |
410 CFX_WideString cCc = iLength > 2 ? params[2].ToCFXWideString() : L""; | 410 CFX_WideString cCc = iLength > 2 ? params[2].ToCFXWideString() : L""; |
411 CFX_WideString cBcc = iLength > 3 ? params[3].ToCFXWideString() : L""; | 411 CFX_WideString cBcc = iLength > 3 ? params[3].ToCFXWideString() : L""; |
412 CFX_WideString cSubject = iLength > 4 ? params[4].ToCFXWideString() : L""; | 412 CFX_WideString cSubject = iLength > 4 ? params[4].ToCFXWideString() : L""; |
413 CFX_WideString cMsg = iLength > 5 ? params[5].ToCFXWideString() : L""; | 413 CFX_WideString cMsg = iLength > 5 ? params[5].ToCFXWideString() : L""; |
414 | 414 |
415 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
m(); | 415 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
m(); |
416 ASSERT(pInterForm != NULL); | 416 ASSERT(pInterForm != NULL); |
417 | 417 |
418 CFX_ByteTextBuf textBuf; | 418 CFX_ByteTextBuf textBuf; |
419 if (!pInterForm->ExportFormToFDFTextBuf(textBuf)) | 419 if (!pInterForm->ExportFormToFDFTextBuf(textBuf)) |
420 return FALSE; | 420 return false; |
421 | 421 |
422 CJS_Context* pContext = (CJS_Context*)cc; | 422 CJS_Context* pContext = (CJS_Context*)cc; |
423 ASSERT(pContext != NULL); | 423 ASSERT(pContext != NULL); |
424 CPDFDoc_Environment* pEnv = pContext->GetReaderApp(); | 424 CPDFDoc_Environment* pEnv = pContext->GetReaderApp(); |
425 ASSERT(pEnv != NULL); | 425 ASSERT(pEnv != NULL); |
426 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 426 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
427 ASSERT(pRuntime != NULL); | 427 ASSERT(pRuntime != NULL); |
428 | 428 |
429 pRuntime->BeginBlock(); | 429 pRuntime->BeginBlock(); |
430 pEnv->JS_docmailForm(textBuf.GetBuffer(), textBuf.GetLength(), bUI, cTo.c_st
r(), cSubject.c_str(), cCc.c_str(), cBcc.c_str(), cMsg.c_str()); | 430 pEnv->JS_docmailForm(textBuf.GetBuffer(), textBuf.GetLength(), bUI, cTo.c_st
r(), cSubject.c_str(), cCc.c_str(), cBcc.c_str(), cMsg.c_str()); |
431 pRuntime->EndBlock(); | 431 pRuntime->EndBlock(); |
432 return TRUE; | 432 return true; |
433 } | 433 } |
434 | 434 |
435 FX_BOOL Document::print(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
ue& vRet, CFX_WideString& sError) | 435 bool Document::print(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
vRet, CFX_WideString& sError) |
436 { | 436 { |
437 CJS_Context* pContext = (CJS_Context*)cc; | 437 CJS_Context* pContext = (CJS_Context*)cc; |
438 ASSERT(pContext != NULL); | 438 ASSERT(pContext != NULL); |
439 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 439 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
440 ASSERT(pRuntime != NULL); | 440 ASSERT(pRuntime != NULL); |
441 | 441 |
442 FX_BOOL bUI = TRUE; | 442 bool bUI = true; |
443 int nStart = 0; | 443 int nStart = 0; |
444 int nEnd = 0; | 444 int nEnd = 0; |
445 FX_BOOL bSilent = FALSE; | 445 bool bSilent = false; |
446 FX_BOOL bShrinkToFit = FALSE; | 446 bool bShrinkToFit = false; |
447 FX_BOOL bPrintAsImage = FALSE; | 447 bool bPrintAsImage = false; |
448 FX_BOOL bReverse = FALSE; | 448 bool bReverse = false; |
449 FX_BOOL bAnnotations = FALSE; | 449 bool bAnnotations = false; |
450 | 450 |
451 int nlength = params.size(); | 451 int nlength = params.size(); |
452 if(nlength ==9) | 452 if(nlength ==9) |
453 { | 453 { |
454 if (params[8].GetType() == VT_fxobject) | 454 if (params[8].GetType() == VT_fxobject) |
455 { | 455 { |
456 JSFXObject pObj = params[8].ToV8Object(); | 456 JSFXObject pObj = params[8].ToV8Object(); |
457 { | 457 { |
458 if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime, L"PrintP
aramsObj")) | 458 if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime, L"PrintP
aramsObj")) |
459 { | 459 { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
493 bReverse = params[6].ToBool(); | 493 bReverse = params[6].ToBool(); |
494 if(nlength >= 8) | 494 if(nlength >= 8) |
495 bAnnotations = params[7].ToBool(); | 495 bAnnotations = params[7].ToBool(); |
496 } | 496 } |
497 | 497 |
498 ASSERT(m_pDocument != NULL); | 498 ASSERT(m_pDocument != NULL); |
499 | 499 |
500 if (CPDFDoc_Environment* pEnv = m_pDocument->GetEnv()) | 500 if (CPDFDoc_Environment* pEnv = m_pDocument->GetEnv()) |
501 { | 501 { |
502 pEnv->JS_docprint(bUI, nStart, nEnd, bSilent, bShrinkToFit, bPrintAsImag
e, bReverse, bAnnotations); | 502 pEnv->JS_docprint(bUI, nStart, nEnd, bSilent, bShrinkToFit, bPrintAsImag
e, bReverse, bAnnotations); |
503 return TRUE; | 503 return true; |
504 } | 504 } |
505 return FALSE; | 505 return false; |
506 } | 506 } |
507 | 507 |
508 //removes the specified field from the document. | 508 //removes the specified field from the document. |
509 //comment: | 509 //comment: |
510 //note: if the filed name is not retional, adobe is dumb for it. | 510 //note: if the filed name is not retional, adobe is dumb for it. |
511 | 511 |
512 FX_BOOL Document::removeField(IFXJS_Context* cc, const CJS_Parameters& params, C
JS_Value& vRet, CFX_WideString& sError) | 512 bool Document::removeField(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) |
513 { | 513 { |
514 ASSERT(m_pDocument != NULL); | 514 ASSERT(m_pDocument != NULL); |
515 | 515 |
516 if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || | 516 if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || |
517 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM))) return FALSE; | 517 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM))) return false; |
518 | 518 |
519 CJS_Context* pContext = (CJS_Context*)cc; | 519 CJS_Context* pContext = (CJS_Context*)cc; |
520 if (params.size() != 1) { | 520 if (params.size() != 1) { |
521 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 521 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
522 return FALSE; | 522 return false; |
523 } | 523 } |
524 | 524 |
525 CFX_WideString sFieldName = params[0].ToCFXWideString(); | 525 CFX_WideString sFieldName = params[0].ToCFXWideString(); |
526 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
m(); | 526 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
m(); |
527 ASSERT(pInterForm != NULL); | 527 ASSERT(pInterForm != NULL); |
528 | 528 |
529 CFX_PtrArray widgets; | 529 CFX_PtrArray widgets; |
530 pInterForm->GetWidgets(sFieldName, widgets); | 530 pInterForm->GetWidgets(sFieldName, widgets); |
531 | 531 |
532 int nSize = widgets.GetSize(); | 532 int nSize = widgets.GetSize(); |
(...skipping 18 matching lines...) Expand all Loading... |
551 ASSERT(pPage != NULL); | 551 ASSERT(pPage != NULL); |
552 | 552 |
553 CPDFSDK_PageView* pPageView = m_pDocument->GetPageView(pPage); | 553 CPDFSDK_PageView* pPageView = m_pDocument->GetPageView(pPage); |
554 pPageView->DeleteAnnot(pWidget); | 554 pPageView->DeleteAnnot(pWidget); |
555 | 555 |
556 pPageView->UpdateRects(aRefresh); | 556 pPageView->UpdateRects(aRefresh); |
557 } | 557 } |
558 m_pDocument->SetChangeMark(); | 558 m_pDocument->SetChangeMark(); |
559 } | 559 } |
560 | 560 |
561 return TRUE; | 561 return true; |
562 } | 562 } |
563 | 563 |
564 //reset filed values within a document. | 564 //reset filed values within a document. |
565 //comment: | 565 //comment: |
566 //note: if the fields names r not rational, aodbe is dumb for it. | 566 //note: if the fields names r not rational, aodbe is dumb for it. |
567 | 567 |
568 FX_BOOL Document::resetForm(IFXJS_Context* cc, const CJS_Parameters& params, CJS
_Value& vRet, CFX_WideString& sError) | 568 bool Document::resetForm(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
lue& vRet, CFX_WideString& sError) |
569 { | 569 { |
570 ASSERT(m_pDocument != NULL); | 570 ASSERT(m_pDocument != NULL); |
571 | 571 |
572 if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || | 572 if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || |
573 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || | 573 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || |
574 m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE; | 574 m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return false; |
575 | 575 |
576 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
m(); | 576 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
m(); |
577 ASSERT(pInterForm != NULL); | 577 ASSERT(pInterForm != NULL); |
578 | 578 |
579 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); | 579 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); |
580 ASSERT(pPDFForm != NULL); | 580 ASSERT(pPDFForm != NULL); |
581 | 581 |
582 v8::Isolate* isolate = GetIsolate(cc); | 582 v8::Isolate* isolate = GetIsolate(cc); |
583 CJS_Array aName(isolate); | 583 CJS_Array aName(isolate); |
584 | 584 |
(...skipping 18 matching lines...) Expand all Loading... |
603 CFX_WideString swVal = valElement.ToCFXWideString(); | 603 CFX_WideString swVal = valElement.ToCFXWideString(); |
604 | 604 |
605 for (int j=0,jsz=pPDFForm->CountFields(swVal); j<jsz; j++) | 605 for (int j=0,jsz=pPDFForm->CountFields(swVal); j<jsz; j++) |
606 { | 606 { |
607 aFields.Add((void*)pPDFForm->GetField(j,swVal)); | 607 aFields.Add((void*)pPDFForm->GetField(j,swVal)); |
608 } | 608 } |
609 } | 609 } |
610 | 610 |
611 if (aFields.GetSize() > 0) | 611 if (aFields.GetSize() > 0) |
612 { | 612 { |
613 pPDFForm->ResetForm(aFields, TRUE, TRUE); | 613 pPDFForm->ResetForm(aFields, true, true); |
614 m_pDocument->SetChangeMark(); | 614 m_pDocument->SetChangeMark(); |
615 | 615 |
616 } | 616 } |
617 } | 617 } |
618 else | 618 else |
619 { | 619 { |
620 pPDFForm->ResetForm(TRUE); | 620 pPDFForm->ResetForm(true); |
621 m_pDocument->SetChangeMark(); | 621 m_pDocument->SetChangeMark(); |
622 | 622 |
623 } | 623 } |
624 | 624 |
625 return TRUE; | 625 return true; |
626 } | 626 } |
627 | 627 |
628 | 628 |
629 FX_BOOL Document::saveAs(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
lue& vRet, CFX_WideString& sError) | 629 bool Document::saveAs(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value
& vRet, CFX_WideString& sError) |
630 { | 630 { |
631 // Unsafe, not supported. | 631 // Unsafe, not supported. |
632 return TRUE; | 632 return true; |
633 } | 633 } |
634 | 634 |
635 | 635 |
636 FX_BOOL Document::submitForm(IFXJS_Context* cc, const CJS_Parameters& params, CJ
S_Value& vRet, CFX_WideString& sError) | 636 bool Document::submitForm(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
alue& vRet, CFX_WideString& sError) |
637 { | 637 { |
638 ASSERT(m_pDocument != NULL); | 638 ASSERT(m_pDocument != NULL); |
639 CJS_Context* pContext = (CJS_Context*)cc; | 639 CJS_Context* pContext = (CJS_Context*)cc; |
640 int nSize = params.size(); | 640 int nSize = params.size(); |
641 if (nSize < 1) { | 641 if (nSize < 1) { |
642 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 642 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
643 return FALSE; | 643 return false; |
644 } | 644 } |
645 | 645 |
646 CFX_WideString strURL; | 646 CFX_WideString strURL; |
647 FX_BOOL bFDF = TRUE; | 647 bool bFDF = true; |
648 FX_BOOL bEmpty = FALSE; | 648 bool bEmpty = false; |
649 v8::Isolate* isolate = GetIsolate(cc); | 649 v8::Isolate* isolate = GetIsolate(cc); |
650 CJS_Array aFields(isolate); | 650 CJS_Array aFields(isolate); |
651 | 651 |
652 CJS_Value v = params[0]; | 652 CJS_Value v = params[0]; |
653 if (v.GetType() == VT_string) | 653 if (v.GetType() == VT_string) |
654 { | 654 { |
655 strURL = params[0].ToCFXWideString(); | 655 strURL = params[0].ToCFXWideString(); |
656 if (nSize > 1) | 656 if (nSize > 1) |
657 bFDF = params[1].ToBool(); | 657 bFDF = params[1].ToBool(); |
658 if (nSize > 2) | 658 if (nSize > 2) |
(...skipping 11 matching lines...) Expand all Loading... |
670 bFDF = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToBool(); | 670 bFDF = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToBool(); |
671 pValue = JS_GetObjectElement(isolate, pObj, L"bEmpty"); | 671 pValue = JS_GetObjectElement(isolate, pObj, L"bEmpty"); |
672 bEmpty = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToBool(); | 672 bEmpty = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToBool(); |
673 pValue = JS_GetObjectElement(isolate, pObj,L"aFields"); | 673 pValue = JS_GetObjectElement(isolate, pObj,L"aFields"); |
674 aFields.Attach(CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToV8Ar
ray()); | 674 aFields.Attach(CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToV8Ar
ray()); |
675 } | 675 } |
676 | 676 |
677 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 677 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
678 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
m(); | 678 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
m(); |
679 CPDF_InterForm* pPDFInterForm = pInterForm->GetInterForm(); | 679 CPDF_InterForm* pPDFInterForm = pInterForm->GetInterForm(); |
680 FX_BOOL bAll = (aFields.GetLength() == 0); | 680 bool bAll = (aFields.GetLength() == 0); |
681 if (bAll && bEmpty) | 681 if (bAll && bEmpty) |
682 { | 682 { |
683 if (pPDFInterForm->CheckRequiredFields()) | 683 if (pPDFInterForm->CheckRequiredFields()) |
684 { | 684 { |
685 pRuntime->BeginBlock(); | 685 pRuntime->BeginBlock(); |
686 pInterForm->SubmitForm(strURL, FALSE); | 686 pInterForm->SubmitForm(strURL, false); |
687 pRuntime->EndBlock(); | 687 pRuntime->EndBlock(); |
688 } | 688 } |
689 return TRUE; | 689 return true; |
690 } | 690 } |
691 | 691 |
692 CFX_PtrArray fieldObjects; | 692 CFX_PtrArray fieldObjects; |
693 for (int i=0,sz=aFields.GetLength(); i<sz; i++) | 693 for (int i=0,sz=aFields.GetLength(); i<sz; i++) |
694 { | 694 { |
695 CJS_Value valName(isolate); | 695 CJS_Value valName(isolate); |
696 aFields.GetElement(i, valName); | 696 aFields.GetElement(i, valName); |
697 | 697 |
698 CFX_WideString sName = valName.ToCFXWideString(); | 698 CFX_WideString sName = valName.ToCFXWideString(); |
699 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); | 699 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); |
700 for (int j = 0, jsz = pPDFForm->CountFields(sName); j < jsz; ++j) | 700 for (int j = 0, jsz = pPDFForm->CountFields(sName); j < jsz; ++j) |
701 { | 701 { |
702 CPDF_FormField* pField = pPDFForm->GetField(j, sName); | 702 CPDF_FormField* pField = pPDFForm->GetField(j, sName); |
703 if (!bEmpty && pField->GetValue().IsEmpty()) | 703 if (!bEmpty && pField->GetValue().IsEmpty()) |
704 continue; | 704 continue; |
705 | 705 |
706 fieldObjects.Add(pField); | 706 fieldObjects.Add(pField); |
707 } | 707 } |
708 } | 708 } |
709 | 709 |
710 if (pPDFInterForm->CheckRequiredFields(&fieldObjects, TRUE)) | 710 if (pPDFInterForm->CheckRequiredFields(&fieldObjects, true)) |
711 { | 711 { |
712 pRuntime->BeginBlock(); | 712 pRuntime->BeginBlock(); |
713 pInterForm->SubmitFields(strURL, fieldObjects, TRUE, !bFDF); | 713 pInterForm->SubmitFields(strURL, fieldObjects, true, !bFDF); |
714 pRuntime->EndBlock(); | 714 pRuntime->EndBlock(); |
715 } | 715 } |
716 return TRUE; | 716 return true; |
717 } | 717 } |
718 | 718 |
719 ////////////////////////////////////////////////////////////////////////////////
////////////// | 719 ////////////////////////////////////////////////////////////////////////////////
////////////// |
720 | 720 |
721 void Document::AttachDoc(CPDFSDK_Document *pDoc) | 721 void Document::AttachDoc(CPDFSDK_Document *pDoc) |
722 { | 722 { |
723 m_pDocument = pDoc; | 723 m_pDocument = pDoc; |
724 } | 724 } |
725 | 725 |
726 CPDFSDK_Document * Document::GetReaderDoc() | 726 CPDFSDK_Document * Document::GetReaderDoc() |
727 { | 727 { |
728 return m_pDocument; | 728 return m_pDocument; |
729 } | 729 } |
730 | 730 |
731 FX_BOOL Document::ExtractFileName(CPDFSDK_Document *pDoc,CFX_ByteString &strFile
Name) | 731 bool Document::ExtractFileName(CPDFSDK_Document *pDoc,CFX_ByteString &strFileNam
e) |
732 { | 732 { |
733 return FALSE; | 733 return false; |
734 } | 734 } |
735 | 735 |
736 FX_BOOL Document::ExtractFolderName(CPDFSDK_Document *pDoc,CFX_ByteString &strFo
lderName) | 736 bool Document::ExtractFolderName(CPDFSDK_Document *pDoc,CFX_ByteString &strFolde
rName) |
737 { | 737 { |
738 return FALSE; | 738 return false; |
739 } | 739 } |
740 | 740 |
741 FX_BOOL Document::bookmarkRoot(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStr
ing& sError) | 741 bool Document::bookmarkRoot(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString
& sError) |
742 { | 742 { |
743 return TRUE; | 743 return true; |
744 } | 744 } |
745 | 745 |
746 FX_BOOL Document::mailDoc(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
alue& vRet, CFX_WideString& sError) | 746 bool Document::mailDoc(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
e& vRet, CFX_WideString& sError) |
747 { | 747 { |
748 ASSERT(m_pDocument != NULL); | 748 ASSERT(m_pDocument != NULL); |
749 | 749 |
750 FX_BOOL bUI = TRUE; | 750 bool bUI = true; |
751 CFX_WideString cTo = L""; | 751 CFX_WideString cTo = L""; |
752 CFX_WideString cCc = L""; | 752 CFX_WideString cCc = L""; |
753 CFX_WideString cBcc = L""; | 753 CFX_WideString cBcc = L""; |
754 CFX_WideString cSubject = L""; | 754 CFX_WideString cSubject = L""; |
755 CFX_WideString cMsg = L""; | 755 CFX_WideString cMsg = L""; |
756 | 756 |
757 if (params.size() >= 1) | 757 if (params.size() >= 1) |
758 bUI = params[0].ToBool(); | 758 bUI = params[0].ToBool(); |
759 if (params.size() >= 2) | 759 if (params.size() >= 2) |
760 cTo = params[1].ToCFXWideString(); | 760 cTo = params[1].ToCFXWideString(); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
796 CJS_Context* pContext = (CJS_Context*)cc; | 796 CJS_Context* pContext = (CJS_Context*)cc; |
797 ASSERT(pContext != NULL); | 797 ASSERT(pContext != NULL); |
798 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 798 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
799 ASSERT(pRuntime != NULL); | 799 ASSERT(pRuntime != NULL); |
800 | 800 |
801 pRuntime->BeginBlock(); | 801 pRuntime->BeginBlock(); |
802 CPDFDoc_Environment* pEnv = pRuntime->GetReaderApp(); | 802 CPDFDoc_Environment* pEnv = pRuntime->GetReaderApp(); |
803 pEnv->JS_docmailForm(NULL, 0, bUI, cTo.c_str(), cSubject.c_str(), cCc.c_str(
), cBcc.c_str(), cMsg.c_str()); | 803 pEnv->JS_docmailForm(NULL, 0, bUI, cTo.c_str(), cSubject.c_str(), cCc.c_str(
), cBcc.c_str(), cMsg.c_str()); |
804 pRuntime->EndBlock(); | 804 pRuntime->EndBlock(); |
805 | 805 |
806 return TRUE; | 806 return true; |
807 } | 807 } |
808 | 808 |
809 FX_BOOL Document::author(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
Error) | 809 bool Document::author(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
or) |
810 { | 810 { |
811 ASSERT(m_pDocument != NULL); | 811 ASSERT(m_pDocument != NULL); |
812 | 812 |
813 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); | 813 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); |
814 if (!pDictionary)return FALSE; | 814 if (!pDictionary)return false; |
815 | 815 |
816 if (vp.IsGetting()) | 816 if (vp.IsGetting()) |
817 { | 817 { |
818 vp << pDictionary->GetUnicodeText("Author"); | 818 vp << pDictionary->GetUnicodeText("Author"); |
819 return TRUE; | 819 return true; |
820 } | 820 } |
821 else | 821 else |
822 { | 822 { |
823 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) return FALSE; | 823 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) return false; |
824 | 824 |
825 CFX_WideString csAuthor; | 825 CFX_WideString csAuthor; |
826 vp >> csAuthor; | 826 vp >> csAuthor; |
827 pDictionary->SetAtString("Author", PDF_EncodeText(csAuthor)); | 827 pDictionary->SetAtString("Author", PDF_EncodeText(csAuthor)); |
828 m_pDocument->SetChangeMark(); | 828 m_pDocument->SetChangeMark(); |
829 return TRUE; | 829 return true; |
830 } | 830 } |
831 } | 831 } |
832 | 832 |
833 FX_BOOL Document::info(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr
ror) | 833 bool Document::info(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError
) |
834 { | 834 { |
835 ASSERT(m_pDocument != NULL); | 835 ASSERT(m_pDocument != NULL); |
836 | 836 |
837 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); | 837 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); |
838 if (!pDictionary) | 838 if (!pDictionary) |
839 return FALSE; | 839 return false; |
840 | 840 |
841 CFX_WideString cwAuthor = pDictionary->GetUnicodeText("Author"); | 841 CFX_WideString cwAuthor = pDictionary->GetUnicodeText("Author"); |
842 CFX_WideString cwTitle = pDictionary->GetUnicodeText("Title"); | 842 CFX_WideString cwTitle = pDictionary->GetUnicodeText("Title"); |
843 CFX_WideString cwSubject = pDictionary->GetUnicodeText("Subject"); | 843 CFX_WideString cwSubject = pDictionary->GetUnicodeText("Subject"); |
844 CFX_WideString cwKeywords = pDictionary->GetUnicodeText("Keywords"); | 844 CFX_WideString cwKeywords = pDictionary->GetUnicodeText("Keywords"); |
845 CFX_WideString cwCreator = pDictionary->GetUnicodeText("Creator"); | 845 CFX_WideString cwCreator = pDictionary->GetUnicodeText("Creator"); |
846 CFX_WideString cwProducer = pDictionary->GetUnicodeText("Producer"); | 846 CFX_WideString cwProducer = pDictionary->GetUnicodeText("Producer"); |
847 CFX_WideString cwCreationDate = pDictionary->GetUnicodeText("CreationDate"
); | 847 CFX_WideString cwCreationDate = pDictionary->GetUnicodeText("CreationDate"
); |
848 CFX_WideString cwModDate = pDictionary->GetUnicodeText("ModDate"); | 848 CFX_WideString cwModDate = pDictionary->GetUnicodeText("ModDate"); |
849 CFX_WideString cwTrapped = pDictionary->GetUnicodeText("Trapped"); | 849 CFX_WideString cwTrapped = pDictionary->GetUnicodeText("Trapped"); |
(...skipping 23 matching lines...) Expand all Loading... |
873 CFX_WideString wsKey = CFX_WideString::FromUTF8(bsKey, bsKey.GetLen
gth()); | 873 CFX_WideString wsKey = CFX_WideString::FromUTF8(bsKey, bsKey.GetLen
gth()); |
874 if((pValueObj->GetType()==PDFOBJ_STRING) || (pValueObj->GetType()==P
DFOBJ_NAME) ) | 874 if((pValueObj->GetType()==PDFOBJ_STRING) || (pValueObj->GetType()==P
DFOBJ_NAME) ) |
875 JS_PutObjectString(isolate, pObj, wsKey.c_str(), pValueObj->GetU
nicodeText().c_str()); | 875 JS_PutObjectString(isolate, pObj, wsKey.c_str(), pValueObj->GetU
nicodeText().c_str()); |
876 if(pValueObj->GetType()==PDFOBJ_NUMBER) | 876 if(pValueObj->GetType()==PDFOBJ_NUMBER) |
877 JS_PutObjectNumber(isolate,pObj, wsKey.c_str(), (float)pValueObj
->GetNumber()); | 877 JS_PutObjectNumber(isolate,pObj, wsKey.c_str(), (float)pValueObj
->GetNumber()); |
878 if(pValueObj->GetType()==PDFOBJ_BOOLEAN) | 878 if(pValueObj->GetType()==PDFOBJ_BOOLEAN) |
879 JS_PutObjectBoolean(isolate,pObj, wsKey.c_str(), (bool)pValueObj
->GetInteger()); | 879 JS_PutObjectBoolean(isolate,pObj, wsKey.c_str(), (bool)pValueObj
->GetInteger()); |
880 } | 880 } |
881 vp << pObj; | 881 vp << pObj; |
882 } | 882 } |
883 return TRUE; | 883 return true; |
884 } | 884 } |
885 | 885 |
886 FX_BOOL Document::creationDate(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStr
ing& sError) | 886 bool Document::creationDate(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString
& sError) |
887 { | 887 { |
888 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); | 888 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); |
889 if (!pDictionary) | 889 if (!pDictionary) |
890 return FALSE; | 890 return false; |
891 | 891 |
892 if (vp.IsGetting()) | 892 if (vp.IsGetting()) |
893 { | 893 { |
894 vp << pDictionary->GetUnicodeText("CreationDate"); | 894 vp << pDictionary->GetUnicodeText("CreationDate"); |
895 } | 895 } |
896 else | 896 else |
897 { | 897 { |
898 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) | 898 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) |
899 return FALSE; | 899 return false; |
900 | 900 |
901 CFX_WideString csCreationDate; | 901 CFX_WideString csCreationDate; |
902 vp >> csCreationDate; | 902 vp >> csCreationDate; |
903 pDictionary->SetAtString("CreationDate", PDF_EncodeText(csCreationDate))
; | 903 pDictionary->SetAtString("CreationDate", PDF_EncodeText(csCreationDate))
; |
904 m_pDocument->SetChangeMark(); | 904 m_pDocument->SetChangeMark(); |
905 } | 905 } |
906 return TRUE; | 906 return true; |
907 } | 907 } |
908 | 908 |
909 FX_BOOL Document::creator(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
sError) | 909 bool Document::creator(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr
ror) |
910 { | 910 { |
911 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); | 911 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); |
912 if (!pDictionary) | 912 if (!pDictionary) |
913 return FALSE; | 913 return false; |
914 | 914 |
915 if (vp.IsGetting()) | 915 if (vp.IsGetting()) |
916 { | 916 { |
917 vp << pDictionary->GetUnicodeText("Creator"); | 917 vp << pDictionary->GetUnicodeText("Creator"); |
918 } | 918 } |
919 else | 919 else |
920 { | 920 { |
921 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) | 921 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) |
922 return FALSE; | 922 return false; |
923 | 923 |
924 CFX_WideString csCreator; | 924 CFX_WideString csCreator; |
925 vp >> csCreator; | 925 vp >> csCreator; |
926 pDictionary->SetAtString("Creator", PDF_EncodeText(csCreator)); | 926 pDictionary->SetAtString("Creator", PDF_EncodeText(csCreator)); |
927 m_pDocument->SetChangeMark(); | 927 m_pDocument->SetChangeMark(); |
928 } | 928 } |
929 return TRUE; | 929 return true; |
930 } | 930 } |
931 | 931 |
932 FX_BOOL Document::delay(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
rror) | 932 bool Document::delay(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
r) |
933 { | 933 { |
934 if (vp.IsGetting()) | 934 if (vp.IsGetting()) |
935 { | 935 { |
936 vp << m_bDelay; | 936 vp << m_bDelay; |
937 } | 937 } |
938 else | 938 else |
939 { | 939 { |
940 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) | 940 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) |
941 return FALSE; | 941 return false; |
942 | 942 |
943 vp >> m_bDelay; | 943 vp >> m_bDelay; |
944 if (m_bDelay) | 944 if (m_bDelay) |
945 { | 945 { |
946 for (int i=0,sz=m_DelayData.GetSize(); i<sz; i++) | 946 for (int i=0,sz=m_DelayData.GetSize(); i<sz; i++) |
947 delete m_DelayData.GetAt(i); | 947 delete m_DelayData.GetAt(i); |
948 | 948 |
949 m_DelayData.RemoveAll(); | 949 m_DelayData.RemoveAll(); |
950 } | 950 } |
951 else | 951 else |
(...skipping 10 matching lines...) Expand all Loading... |
962 m_DelayData.RemoveAll(); | 962 m_DelayData.RemoveAll(); |
963 for (int i=0,sz=DelayDataToProcess.GetSize(); i < sz; i++) | 963 for (int i=0,sz=DelayDataToProcess.GetSize(); i < sz; i++) |
964 { | 964 { |
965 CJS_DelayData* pData = DelayDataToProcess.GetAt(i); | 965 CJS_DelayData* pData = DelayDataToProcess.GetAt(i); |
966 Field::DoDelay(m_pDocument, pData); | 966 Field::DoDelay(m_pDocument, pData); |
967 DelayDataToProcess.SetAt(i,NULL); | 967 DelayDataToProcess.SetAt(i,NULL); |
968 delete pData; | 968 delete pData; |
969 } | 969 } |
970 } | 970 } |
971 } | 971 } |
972 return TRUE; | 972 return true; |
973 } | 973 } |
974 | 974 |
975 FX_BOOL Document::keywords(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
sError) | 975 bool Document::keywords(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
rror) |
976 { | 976 { |
977 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); | 977 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); |
978 if (!pDictionary) | 978 if (!pDictionary) |
979 return FALSE; | 979 return false; |
980 | 980 |
981 if (vp.IsGetting()) | 981 if (vp.IsGetting()) |
982 { | 982 { |
983 vp << pDictionary->GetUnicodeText("Keywords"); | 983 vp << pDictionary->GetUnicodeText("Keywords"); |
984 } | 984 } |
985 else | 985 else |
986 { | 986 { |
987 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) | 987 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) |
988 return FALSE; | 988 return false; |
989 | 989 |
990 CFX_WideString csKeywords; | 990 CFX_WideString csKeywords; |
991 vp >> csKeywords; | 991 vp >> csKeywords; |
992 pDictionary->SetAtString("Keywords", PDF_EncodeText(csKeywords)); | 992 pDictionary->SetAtString("Keywords", PDF_EncodeText(csKeywords)); |
993 m_pDocument->SetChangeMark(); | 993 m_pDocument->SetChangeMark(); |
994 } | 994 } |
995 return TRUE; | 995 return true; |
996 } | 996 } |
997 | 997 |
998 FX_BOOL Document::modDate(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
sError) | 998 bool Document::modDate(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr
ror) |
999 { | 999 { |
1000 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); | 1000 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); |
1001 if (!pDictionary) | 1001 if (!pDictionary) |
1002 return FALSE; | 1002 return false; |
1003 | 1003 |
1004 if (vp.IsGetting()) | 1004 if (vp.IsGetting()) |
1005 { | 1005 { |
1006 vp << pDictionary->GetUnicodeText("ModDate"); | 1006 vp << pDictionary->GetUnicodeText("ModDate"); |
1007 } | 1007 } |
1008 else | 1008 else |
1009 { | 1009 { |
1010 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) | 1010 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) |
1011 return FALSE; | 1011 return false; |
1012 | 1012 |
1013 CFX_WideString csmodDate; | 1013 CFX_WideString csmodDate; |
1014 vp >> csmodDate; | 1014 vp >> csmodDate; |
1015 pDictionary->SetAtString("ModDate", PDF_EncodeText(csmodDate)); | 1015 pDictionary->SetAtString("ModDate", PDF_EncodeText(csmodDate)); |
1016 m_pDocument->SetChangeMark(); | 1016 m_pDocument->SetChangeMark(); |
1017 } | 1017 } |
1018 return TRUE; | 1018 return true; |
1019 } | 1019 } |
1020 | 1020 |
1021 FX_BOOL Document::producer(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
sError) | 1021 bool Document::producer(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
rror) |
1022 { | 1022 { |
1023 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); | 1023 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); |
1024 if (!pDictionary) | 1024 if (!pDictionary) |
1025 return FALSE; | 1025 return false; |
1026 | 1026 |
1027 if (vp.IsGetting()) | 1027 if (vp.IsGetting()) |
1028 { | 1028 { |
1029 vp << pDictionary->GetUnicodeText("Producer"); | 1029 vp << pDictionary->GetUnicodeText("Producer"); |
1030 } | 1030 } |
1031 else | 1031 else |
1032 { | 1032 { |
1033 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) | 1033 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) |
1034 return FALSE; | 1034 return false; |
1035 | 1035 |
1036 CFX_WideString csproducer; | 1036 CFX_WideString csproducer; |
1037 vp >> csproducer; | 1037 vp >> csproducer; |
1038 pDictionary->SetAtString("Producer", PDF_EncodeText(csproducer)); | 1038 pDictionary->SetAtString("Producer", PDF_EncodeText(csproducer)); |
1039 m_pDocument->SetChangeMark(); | 1039 m_pDocument->SetChangeMark(); |
1040 } | 1040 } |
1041 return TRUE; | 1041 return true; |
1042 } | 1042 } |
1043 | 1043 |
1044 FX_BOOL Document::subject(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
sError) | 1044 bool Document::subject(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr
ror) |
1045 { | 1045 { |
1046 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); | 1046 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); |
1047 if (!pDictionary) | 1047 if (!pDictionary) |
1048 return FALSE; | 1048 return false; |
1049 | 1049 |
1050 if (vp.IsGetting()) | 1050 if (vp.IsGetting()) |
1051 { | 1051 { |
1052 vp << pDictionary->GetUnicodeText("Subject"); | 1052 vp << pDictionary->GetUnicodeText("Subject"); |
1053 } | 1053 } |
1054 else | 1054 else |
1055 { | 1055 { |
1056 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) | 1056 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) |
1057 return FALSE; | 1057 return false; |
1058 | 1058 |
1059 CFX_WideString cssubject; | 1059 CFX_WideString cssubject; |
1060 vp >> cssubject; | 1060 vp >> cssubject; |
1061 pDictionary->SetAtString("Subject", PDF_EncodeText(cssubject)); | 1061 pDictionary->SetAtString("Subject", PDF_EncodeText(cssubject)); |
1062 m_pDocument->SetChangeMark(); | 1062 m_pDocument->SetChangeMark(); |
1063 } | 1063 } |
1064 return TRUE; | 1064 return true; |
1065 } | 1065 } |
1066 | 1066 |
1067 FX_BOOL Document::title(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
rror) | 1067 bool Document::title(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
r) |
1068 { | 1068 { |
1069 if (m_pDocument == NULL || m_pDocument->GetDocument() == NULL) | 1069 if (m_pDocument == NULL || m_pDocument->GetDocument() == NULL) |
1070 return FALSE; | 1070 return false; |
1071 | 1071 |
1072 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); | 1072 CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo(); |
1073 if (!pDictionary) | 1073 if (!pDictionary) |
1074 return FALSE; | 1074 return false; |
1075 | 1075 |
1076 if (vp.IsGetting()) | 1076 if (vp.IsGetting()) |
1077 { | 1077 { |
1078 vp << pDictionary->GetUnicodeText("Title"); | 1078 vp << pDictionary->GetUnicodeText("Title"); |
1079 } | 1079 } |
1080 else | 1080 else |
1081 { | 1081 { |
1082 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) | 1082 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) |
1083 return FALSE; | 1083 return false; |
1084 | 1084 |
1085 CFX_WideString cstitle; | 1085 CFX_WideString cstitle; |
1086 vp >> cstitle; | 1086 vp >> cstitle; |
1087 pDictionary->SetAtString("Title", PDF_EncodeText(cstitle)); | 1087 pDictionary->SetAtString("Title", PDF_EncodeText(cstitle)); |
1088 m_pDocument->SetChangeMark(); | 1088 m_pDocument->SetChangeMark(); |
1089 } | 1089 } |
1090 return TRUE; | 1090 return true; |
1091 } | 1091 } |
1092 | 1092 |
1093 FX_BOOL Document::numPages(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
sError) | 1093 bool Document::numPages(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
rror) |
1094 { | 1094 { |
1095 if (vp.IsSetting()) { | 1095 if (vp.IsSetting()) { |
1096 CJS_Context* pContext = static_cast<CJS_Context*>(cc); | 1096 CJS_Context* pContext = static_cast<CJS_Context*>(cc); |
1097 sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY); | 1097 sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY); |
1098 return FALSE; | 1098 return false; |
1099 } | 1099 } |
1100 vp << m_pDocument->GetPageCount(); | 1100 vp << m_pDocument->GetPageCount(); |
1101 return TRUE; | 1101 return true; |
1102 } | 1102 } |
1103 | 1103 |
1104 FX_BOOL Document::external(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
sError) | 1104 bool Document::external(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
rror) |
1105 { | 1105 { |
1106 //In Chrome case,should always return true. | 1106 //In Chrome case,should always return true. |
1107 if (vp.IsGetting()) { | 1107 if (vp.IsGetting()) { |
1108 vp << true; | 1108 vp << true; |
1109 } | 1109 } |
1110 return TRUE; | 1110 return true; |
1111 } | 1111 } |
1112 | 1112 |
1113 FX_BOOL Document::filesize(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
sError) | 1113 bool Document::filesize(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
rror) |
1114 { | 1114 { |
1115 if (vp.IsSetting()) { | 1115 if (vp.IsSetting()) { |
1116 CJS_Context* pContext = static_cast<CJS_Context*>(cc); | 1116 CJS_Context* pContext = static_cast<CJS_Context*>(cc); |
1117 sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY); | 1117 sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY); |
1118 return FALSE; | 1118 return false; |
1119 } | 1119 } |
1120 vp << 0; | 1120 vp << 0; |
1121 return TRUE; | 1121 return true; |
1122 } | 1122 } |
1123 | 1123 |
1124 FX_BOOL Document::mouseX(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
Error) | 1124 bool Document::mouseX(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
or) |
1125 { | 1125 { |
1126 return TRUE; | 1126 return true; |
1127 } | 1127 } |
1128 | 1128 |
1129 FX_BOOL Document::mouseY(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
Error) | 1129 bool Document::mouseY(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
or) |
1130 { | 1130 { |
1131 return TRUE; | 1131 return true; |
1132 } | 1132 } |
1133 | 1133 |
1134 FX_BOOL Document::baseURL(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
sError) | 1134 bool Document::baseURL(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr
ror) |
1135 { | 1135 { |
1136 if (vp.IsGetting()) | 1136 if (vp.IsGetting()) |
1137 { | 1137 { |
1138 vp << m_cwBaseURL; | 1138 vp << m_cwBaseURL; |
1139 } | 1139 } |
1140 else | 1140 else |
1141 { | 1141 { |
1142 vp >> m_cwBaseURL; | 1142 vp >> m_cwBaseURL; |
1143 } | 1143 } |
1144 return TRUE; | 1144 return true; |
1145 } | 1145 } |
1146 | 1146 |
1147 FX_BOOL Document::calculate(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString
& sError) | 1147 bool Document::calculate(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
Error) |
1148 { | 1148 { |
1149 ASSERT(m_pDocument != NULL); | 1149 ASSERT(m_pDocument != NULL); |
1150 | 1150 |
1151 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
m(); | 1151 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
m(); |
1152 ASSERT(pInterForm != NULL); | 1152 ASSERT(pInterForm != NULL); |
1153 | 1153 |
1154 if (vp.IsGetting()) | 1154 if (vp.IsGetting()) |
1155 { | 1155 { |
1156 if (pInterForm->IsCalculateEnabled()) | 1156 if (pInterForm->IsCalculateEnabled()) |
1157 vp << true; | 1157 vp << true; |
1158 else | 1158 else |
1159 vp << false; | 1159 vp << false; |
1160 } | 1160 } |
1161 else | 1161 else |
1162 { | 1162 { |
1163 bool bCalculate; | 1163 bool bCalculate; |
1164 vp >> bCalculate; | 1164 vp >> bCalculate; |
1165 | 1165 |
1166 pInterForm->EnableCalculate(bCalculate); | 1166 pInterForm->EnableCalculate(bCalculate); |
1167 } | 1167 } |
1168 | 1168 |
1169 return TRUE; | 1169 return true; |
1170 } | 1170 } |
1171 | 1171 |
1172 FX_BOOL Document::documentFileName(IFXJS_Context* cc, CJS_PropValue& vp, CFX_Wid
eString& sError) | 1172 bool Document::documentFileName(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideSt
ring& sError) |
1173 { | 1173 { |
1174 if (vp.IsSetting()) { | 1174 if (vp.IsSetting()) { |
1175 CJS_Context* pContext = static_cast<CJS_Context*>(cc); | 1175 CJS_Context* pContext = static_cast<CJS_Context*>(cc); |
1176 sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY); | 1176 sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY); |
1177 return FALSE; | 1177 return false; |
1178 } | 1178 } |
1179 CFX_WideString wsFilePath = m_pDocument->GetPath(); | 1179 CFX_WideString wsFilePath = m_pDocument->GetPath(); |
1180 int32_t i = wsFilePath.GetLength() - 1; | 1180 int32_t i = wsFilePath.GetLength() - 1; |
1181 for ( ; i >= 0; i-- ) | 1181 for ( ; i >= 0; i-- ) |
1182 { | 1182 { |
1183 if ( wsFilePath.GetAt( i ) == L'\\' || wsFilePath.GetAt( i ) == L'/' ) | 1183 if ( wsFilePath.GetAt( i ) == L'\\' || wsFilePath.GetAt( i ) == L'/' ) |
1184 break; | 1184 break; |
1185 } | 1185 } |
1186 if ( i >= 0 && i < wsFilePath.GetLength() - 1 ) | 1186 if ( i >= 0 && i < wsFilePath.GetLength() - 1 ) |
1187 { | 1187 { |
1188 vp << ( wsFilePath.GetBuffer( wsFilePath.GetLength() ) + i + 1 ); | 1188 vp << ( wsFilePath.GetBuffer( wsFilePath.GetLength() ) + i + 1 ); |
1189 }else{ | 1189 }else{ |
1190 vp << L""; | 1190 vp << L""; |
1191 } | 1191 } |
1192 return TRUE; | 1192 return true; |
1193 } | 1193 } |
1194 | 1194 |
1195 CFX_WideString Document::ReversalStr(CFX_WideString cbFrom) | 1195 CFX_WideString Document::ReversalStr(CFX_WideString cbFrom) |
1196 { | 1196 { |
1197 size_t iLength = cbFrom.GetLength(); | 1197 size_t iLength = cbFrom.GetLength(); |
1198 pdfium::base::CheckedNumeric<size_t> iSize = sizeof(wchar_t); | 1198 pdfium::base::CheckedNumeric<size_t> iSize = sizeof(wchar_t); |
1199 iSize *= (iLength + 1); | 1199 iSize *= (iLength + 1); |
1200 wchar_t* pResult = (wchar_t*)malloc(iSize.ValueOrDie()); | 1200 wchar_t* pResult = (wchar_t*)malloc(iSize.ValueOrDie()); |
1201 wchar_t* pFrom = (wchar_t*)cbFrom.GetBuffer(iLength); | 1201 wchar_t* pFrom = (wchar_t*)cbFrom.GetBuffer(iLength); |
1202 | 1202 |
(...skipping 29 matching lines...) Expand all Loading... |
1232 } | 1232 } |
1233 pResult[iLength] = L'\0'; | 1233 pResult[iLength] = L'\0'; |
1234 | 1234 |
1235 cbFrom.ReleaseBuffer(); | 1235 cbFrom.ReleaseBuffer(); |
1236 CFX_WideString cbRet = CFX_WideString(pResult); | 1236 CFX_WideString cbRet = CFX_WideString(pResult); |
1237 free(pResult); | 1237 free(pResult); |
1238 pResult = NULL; | 1238 pResult = NULL; |
1239 return cbRet; | 1239 return cbRet; |
1240 } | 1240 } |
1241 | 1241 |
1242 FX_BOOL Document::path(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr
ror) | 1242 bool Document::path(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError
) |
1243 { | 1243 { |
1244 if (vp.IsSetting()) { | 1244 if (vp.IsSetting()) { |
1245 CJS_Context* pContext = static_cast<CJS_Context*>(cc); | 1245 CJS_Context* pContext = static_cast<CJS_Context*>(cc); |
1246 sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY); | 1246 sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY); |
1247 return FALSE; | 1247 return false; |
1248 } | 1248 } |
1249 vp << app::SysPathToPDFPath(m_pDocument->GetPath()); | 1249 vp << app::SysPathToPDFPath(m_pDocument->GetPath()); |
1250 return TRUE; | 1250 return true; |
1251 } | 1251 } |
1252 | 1252 |
1253 FX_BOOL Document::pageWindowRect(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideS
tring& sError) | 1253 bool Document::pageWindowRect(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStri
ng& sError) |
1254 { | 1254 { |
1255 return TRUE; | 1255 return true; |
1256 } | 1256 } |
1257 | 1257 |
1258 FX_BOOL Document::layout(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
Error) | 1258 bool Document::layout(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
or) |
1259 { | 1259 { |
1260 return TRUE; | 1260 return true; |
1261 } | 1261 } |
1262 | 1262 |
1263 FX_BOOL Document::addLink(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
alue& vRet, CFX_WideString& sError) | 1263 bool Document::addLink(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
e& vRet, CFX_WideString& sError) |
1264 { | 1264 { |
1265 return TRUE; | 1265 return true; |
1266 } | 1266 } |
1267 | 1267 |
1268 FX_BOOL Document::closeDoc(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) | 1268 bool Document::closeDoc(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
ue& vRet, CFX_WideString& sError) |
1269 { | 1269 { |
1270 ASSERT(m_pDocument != NULL); | 1270 ASSERT(m_pDocument != NULL); |
1271 return TRUE; | 1271 return true; |
1272 } | 1272 } |
1273 | 1273 |
1274 FX_BOOL Document::getPageBox(IFXJS_Context* cc, const CJS_Parameters& params, CJ
S_Value& vRet, CFX_WideString& sError) | 1274 bool Document::getPageBox(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
alue& vRet, CFX_WideString& sError) |
1275 { | 1275 { |
1276 return TRUE; | 1276 return true; |
1277 } | 1277 } |
1278 | 1278 |
1279 FX_BOOL Document::getAnnot(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) | 1279 bool Document::getAnnot(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
ue& vRet, CFX_WideString& sError) |
1280 { | 1280 { |
1281 return TRUE; | 1281 return true; |
1282 } | 1282 } |
1283 | 1283 |
1284 FX_BOOL Document::getAnnots(IFXJS_Context* cc, const CJS_Parameters& params, CJS
_Value& vRet, CFX_WideString& sError) | 1284 bool Document::getAnnots(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
lue& vRet, CFX_WideString& sError) |
1285 { | 1285 { |
1286 vRet.SetNull(); | 1286 vRet.SetNull(); |
1287 return TRUE; | 1287 return true; |
1288 } | 1288 } |
1289 | 1289 |
1290 FX_BOOL Document::getAnnot3D(IFXJS_Context* cc, const CJS_Parameters& params, CJ
S_Value& vRet, CFX_WideString& sError) | 1290 bool Document::getAnnot3D(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
alue& vRet, CFX_WideString& sError) |
1291 { | 1291 { |
1292 vRet.SetNull(); | 1292 vRet.SetNull(); |
1293 return TRUE; | 1293 return true; |
1294 } | 1294 } |
1295 | 1295 |
1296 FX_BOOL Document::getAnnots3D(IFXJS_Context* cc, const CJS_Parameters& params, C
JS_Value& vRet, CFX_WideString& sError) | 1296 bool Document::getAnnots3D(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) |
1297 { | 1297 { |
1298 vRet = VT_undefined; | 1298 vRet = VT_undefined; |
1299 return TRUE; | 1299 return true; |
1300 } | 1300 } |
1301 | 1301 |
1302 FX_BOOL Document::getOCGs(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
alue& vRet, CFX_WideString& sError) | 1302 bool Document::getOCGs(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
e& vRet, CFX_WideString& sError) |
1303 { | 1303 { |
1304 return TRUE; | 1304 return true; |
1305 } | 1305 } |
1306 | 1306 |
1307 FX_BOOL Document::getLinks(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) | 1307 bool Document::getLinks(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
ue& vRet, CFX_WideString& sError) |
1308 { | 1308 { |
1309 return TRUE; | 1309 return true; |
1310 } | 1310 } |
1311 | 1311 |
1312 bool Document::IsEnclosedInRect(CFX_FloatRect rect, CFX_FloatRect LinkRect) | 1312 bool Document::IsEnclosedInRect(CFX_FloatRect rect, CFX_FloatRect LinkRect) |
1313 { | 1313 { |
1314 return (rect.left <= LinkRect.left && | 1314 return (rect.left <= LinkRect.left && |
1315 rect.top <= LinkRect.top && | 1315 rect.top <= LinkRect.top && |
1316 rect.right >= LinkRect.right && | 1316 rect.right >= LinkRect.right && |
1317 rect.bottom >= LinkRect.bottom); | 1317 rect.bottom >= LinkRect.bottom); |
1318 } | 1318 } |
1319 | 1319 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1363 IconElement* pTemp = m_pHead; | 1363 IconElement* pTemp = m_pHead; |
1364 for (int i = 0; i < iIndex; i++) | 1364 for (int i = 0; i < iIndex; i++) |
1365 { | 1365 { |
1366 pTemp = pTemp->NextIcon; | 1366 pTemp = pTemp->NextIcon; |
1367 } | 1367 } |
1368 return pTemp; | 1368 return pTemp; |
1369 } | 1369 } |
1370 return NULL; | 1370 return NULL; |
1371 } | 1371 } |
1372 | 1372 |
1373 FX_BOOL Document::addIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
alue& vRet, CFX_WideString& sError) | 1373 bool Document::addIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
e& vRet, CFX_WideString& sError) |
1374 { | 1374 { |
1375 CJS_Context* pContext = (CJS_Context*)cc; | 1375 CJS_Context* pContext = (CJS_Context*)cc; |
1376 if (params.size() != 2) { | 1376 if (params.size() != 2) { |
1377 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1377 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1378 return FALSE; | 1378 return false; |
1379 } | 1379 } |
1380 | 1380 |
1381 CFX_WideString swIconName = params[0].ToCFXWideString(); | 1381 CFX_WideString swIconName = params[0].ToCFXWideString(); |
1382 JSFXObject pJSIcon = params[1].ToV8Object(); | 1382 JSFXObject pJSIcon = params[1].ToV8Object(); |
1383 | 1383 |
1384 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 1384 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
1385 if (JS_GetObjDefnID(pJSIcon) != JS_GetObjDefnID(*pRuntime, L"Icon")) { | 1385 if (JS_GetObjDefnID(pJSIcon) != JS_GetObjDefnID(*pRuntime, L"Icon")) { |
1386 sError = JSGetStringFromID(pContext, IDS_STRING_JSTYPEERROR); | 1386 sError = JSGetStringFromID(pContext, IDS_STRING_JSTYPEERROR); |
1387 return FALSE; | 1387 return false; |
1388 } | 1388 } |
1389 | 1389 |
1390 CJS_EmbedObj* pEmbedObj = params[1].ToCJSObject()->GetEmbedObject(); | 1390 CJS_EmbedObj* pEmbedObj = params[1].ToCJSObject()->GetEmbedObject(); |
1391 if (!pEmbedObj) { | 1391 if (!pEmbedObj) { |
1392 sError = JSGetStringFromID(pContext, IDS_STRING_JSTYPEERROR); | 1392 sError = JSGetStringFromID(pContext, IDS_STRING_JSTYPEERROR); |
1393 return FALSE; | 1393 return false; |
1394 } | 1394 } |
1395 | 1395 |
1396 Icon* pIcon = (Icon*)pEmbedObj; | 1396 Icon* pIcon = (Icon*)pEmbedObj; |
1397 if (!m_pIconTree) | 1397 if (!m_pIconTree) |
1398 m_pIconTree = new IconTree(); | 1398 m_pIconTree = new IconTree(); |
1399 | 1399 |
1400 IconElement* pNewIcon = new IconElement(); | 1400 IconElement* pNewIcon = new IconElement(); |
1401 pNewIcon->IconName = swIconName; | 1401 pNewIcon->IconName = swIconName; |
1402 pNewIcon->NextIcon = NULL; | 1402 pNewIcon->NextIcon = NULL; |
1403 pNewIcon->IconStream = pIcon; | 1403 pNewIcon->IconStream = pIcon; |
1404 m_pIconTree->InsertIconElement(pNewIcon); | 1404 m_pIconTree->InsertIconElement(pNewIcon); |
1405 return TRUE; | 1405 return true; |
1406 } | 1406 } |
1407 | 1407 |
1408 FX_BOOL Document::icons(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
rror) | 1408 bool Document::icons(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
r) |
1409 { | 1409 { |
1410 if (vp.IsSetting()) { | 1410 if (vp.IsSetting()) { |
1411 CJS_Context* pContext = static_cast<CJS_Context*>(cc); | 1411 CJS_Context* pContext = static_cast<CJS_Context*>(cc); |
1412 sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY); | 1412 sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY); |
1413 return FALSE; | 1413 return false; |
1414 } | 1414 } |
1415 | 1415 |
1416 if (!m_pIconTree) | 1416 if (!m_pIconTree) |
1417 { | 1417 { |
1418 vp.SetNull(); | 1418 vp.SetNull(); |
1419 return TRUE; | 1419 return true; |
1420 } | 1420 } |
1421 | 1421 |
1422 CJS_Array Icons(m_isolate); | 1422 CJS_Array Icons(m_isolate); |
1423 IconElement* pIconElement = NULL; | 1423 IconElement* pIconElement = NULL; |
1424 int iIconTreeLength = m_pIconTree->GetLength(); | 1424 int iIconTreeLength = m_pIconTree->GetLength(); |
1425 | 1425 |
1426 CJS_Context* pContext = (CJS_Context *)cc; | 1426 CJS_Context* pContext = (CJS_Context *)cc; |
1427 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 1427 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
1428 | 1428 |
1429 for (int i = 0; i < iIconTreeLength; i++) | 1429 for (int i = 0; i < iIconTreeLength; i++) |
1430 { | 1430 { |
1431 pIconElement = (*m_pIconTree)[i]; | 1431 pIconElement = (*m_pIconTree)[i]; |
1432 | 1432 |
1433 JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefn
ID(*pRuntime, L"Icon")); | 1433 JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefn
ID(*pRuntime, L"Icon")); |
1434 if (pObj.IsEmpty()) return FALSE; | 1434 if (pObj.IsEmpty()) return false; |
1435 | 1435 |
1436 CJS_Icon * pJS_Icon = (CJS_Icon *)JS_GetPrivate(pObj); | 1436 CJS_Icon * pJS_Icon = (CJS_Icon *)JS_GetPrivate(pObj); |
1437 if (!pJS_Icon) return FALSE; | 1437 if (!pJS_Icon) return false; |
1438 | 1438 |
1439 Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); | 1439 Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); |
1440 if (!pIcon)return FALSE; | 1440 if (!pIcon)return false; |
1441 | 1441 |
1442 pIcon->SetStream(pIconElement->IconStream->GetStream()); | 1442 pIcon->SetStream(pIconElement->IconStream->GetStream()); |
1443 pIcon->SetIconName(pIconElement->IconName); | 1443 pIcon->SetIconName(pIconElement->IconName); |
1444 Icons.SetElement(i, CJS_Value(m_isolate,pJS_Icon)); | 1444 Icons.SetElement(i, CJS_Value(m_isolate,pJS_Icon)); |
1445 } | 1445 } |
1446 | 1446 |
1447 vp << Icons; | 1447 vp << Icons; |
1448 return TRUE; | 1448 return true; |
1449 } | 1449 } |
1450 | 1450 |
1451 FX_BOOL Document::getIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
alue& vRet, CFX_WideString& sError) | 1451 bool Document::getIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
e& vRet, CFX_WideString& sError) |
1452 { | 1452 { |
1453 CJS_Context* pContext = (CJS_Context *)cc; | 1453 CJS_Context* pContext = (CJS_Context *)cc; |
1454 if (params.size() != 1) { | 1454 if (params.size() != 1) { |
1455 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1455 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1456 return FALSE; | 1456 return false; |
1457 } | 1457 } |
1458 | 1458 |
1459 if(!m_pIconTree) | 1459 if(!m_pIconTree) |
1460 return FALSE; | 1460 return false; |
1461 CFX_WideString swIconName = params[0].ToCFXWideString(); | 1461 CFX_WideString swIconName = params[0].ToCFXWideString(); |
1462 int iIconCounts = m_pIconTree->GetLength(); | 1462 int iIconCounts = m_pIconTree->GetLength(); |
1463 | 1463 |
1464 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 1464 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
1465 | 1465 |
1466 for (int i = 0; i < iIconCounts; i++) | 1466 for (int i = 0; i < iIconCounts; i++) |
1467 { | 1467 { |
1468 if ((*m_pIconTree)[i]->IconName == swIconName) | 1468 if ((*m_pIconTree)[i]->IconName == swIconName) |
1469 { | 1469 { |
1470 Icon* pRetIcon = (*m_pIconTree)[i]->IconStream; | 1470 Icon* pRetIcon = (*m_pIconTree)[i]->IconStream; |
1471 | 1471 |
1472 JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObj
DefnID(*pRuntime, L"Icon")); | 1472 JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObj
DefnID(*pRuntime, L"Icon")); |
1473 if (pObj.IsEmpty()) return FALSE; | 1473 if (pObj.IsEmpty()) return false; |
1474 | 1474 |
1475 CJS_Icon * pJS_Icon = (CJS_Icon *)JS_GetPrivate(pObj); | 1475 CJS_Icon * pJS_Icon = (CJS_Icon *)JS_GetPrivate(pObj); |
1476 if (!pJS_Icon) return FALSE; | 1476 if (!pJS_Icon) return false; |
1477 | 1477 |
1478 Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); | 1478 Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); |
1479 if (!pIcon)return FALSE; | 1479 if (!pIcon)return false; |
1480 | 1480 |
1481 pIcon->SetIconName(swIconName); | 1481 pIcon->SetIconName(swIconName); |
1482 pIcon->SetStream(pRetIcon->GetStream()); | 1482 pIcon->SetStream(pRetIcon->GetStream()); |
1483 vRet = pJS_Icon; | 1483 vRet = pJS_Icon; |
1484 return TRUE; | 1484 return true; |
1485 } | 1485 } |
1486 } | 1486 } |
1487 | 1487 |
1488 return FALSE; | 1488 return false; |
1489 } | 1489 } |
1490 | 1490 |
1491 FX_BOOL Document::removeIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJ
S_Value& vRet, CFX_WideString& sError) | 1491 bool Document::removeIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
alue& vRet, CFX_WideString& sError) |
1492 { | 1492 { |
1493 // Unsafe, no supported. | 1493 // Unsafe, no supported. |
1494 return TRUE; | 1494 return true; |
1495 } | 1495 } |
1496 | 1496 |
1497 FX_BOOL Document::createDataObject(IFXJS_Context* cc, const CJS_Parameters& para
ms, CJS_Value& vRet, CFX_WideString& sError) | 1497 bool Document::createDataObject(IFXJS_Context* cc, const CJS_Parameters& params,
CJS_Value& vRet, CFX_WideString& sError) |
1498 { | 1498 { |
1499 // Unsafe, not implemented. | 1499 // Unsafe, not implemented. |
1500 return TRUE; | 1500 return true; |
1501 } | 1501 } |
1502 | 1502 |
1503 FX_BOOL Document::media(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
rror) | 1503 bool Document::media(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
r) |
1504 { | 1504 { |
1505 return TRUE; | 1505 return true; |
1506 } | 1506 } |
1507 | 1507 |
1508 FX_BOOL Document::calculateNow(IFXJS_Context* cc, const CJS_Parameters& params,
CJS_Value& vRet, CFX_WideString& sError) | 1508 bool Document::calculateNow(IFXJS_Context* cc, const CJS_Parameters& params, CJS
_Value& vRet, CFX_WideString& sError) |
1509 { | 1509 { |
1510 ASSERT(m_pDocument != NULL); | 1510 ASSERT(m_pDocument != NULL); |
1511 | 1511 |
1512 if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || | 1512 if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || |
1513 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || | 1513 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || |
1514 m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE; | 1514 m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return false; |
1515 | 1515 |
1516 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
m(); | 1516 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
m(); |
1517 ASSERT(pInterForm != NULL); | 1517 ASSERT(pInterForm != NULL); |
1518 pInterForm->OnCalculate(); | 1518 pInterForm->OnCalculate(); |
1519 return TRUE; | 1519 return true; |
1520 } | 1520 } |
1521 | 1521 |
1522 FX_BOOL Document::Collab(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
Error) | 1522 bool Document::Collab(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
or) |
1523 { | 1523 { |
1524 return TRUE; | 1524 return true; |
1525 } | 1525 } |
1526 | 1526 |
1527 FX_BOOL Document::getPageNthWord(IFXJS_Context* cc, const CJS_Parameters& params
, CJS_Value& vRet, CFX_WideString& sError) | 1527 bool Document::getPageNthWord(IFXJS_Context* cc, const CJS_Parameters& params, C
JS_Value& vRet, CFX_WideString& sError) |
1528 { | 1528 { |
1529 ASSERT(m_pDocument != NULL); | 1529 ASSERT(m_pDocument != NULL); |
1530 | 1530 |
1531 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE; | 1531 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return false; |
1532 | 1532 |
1533 int nPageNo = params.GetSize() > 0 ? params[0].ToInt() : 0; | 1533 int nPageNo = params.GetSize() > 0 ? params[0].ToInt() : 0; |
1534 int nWordNo = params.GetSize() > 1 ? params[1].ToInt() : 0; | 1534 int nWordNo = params.GetSize() > 1 ? params[1].ToInt() : 0; |
1535 bool bStrip = params.GetSize() > 2 ? params[2].ToBool() : true; | 1535 bool bStrip = params.GetSize() > 2 ? params[2].ToBool() : true; |
1536 | 1536 |
1537 CPDF_Document* pDocument = m_pDocument->GetDocument(); | 1537 CPDF_Document* pDocument = m_pDocument->GetDocument(); |
1538 if (!pDocument) return FALSE; | 1538 if (!pDocument) return false; |
1539 | 1539 |
1540 CJS_Context* pContext = static_cast<CJS_Context*>(cc); | 1540 CJS_Context* pContext = static_cast<CJS_Context*>(cc); |
1541 if (nPageNo < 0 || nPageNo >= pDocument->GetPageCount()) | 1541 if (nPageNo < 0 || nPageNo >= pDocument->GetPageCount()) |
1542 { | 1542 { |
1543 sError = JSGetStringFromID(pContext, IDS_STRING_JSVALUEERROR); | 1543 sError = JSGetStringFromID(pContext, IDS_STRING_JSVALUEERROR); |
1544 return FALSE; | 1544 return false; |
1545 } | 1545 } |
1546 | 1546 |
1547 CPDF_Dictionary* pPageDict = pDocument->GetPage(nPageNo); | 1547 CPDF_Dictionary* pPageDict = pDocument->GetPage(nPageNo); |
1548 if (!pPageDict) return FALSE; | 1548 if (!pPageDict) return false; |
1549 | 1549 |
1550 CPDF_Page page; | 1550 CPDF_Page page; |
1551 page.Load(pDocument, pPageDict); | 1551 page.Load(pDocument, pPageDict); |
1552 page.StartParse(); | 1552 page.StartParse(); |
1553 page.ParseContent(); | 1553 page.ParseContent(); |
1554 | 1554 |
1555 FX_POSITION pos = page.GetFirstObjectPosition(); | 1555 FX_POSITION pos = page.GetFirstObjectPosition(); |
1556 | 1556 |
1557 int nWords = 0; | 1557 int nWords = 0; |
1558 | 1558 |
(...skipping 18 matching lines...) Expand all Loading... |
1577 } | 1577 } |
1578 } | 1578 } |
1579 | 1579 |
1580 if (bStrip) | 1580 if (bStrip) |
1581 { | 1581 { |
1582 swRet.TrimLeft(); | 1582 swRet.TrimLeft(); |
1583 swRet.TrimRight(); | 1583 swRet.TrimRight(); |
1584 } | 1584 } |
1585 | 1585 |
1586 vRet = swRet.c_str(); | 1586 vRet = swRet.c_str(); |
1587 return TRUE; | 1587 return true; |
1588 } | 1588 } |
1589 | 1589 |
1590 FX_BOOL Document::getPageNthWordQuads(IFXJS_Context* cc, const CJS_Parameters& p
arams, CJS_Value& vRet, CFX_WideString& sError) | 1590 bool Document::getPageNthWordQuads(IFXJS_Context* cc, const CJS_Parameters& para
ms, CJS_Value& vRet, CFX_WideString& sError) |
1591 { | 1591 { |
1592 ASSERT(m_pDocument != NULL); | 1592 ASSERT(m_pDocument != NULL); |
1593 | 1593 |
1594 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE; | 1594 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return false; |
1595 | 1595 |
1596 return FALSE; | 1596 return false; |
1597 } | 1597 } |
1598 | 1598 |
1599 FX_BOOL Document::getPageNumWords(IFXJS_Context* cc, const CJS_Parameters& param
s, CJS_Value& vRet, CFX_WideString& sError) | 1599 bool Document::getPageNumWords(IFXJS_Context* cc, const CJS_Parameters& params,
CJS_Value& vRet, CFX_WideString& sError) |
1600 { | 1600 { |
1601 ASSERT(m_pDocument != NULL); | 1601 ASSERT(m_pDocument != NULL); |
1602 | 1602 |
1603 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE; | 1603 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return false; |
1604 | 1604 |
1605 int nPageNo = params.GetSize() > 0 ? params[0].ToInt() : 0; | 1605 int nPageNo = params.GetSize() > 0 ? params[0].ToInt() : 0; |
1606 | 1606 |
1607 CPDF_Document* pDocument = m_pDocument->GetDocument(); | 1607 CPDF_Document* pDocument = m_pDocument->GetDocument(); |
1608 ASSERT(pDocument != NULL); | 1608 ASSERT(pDocument != NULL); |
1609 | 1609 |
1610 CJS_Context* pContext = static_cast<CJS_Context*>(cc); | 1610 CJS_Context* pContext = static_cast<CJS_Context*>(cc); |
1611 if (nPageNo < 0 || nPageNo >= pDocument->GetPageCount()) | 1611 if (nPageNo < 0 || nPageNo >= pDocument->GetPageCount()) |
1612 { | 1612 { |
1613 sError = JSGetStringFromID(pContext, IDS_STRING_JSVALUEERROR); | 1613 sError = JSGetStringFromID(pContext, IDS_STRING_JSVALUEERROR); |
1614 return FALSE; | 1614 return false; |
1615 } | 1615 } |
1616 | 1616 |
1617 CPDF_Dictionary* pPageDict = pDocument->GetPage(nPageNo); | 1617 CPDF_Dictionary* pPageDict = pDocument->GetPage(nPageNo); |
1618 if (!pPageDict) return FALSE; | 1618 if (!pPageDict) return false; |
1619 | 1619 |
1620 CPDF_Page page; | 1620 CPDF_Page page; |
1621 page.Load(pDocument, pPageDict); | 1621 page.Load(pDocument, pPageDict); |
1622 page.StartParse(); | 1622 page.StartParse(); |
1623 page.ParseContent(); | 1623 page.ParseContent(); |
1624 | 1624 |
1625 FX_POSITION pos = page.GetFirstObjectPosition(); | 1625 FX_POSITION pos = page.GetFirstObjectPosition(); |
1626 | 1626 |
1627 int nWords = 0; | 1627 int nWords = 0; |
1628 | 1628 |
1629 while (pos) | 1629 while (pos) |
1630 { | 1630 { |
1631 if (CPDF_PageObject* pPageObj = page.GetNextObject(pos)) | 1631 if (CPDF_PageObject* pPageObj = page.GetNextObject(pos)) |
1632 { | 1632 { |
1633 if (pPageObj->m_Type == PDFPAGE_TEXT) | 1633 if (pPageObj->m_Type == PDFPAGE_TEXT) |
1634 { | 1634 { |
1635 CPDF_TextObject* pTextObj = (CPDF_TextObject*)pPageObj; | 1635 CPDF_TextObject* pTextObj = (CPDF_TextObject*)pPageObj; |
1636 nWords += CountWords(pTextObj); | 1636 nWords += CountWords(pTextObj); |
1637 } | 1637 } |
1638 } | 1638 } |
1639 } | 1639 } |
1640 | 1640 |
1641 vRet = nWords; | 1641 vRet = nWords; |
1642 | 1642 |
1643 return TRUE; | 1643 return true; |
1644 } | 1644 } |
1645 | 1645 |
1646 FX_BOOL Document::getPrintParams(IFXJS_Context* cc, const CJS_Parameters& params
, CJS_Value& vRet, CFX_WideString& sError) | 1646 bool Document::getPrintParams(IFXJS_Context* cc, const CJS_Parameters& params, C
JS_Value& vRet, CFX_WideString& sError) |
1647 { | 1647 { |
1648 CJS_Context* pContext = (CJS_Context*)cc; | 1648 CJS_Context* pContext = (CJS_Context*)cc; |
1649 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 1649 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
1650 JSFXObject pRetObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID
(*pRuntime, L"PrintParamsObj")); | 1650 JSFXObject pRetObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID
(*pRuntime, L"PrintParamsObj")); |
1651 | 1651 |
1652 // Not implemented yet. | 1652 // Not implemented yet. |
1653 | 1653 |
1654 vRet = pRetObj; | 1654 vRet = pRetObj; |
1655 return TRUE; | 1655 return true; |
1656 } | 1656 } |
1657 | 1657 |
1658 #define ISLATINWORD(u) (u != 0x20 && u <= 0x28FF) | 1658 #define ISLATINWORD(u) (u != 0x20 && u <= 0x28FF) |
1659 | 1659 |
1660 int Document::CountWords(CPDF_TextObject* pTextObj) | 1660 int Document::CountWords(CPDF_TextObject* pTextObj) |
1661 { | 1661 { |
1662 if (!pTextObj) return 0; | 1662 if (!pTextObj) return 0; |
1663 | 1663 |
1664 int nWords = 0; | 1664 int nWords = 0; |
1665 | 1665 |
1666 CPDF_Font* pFont = pTextObj->GetFont(); | 1666 CPDF_Font* pFont = pTextObj->GetFont(); |
1667 if (!pFont) return 0; | 1667 if (!pFont) return 0; |
1668 | 1668 |
1669 FX_BOOL bIsLatin = FALSE; | 1669 bool bIsLatin = false; |
1670 | 1670 |
1671 for (int i=0, sz=pTextObj->CountChars(); i<sz; i++) | 1671 for (int i=0, sz=pTextObj->CountChars(); i<sz; i++) |
1672 { | 1672 { |
1673 FX_DWORD charcode = -1; | 1673 FX_DWORD charcode = -1; |
1674 FX_FLOAT kerning; | 1674 FX_FLOAT kerning; |
1675 | 1675 |
1676 pTextObj->GetCharInfo(i, charcode, kerning); | 1676 pTextObj->GetCharInfo(i, charcode, kerning); |
1677 CFX_WideString swUnicode = pFont->UnicodeFromCharCode(charcode); | 1677 CFX_WideString swUnicode = pFont->UnicodeFromCharCode(charcode); |
1678 | 1678 |
1679 FX_WORD unicode = 0; | 1679 FX_WORD unicode = 0; |
(...skipping 14 matching lines...) Expand all Loading... |
1694 CFX_WideString Document::GetObjWordStr(CPDF_TextObject* pTextObj, int nWordIndex
) | 1694 CFX_WideString Document::GetObjWordStr(CPDF_TextObject* pTextObj, int nWordIndex
) |
1695 { | 1695 { |
1696 ASSERT(pTextObj != NULL); | 1696 ASSERT(pTextObj != NULL); |
1697 | 1697 |
1698 CFX_WideString swRet; | 1698 CFX_WideString swRet; |
1699 | 1699 |
1700 CPDF_Font* pFont = pTextObj->GetFont(); | 1700 CPDF_Font* pFont = pTextObj->GetFont(); |
1701 if (!pFont) return L""; | 1701 if (!pFont) return L""; |
1702 | 1702 |
1703 int nWords = 0; | 1703 int nWords = 0; |
1704 FX_BOOL bIsLatin = FALSE; | 1704 bool bIsLatin = false; |
1705 | 1705 |
1706 for (int i=0, sz=pTextObj->CountChars(); i<sz; i++) | 1706 for (int i=0, sz=pTextObj->CountChars(); i<sz; i++) |
1707 { | 1707 { |
1708 FX_DWORD charcode = -1; | 1708 FX_DWORD charcode = -1; |
1709 FX_FLOAT kerning; | 1709 FX_FLOAT kerning; |
1710 | 1710 |
1711 pTextObj->GetCharInfo(i, charcode, kerning); | 1711 pTextObj->GetCharInfo(i, charcode, kerning); |
1712 CFX_WideString swUnicode = pFont->UnicodeFromCharCode(charcode); | 1712 CFX_WideString swUnicode = pFont->UnicodeFromCharCode(charcode); |
1713 | 1713 |
1714 FX_WORD unicode = 0; | 1714 FX_WORD unicode = 0; |
(...skipping 10 matching lines...) Expand all Loading... |
1725 nWords++; | 1725 nWords++; |
1726 } | 1726 } |
1727 | 1727 |
1728 if (nWords-1 == nWordIndex) | 1728 if (nWords-1 == nWordIndex) |
1729 swRet += unicode; | 1729 swRet += unicode; |
1730 } | 1730 } |
1731 | 1731 |
1732 return swRet; | 1732 return swRet; |
1733 } | 1733 } |
1734 | 1734 |
1735 FX_BOOL Document::zoom(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr
ror) | 1735 bool Document::zoom(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError
) |
1736 { | 1736 { |
1737 | 1737 |
1738 return TRUE; | 1738 return true; |
1739 } | 1739 } |
1740 | 1740 |
1741 /** | 1741 /** |
1742 (none, NoVary) | 1742 (none, NoVary) |
1743 (fitP, FitPage) | 1743 (fitP, FitPage) |
1744 (fitW, FitWidth) | 1744 (fitW, FitWidth) |
1745 (fitH, FitHeight) | 1745 (fitH, FitHeight) |
1746 (fitV, FitVisibleWidth) | 1746 (fitV, FitVisibleWidth) |
1747 (pref, Preferred) | 1747 (pref, Preferred) |
1748 (refW, ReflowWidth) | 1748 (refW, ReflowWidth) |
1749 */ | 1749 */ |
1750 | 1750 |
1751 FX_BOOL Document::zoomType(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
sError) | 1751 bool Document::zoomType(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
rror) |
1752 { | 1752 { |
1753 return TRUE; | 1753 return true; |
1754 } | 1754 } |
1755 | 1755 |
1756 FX_BOOL Document::deletePages(IFXJS_Context* cc, const CJS_Parameters& params, C
JS_Value& vRet, CFX_WideString& sError) | 1756 bool Document::deletePages(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) |
1757 { | 1757 { |
1758 // Unsafe, no supported. | 1758 // Unsafe, no supported. |
1759 return TRUE; | 1759 return true; |
1760 } | 1760 } |
1761 | 1761 |
1762 FX_BOOL Document::extractPages(IFXJS_Context* cc, const CJS_Parameters& params,
CJS_Value& vRet, CFX_WideString& sError) | 1762 bool Document::extractPages(IFXJS_Context* cc, const CJS_Parameters& params, CJS
_Value& vRet, CFX_WideString& sError) |
1763 { | 1763 { |
1764 // Unsafe, not supported. | 1764 // Unsafe, not supported. |
1765 return TRUE; | 1765 return true; |
1766 } | 1766 } |
1767 | 1767 |
1768 FX_BOOL Document::insertPages(IFXJS_Context* cc, const CJS_Parameters& params, C
JS_Value& vRet, CFX_WideString& sError) | 1768 bool Document::insertPages(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) |
1769 { | 1769 { |
1770 // Unsafe, not supported. | 1770 // Unsafe, not supported. |
1771 return TRUE; | 1771 return true; |
1772 } | 1772 } |
1773 | 1773 |
1774 FX_BOOL Document::replacePages(IFXJS_Context* cc, const CJS_Parameters& params,
CJS_Value& vRet, CFX_WideString& sError) | 1774 bool Document::replacePages(IFXJS_Context* cc, const CJS_Parameters& params, CJS
_Value& vRet, CFX_WideString& sError) |
1775 { | 1775 { |
1776 // Unsafe, not supported. | 1776 // Unsafe, not supported. |
1777 return TRUE; | 1777 return true; |
1778 } | 1778 } |
1779 | 1779 |
1780 FX_BOOL Document::getURL(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
lue& vRet, CFX_WideString& sError) | 1780 bool Document::getURL(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value
& vRet, CFX_WideString& sError) |
1781 { | 1781 { |
1782 // Unsafe, not supported. | 1782 // Unsafe, not supported. |
1783 return TRUE; | 1783 return true; |
1784 } | 1784 } |
1785 | 1785 |
1786 void Document::AddDelayData(CJS_DelayData* pData) | 1786 void Document::AddDelayData(CJS_DelayData* pData) |
1787 { | 1787 { |
1788 m_DelayData.Add(pData); | 1788 m_DelayData.Add(pData); |
1789 } | 1789 } |
1790 | 1790 |
1791 void Document::DoFieldDelay(const CFX_WideString& sFieldName, int nControlIndex) | 1791 void Document::DoFieldDelay(const CFX_WideString& sFieldName, int nControlIndex) |
1792 { | 1792 { |
1793 CFX_DWordArray DelArray; | 1793 CFX_DWordArray DelArray; |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1832 for (int j=DelArray.GetSize()-1; j>=0; j--) | 1832 for (int j=DelArray.GetSize()-1; j>=0; j--) |
1833 { | 1833 { |
1834 m_DelayData.RemoveAt(DelArray[j]); | 1834 m_DelayData.RemoveAt(DelArray[j]); |
1835 } | 1835 } |
1836 } | 1836 } |
1837 | 1837 |
1838 CJS_Document* Document::GetCJSDoc() const | 1838 CJS_Document* Document::GetCJSDoc() const |
1839 { | 1839 { |
1840 return static_cast<CJS_Document*>(m_pJSObject); | 1840 return static_cast<CJS_Document*>(m_pJSObject); |
1841 } | 1841 } |
OLD | NEW |