Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/platform/java/mupdf_native.c @ 3:2c135c81b16c
MERGE: upstream PyMuPDF 1.26.4 with MuPDF 1.26.7
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:44:09 +0200 |
| parents | b50eed0cc0ef |
| children |
comparison
equal
deleted
inserted
replaced
| 0:6015a75abc2d | 3:2c135c81b16c |
|---|---|
| 1 // Copyright (C) 2004-2025 Artifex Software, Inc. | |
| 2 // | |
| 3 // This file is part of MuPDF. | |
| 4 // | |
| 5 // MuPDF is free software: you can redistribute it and/or modify it under the | |
| 6 // terms of the GNU Affero General Public License as published by the Free | |
| 7 // Software Foundation, either version 3 of the License, or (at your option) | |
| 8 // any later version. | |
| 9 // | |
| 10 // MuPDF is distributed in the hope that it will be useful, but WITHOUT ANY | |
| 11 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | |
| 12 // FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more | |
| 13 // details. | |
| 14 // | |
| 15 // You should have received a copy of the GNU Affero General Public License | |
| 16 // along with MuPDF. If not, see <https://www.gnu.org/licenses/agpl-3.0.en.html> | |
| 17 // | |
| 18 // Alternative licensing terms are available from the licensor. | |
| 19 // For commercial licensing, see <https://www.artifex.com/> or contact | |
| 20 // Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco, | |
| 21 // CA 94129, USA, for further information. | |
| 22 | |
| 23 /* | |
| 24 NOTE! | |
| 25 The JNI specification states that New<PrimitiveType>Array() do not | |
| 26 throw java exceptions, but many JVMs (e.g. Android's) treat them the | |
| 27 same way as NewObjectArray which may throw e.g. OutOfMemoryError. | |
| 28 So after calling these functions it is as important to call | |
| 29 ExceptionCheck() to check for exceptions as for functions that | |
| 30 are marked as throwing exceptions according to the JNI specification. | |
| 31 */ | |
| 32 | |
| 33 #include <jni.h> | |
| 34 #ifdef _WIN32 | |
| 35 #include <windows.h> | |
| 36 #else | |
| 37 #include <pthread.h> | |
| 38 #endif | |
| 39 | |
| 40 #include "mupdf/fitz.h" | |
| 41 #include "mupdf/ucdn.h" | |
| 42 #include "mupdf/pdf.h" | |
| 43 | |
| 44 #include "mupdf_native.h" /* javah generated prototypes */ | |
| 45 | |
| 46 #include <assert.h> | |
| 47 #include <stdio.h> | |
| 48 #include <stdlib.h> | |
| 49 #include <string.h> | |
| 50 #include <limits.h> | |
| 51 | |
| 52 #ifdef HAVE_ANDROID | |
| 53 #include <android/log.h> | |
| 54 #include <android/bitmap.h> | |
| 55 #define LOG_TAG "libmupdf" | |
| 56 #define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__) | |
| 57 #define LOGT(...) __android_log_print(ANDROID_LOG_INFO,"alert",__VA_ARGS__) | |
| 58 #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__) | |
| 59 #else | |
| 60 #undef LOGI | |
| 61 #undef LOGE | |
| 62 #define LOGI(...) do{printf(__VA_ARGS__);putchar('\n');}while(0) | |
| 63 #define LOGE(...) do{printf(__VA_ARGS__);putchar('\n');}while(0) | |
| 64 #endif | |
| 65 | |
| 66 #define MY_JNI_VERSION JNI_VERSION_1_6 | |
| 67 | |
| 68 #define FUN(A) Java_com_artifex_mupdf_fitz_ ## A | |
| 69 #define PKG "com/artifex/mupdf/fitz/" | |
| 70 | |
| 71 /* Do our best to avoid type casting warnings. */ | |
| 72 | |
| 73 #define CAST(type, var) (type)pointer_cast(var) | |
| 74 | |
| 75 static inline void *pointer_cast(jlong l) | |
| 76 { | |
| 77 return (void *)(intptr_t)l; | |
| 78 } | |
| 79 | |
| 80 static inline jlong jlong_cast(const void *p) | |
| 81 { | |
| 82 return (jlong)(intptr_t)p; | |
| 83 } | |
| 84 | |
| 85 /* Our VM */ | |
| 86 static JavaVM *jvm = NULL; | |
| 87 | |
| 88 /* All the cached classes/mids/fids we need. */ | |
| 89 | |
| 90 static jclass cls_AbortException; | |
| 91 static jclass cls_AlertResult; | |
| 92 static jclass cls_Archive; | |
| 93 static jclass cls_ArrayList; | |
| 94 static jclass cls_ArrayOfQuad; | |
| 95 static jclass cls_BarcodeInfo; | |
| 96 static jclass cls_Buffer; | |
| 97 static jclass cls_ColorSpace; | |
| 98 static jclass cls_Context; | |
| 99 static jclass cls_Context_Log; | |
| 100 static jclass cls_Context_Version; | |
| 101 static jclass cls_Cookie; | |
| 102 static jclass cls_DefaultAppearance; | |
| 103 static jclass cls_DefaultColorSpaces; | |
| 104 static jclass cls_Device; | |
| 105 static jclass cls_DisplayList; | |
| 106 static jclass cls_Document; | |
| 107 static jclass cls_DocumentWriter; | |
| 108 static jclass cls_DocumentWriter_OCRListener; | |
| 109 static jclass cls_DOM; | |
| 110 static jclass cls_DOMAttribute; | |
| 111 static jclass cls_FitzInputStream; | |
| 112 static jclass cls_Float; | |
| 113 static jclass cls_FloatArray; | |
| 114 static jclass cls_Font; | |
| 115 static jclass cls_Story; | |
| 116 static jclass cls_IOException; | |
| 117 static jclass cls_IllegalArgumentException; | |
| 118 static jclass cls_Image; | |
| 119 static jclass cls_IndexOutOfBoundsException; | |
| 120 static jclass cls_IntegerArray; | |
| 121 static jclass cls_Link; | |
| 122 static jclass cls_LinkDestination; | |
| 123 static jclass cls_Location; | |
| 124 static jclass cls_Matrix; | |
| 125 static jclass cls_MultiArchive; | |
| 126 static jclass cls_NativeDevice; | |
| 127 static jclass cls_NullPointerException; | |
| 128 static jclass cls_Object; | |
| 129 static jclass cls_OutOfMemoryError; | |
| 130 static jclass cls_Outline; | |
| 131 static jclass cls_OutlineItem; | |
| 132 static jclass cls_OutlineIterator; | |
| 133 static jclass cls_PDFAnnotation; | |
| 134 static jclass cls_PDFDocument; | |
| 135 static jclass cls_PDFDocument_JsEventListener; | |
| 136 static jclass cls_PDFDocument_PDFEmbeddedFileParams; | |
| 137 static jclass cls_PDFGraftMap; | |
| 138 static jclass cls_PDFObject; | |
| 139 static jclass cls_PDFPage; | |
| 140 static jclass cls_PDFProcessor; | |
| 141 static jclass cls_PDFWidget; | |
| 142 static jclass cls_PKCS7DistinguishedName; | |
| 143 static jclass cls_PKCS7Signer; | |
| 144 static jclass cls_PKCS7Verifier; | |
| 145 static jclass cls_Page; | |
| 146 static jclass cls_Path; | |
| 147 static jclass cls_PathWalker; | |
| 148 static jclass cls_Pixmap; | |
| 149 static jclass cls_Point; | |
| 150 static jclass cls_Quad; | |
| 151 static jclass cls_Rect; | |
| 152 static jclass cls_RuntimeException; | |
| 153 static jclass cls_SeekableInputStream; | |
| 154 static jclass cls_SeekableOutputStream; | |
| 155 static jclass cls_SeekableStream; | |
| 156 static jclass cls_Shade; | |
| 157 static jclass cls_String; | |
| 158 static jclass cls_StrokeState; | |
| 159 static jclass cls_StructuredText; | |
| 160 static jclass cls_StructuredTextWalker; | |
| 161 static jclass cls_StructuredTextWalker_VectorInfo; | |
| 162 static jclass cls_Text; | |
| 163 static jclass cls_TextBlock; | |
| 164 static jclass cls_TextChar; | |
| 165 static jclass cls_TextLine; | |
| 166 static jclass cls_TextWalker; | |
| 167 static jclass cls_TextWidgetCharLayout; | |
| 168 static jclass cls_TextWidgetLayout; | |
| 169 static jclass cls_TextWidgetLineLayout; | |
| 170 static jclass cls_TreeArchive; | |
| 171 static jclass cls_TryLaterException; | |
| 172 static jclass cls_UnsupportedOperationException; | |
| 173 | |
| 174 static jfieldID fid_AlertResult_buttonPressed; | |
| 175 static jfieldID fid_AlertResult_checkboxChecked; | |
| 176 static jfieldID fid_Archive_pointer; | |
| 177 static jfieldID fid_BarcodeInfo_type; | |
| 178 static jfieldID fid_BarcodeInfo_contents; | |
| 179 static jfieldID fid_Buffer_pointer; | |
| 180 static jfieldID fid_ColorSpace_pointer; | |
| 181 static jfieldID fid_Context_Version_major; | |
| 182 static jfieldID fid_Context_Version_minor; | |
| 183 static jfieldID fid_Context_Version_patch; | |
| 184 static jfieldID fid_Context_Version_version; | |
| 185 static jfieldID fid_Context_lock; | |
| 186 static jfieldID fid_Context_log; | |
| 187 static jfieldID fid_Cookie_pointer; | |
| 188 static jfieldID fid_DefaultAppearance_color; | |
| 189 static jfieldID fid_DefaultAppearance_font; | |
| 190 static jfieldID fid_DefaultAppearance_size; | |
| 191 static jfieldID fid_DefaultColorSpaces_pointer; | |
| 192 static jfieldID fid_Device_pointer; | |
| 193 static jfieldID fid_DisplayList_pointer; | |
| 194 static jfieldID fid_DocumentWriter_ocrlistener; | |
| 195 static jfieldID fid_DocumentWriter_pointer; | |
| 196 static jfieldID fid_Document_pointer; | |
| 197 static jfieldID fid_DOM_pointer; | |
| 198 static jfieldID fid_DOMAttribute_attribute; | |
| 199 static jfieldID fid_DOMAttribute_value; | |
| 200 static jfieldID fid_FitzInputStream_closed; | |
| 201 static jfieldID fid_FitzInputStream_markpos; | |
| 202 static jfieldID fid_FitzInputStream_pointer; | |
| 203 static jfieldID fid_Font_pointer; | |
| 204 static jfieldID fid_Story_pointer; | |
| 205 static jfieldID fid_Image_pointer; | |
| 206 static jfieldID fid_Link_pointer; | |
| 207 static jfieldID fid_LinkDestination_chapter; | |
| 208 static jfieldID fid_LinkDestination_height; | |
| 209 static jfieldID fid_LinkDestination_page; | |
| 210 static jfieldID fid_LinkDestination_type; | |
| 211 static jfieldID fid_LinkDestination_width; | |
| 212 static jfieldID fid_LinkDestination_x; | |
| 213 static jfieldID fid_LinkDestination_y; | |
| 214 static jfieldID fid_LinkDestination_zoom; | |
| 215 static jfieldID fid_Matrix_a; | |
| 216 static jfieldID fid_Matrix_b; | |
| 217 static jfieldID fid_Matrix_c; | |
| 218 static jfieldID fid_Matrix_d; | |
| 219 static jfieldID fid_Matrix_e; | |
| 220 static jfieldID fid_Matrix_f; | |
| 221 static jfieldID fid_MultiArchive_pointer; | |
| 222 static jfieldID fid_NativeDevice_nativeInfo; | |
| 223 static jfieldID fid_NativeDevice_nativeResource; | |
| 224 static jfieldID fid_OutlineIterator_pointer; | |
| 225 static jfieldID fid_PDFAnnotation_pointer; | |
| 226 static jfieldID fid_PDFDocument_pointer; | |
| 227 static jfieldID fid_PDFGraftMap_pointer; | |
| 228 static jfieldID fid_PDFObject_Null; | |
| 229 static jfieldID fid_PDFObject_pointer; | |
| 230 static jfieldID fid_PDFPage_pointer; | |
| 231 static jfieldID fid_PDFWidget_fieldFlags; | |
| 232 static jfieldID fid_PDFWidget_fieldType; | |
| 233 static jfieldID fid_PDFWidget_maxLen; | |
| 234 static jfieldID fid_PDFWidget_options; | |
| 235 static jfieldID fid_PDFWidget_pointer; | |
| 236 static jfieldID fid_PDFWidget_textFormat; | |
| 237 static jfieldID fid_PKCS7DistinguishedName_c; | |
| 238 static jfieldID fid_PKCS7DistinguishedName_cn; | |
| 239 static jfieldID fid_PKCS7DistinguishedName_email; | |
| 240 static jfieldID fid_PKCS7DistinguishedName_o; | |
| 241 static jfieldID fid_PKCS7DistinguishedName_ou; | |
| 242 static jfieldID fid_PKCS7Signer_pointer; | |
| 243 static jfieldID fid_PKCS7Verifier_pointer; | |
| 244 static jfieldID fid_Page_pointer; | |
| 245 static jfieldID fid_Path_pointer; | |
| 246 static jfieldID fid_Pixmap_pointer; | |
| 247 static jfieldID fid_Point_x; | |
| 248 static jfieldID fid_Point_y; | |
| 249 static jfieldID fid_Quad_ll_x; | |
| 250 static jfieldID fid_Quad_ll_y; | |
| 251 static jfieldID fid_Quad_lr_x; | |
| 252 static jfieldID fid_Quad_lr_y; | |
| 253 static jfieldID fid_Quad_ul_x; | |
| 254 static jfieldID fid_Quad_ul_y; | |
| 255 static jfieldID fid_Quad_ur_x; | |
| 256 static jfieldID fid_Quad_ur_y; | |
| 257 static jfieldID fid_Rect_x0; | |
| 258 static jfieldID fid_Rect_x1; | |
| 259 static jfieldID fid_Rect_y0; | |
| 260 static jfieldID fid_Rect_y1; | |
| 261 static jfieldID fid_Shade_pointer; | |
| 262 static jfieldID fid_StrokeState_pointer; | |
| 263 static jfieldID fid_StructuredText_pointer; | |
| 264 static jfieldID fid_StructuredTextWalker_VectorInfo_isRectangle; | |
| 265 static jfieldID fid_StructuredTextWalker_VectorInfo_isStroked; | |
| 266 static jfieldID fid_TextBlock_bbox; | |
| 267 static jfieldID fid_TextBlock_lines; | |
| 268 static jfieldID fid_TextChar_c; | |
| 269 static jfieldID fid_TextChar_quad; | |
| 270 static jfieldID fid_TextLine_bbox; | |
| 271 static jfieldID fid_TextLine_chars; | |
| 272 static jfieldID fid_TextWidgetCharLayout_advance; | |
| 273 static jfieldID fid_TextWidgetCharLayout_index; | |
| 274 static jfieldID fid_TextWidgetCharLayout_rect; | |
| 275 static jfieldID fid_TextWidgetCharLayout_x; | |
| 276 static jfieldID fid_TextWidgetLayout_invMatrix; | |
| 277 static jfieldID fid_TextWidgetLayout_lines; | |
| 278 static jfieldID fid_TextWidgetLayout_matrix; | |
| 279 static jfieldID fid_TextWidgetLineLayout_chars; | |
| 280 static jfieldID fid_TextWidgetLineLayout_fontSize; | |
| 281 static jfieldID fid_TextWidgetLineLayout_index; | |
| 282 static jfieldID fid_TextWidgetLineLayout_rect; | |
| 283 static jfieldID fid_TextWidgetLineLayout_x; | |
| 284 static jfieldID fid_TextWidgetLineLayout_y; | |
| 285 static jfieldID fid_Text_pointer; | |
| 286 static jfieldID fid_TreeArchive_pointer; | |
| 287 | |
| 288 static jmethodID mid_Archive_init; | |
| 289 static jmethodID mid_ArrayList_add; | |
| 290 static jmethodID mid_ArrayList_toArray; | |
| 291 static jmethodID mid_ArrayList_init; | |
| 292 static jmethodID mid_BarcodeInfo_init; | |
| 293 static jmethodID mid_Buffer_init; | |
| 294 static jmethodID mid_ColorSpace_fromPointer; | |
| 295 static jmethodID mid_ColorSpace_init; | |
| 296 static jmethodID mid_Context_Version_init; | |
| 297 static jmethodID mid_Context_Log_error; | |
| 298 static jmethodID mid_Context_Log_warning; | |
| 299 static jmethodID mid_DefaultAppearance_init; | |
| 300 static jmethodID mid_DefaultColorSpaces_init; | |
| 301 static jmethodID mid_DefaultColorSpaces_getDefaultGray; | |
| 302 static jmethodID mid_DefaultColorSpaces_getDefaultRGB; | |
| 303 static jmethodID mid_DefaultColorSpaces_getDefaultCMYK; | |
| 304 static jmethodID mid_DefaultColorSpaces_getOutputIntent; | |
| 305 static jmethodID mid_DefaultColorSpaces_setDefaultGray; | |
| 306 static jmethodID mid_DefaultColorSpaces_setDefaultRGB; | |
| 307 static jmethodID mid_DefaultColorSpaces_setDefaultCMYK; | |
| 308 static jmethodID mid_DefaultColorSpaces_setOutputIntent; | |
| 309 static jmethodID mid_Device_beginGroup; | |
| 310 static jmethodID mid_Device_beginLayer; | |
| 311 static jmethodID mid_Device_beginMask; | |
| 312 static jmethodID mid_Device_beginMetatext; | |
| 313 static jmethodID mid_Device_beginStructure; | |
| 314 static jmethodID mid_Device_beginTile; | |
| 315 static jmethodID mid_Device_clipImageMask; | |
| 316 static jmethodID mid_Device_clipPath; | |
| 317 static jmethodID mid_Device_clipStrokePath; | |
| 318 static jmethodID mid_Device_clipStrokeText; | |
| 319 static jmethodID mid_Device_clipText; | |
| 320 static jmethodID mid_Device_endGroup; | |
| 321 static jmethodID mid_Device_endLayer; | |
| 322 static jmethodID mid_Device_endMask; | |
| 323 static jmethodID mid_Device_endMetatext; | |
| 324 static jmethodID mid_Device_endStructure; | |
| 325 static jmethodID mid_Device_endTile; | |
| 326 static jmethodID mid_Device_fillImage; | |
| 327 static jmethodID mid_Device_fillImageMask; | |
| 328 static jmethodID mid_Device_fillPath; | |
| 329 static jmethodID mid_Device_fillShade; | |
| 330 static jmethodID mid_Device_fillText; | |
| 331 static jmethodID mid_Device_ignoreText; | |
| 332 static jmethodID mid_Device_init; | |
| 333 static jmethodID mid_Device_popClip; | |
| 334 static jmethodID mid_Device_renderFlags; | |
| 335 static jmethodID mid_Device_setDefaultColorSpaces; | |
| 336 static jmethodID mid_Device_strokePath; | |
| 337 static jmethodID mid_Device_strokeText; | |
| 338 static jmethodID mid_DisplayList_init; | |
| 339 static jmethodID mid_DocumentWriter_OCRListener_progress; | |
| 340 static jmethodID mid_Document_init; | |
| 341 static jmethodID mid_DOM_init; | |
| 342 static jmethodID mid_DOMAttribute_init; | |
| 343 static jmethodID mid_FitzInputStream_init; | |
| 344 static jmethodID mid_Float_init; | |
| 345 static jmethodID mid_Font_init; | |
| 346 static jmethodID mid_Image_init; | |
| 347 static jmethodID mid_Link_init; | |
| 348 static jmethodID mid_Location_init; | |
| 349 static jmethodID mid_Matrix_init; | |
| 350 static jmethodID mid_MultiArchive_init; | |
| 351 static jmethodID mid_NativeDevice_init; | |
| 352 static jmethodID mid_Object_toString; | |
| 353 static jmethodID mid_Outline_init; | |
| 354 static jmethodID mid_OutlineItem_init; | |
| 355 static jmethodID mid_OutlineIterator_init; | |
| 356 static jmethodID mid_PDFAnnotation_init; | |
| 357 static jmethodID mid_LinkDestination_init; | |
| 358 static jmethodID mid_PDFDocument_JsEventListener_onAlert; | |
| 359 static jmethodID mid_PDFDocument_PDFEmbeddedFileParams_init; | |
| 360 static jmethodID mid_PDFDocument_init; | |
| 361 static jmethodID mid_PDFGraftMap_init; | |
| 362 static jmethodID mid_PDFObject_init; | |
| 363 static jmethodID mid_PDFPage_init; | |
| 364 static jmethodID mid_PDFProcessor_op_b; | |
| 365 static jmethodID mid_PDFProcessor_op_B; | |
| 366 static jmethodID mid_PDFProcessor_op_BDC; | |
| 367 static jmethodID mid_PDFProcessor_op_BI; | |
| 368 static jmethodID mid_PDFProcessor_op_BMC; | |
| 369 static jmethodID mid_PDFProcessor_op_bstar; | |
| 370 static jmethodID mid_PDFProcessor_op_Bstar; | |
| 371 static jmethodID mid_PDFProcessor_op_BT; | |
| 372 static jmethodID mid_PDFProcessor_op_BX; | |
| 373 static jmethodID mid_PDFProcessor_op_c; | |
| 374 static jmethodID mid_PDFProcessor_op_cm; | |
| 375 static jmethodID mid_PDFProcessor_op_cs; | |
| 376 static jmethodID mid_PDFProcessor_op_CS; | |
| 377 static jmethodID mid_PDFProcessor_op_d; | |
| 378 static jmethodID mid_PDFProcessor_op_d0; | |
| 379 static jmethodID mid_PDFProcessor_op_d1; | |
| 380 static jmethodID mid_PDFProcessor_op_Do_form; | |
| 381 static jmethodID mid_PDFProcessor_op_Do_image; | |
| 382 static jmethodID mid_PDFProcessor_op_DP; | |
| 383 static jmethodID mid_PDFProcessor_op_dquote_byte_array; | |
| 384 static jmethodID mid_PDFProcessor_op_dquote_string; | |
| 385 static jmethodID mid_PDFProcessor_op_EMC; | |
| 386 static jmethodID mid_PDFProcessor_op_ET; | |
| 387 static jmethodID mid_PDFProcessor_op_EX; | |
| 388 static jmethodID mid_PDFProcessor_op_f; | |
| 389 static jmethodID mid_PDFProcessor_op_F; | |
| 390 static jmethodID mid_PDFProcessor_op_fstar; | |
| 391 static jmethodID mid_PDFProcessor_op_g; | |
| 392 static jmethodID mid_PDFProcessor_op_G; | |
| 393 static jmethodID mid_PDFProcessor_op_gs; | |
| 394 static jmethodID mid_PDFProcessor_op_h; | |
| 395 static jmethodID mid_PDFProcessor_op_i; | |
| 396 static jmethodID mid_PDFProcessor_op_j; | |
| 397 static jmethodID mid_PDFProcessor_op_J; | |
| 398 static jmethodID mid_PDFProcessor_op_k; | |
| 399 static jmethodID mid_PDFProcessor_op_K; | |
| 400 static jmethodID mid_PDFProcessor_op_l; | |
| 401 static jmethodID mid_PDFProcessor_op_m; | |
| 402 static jmethodID mid_PDFProcessor_op_M; | |
| 403 static jmethodID mid_PDFProcessor_op_MP; | |
| 404 static jmethodID mid_PDFProcessor_op_n; | |
| 405 static jmethodID mid_PDFProcessor_op_popResources; | |
| 406 static jmethodID mid_PDFProcessor_op_pushResources; | |
| 407 static jmethodID mid_PDFProcessor_op_q; | |
| 408 static jmethodID mid_PDFProcessor_op_Q; | |
| 409 static jmethodID mid_PDFProcessor_op_re; | |
| 410 static jmethodID mid_PDFProcessor_op_rg; | |
| 411 static jmethodID mid_PDFProcessor_op_RG; | |
| 412 static jmethodID mid_PDFProcessor_op_ri; | |
| 413 static jmethodID mid_PDFProcessor_op_s; | |
| 414 static jmethodID mid_PDFProcessor_op_S; | |
| 415 static jmethodID mid_PDFProcessor_op_sc_color; | |
| 416 static jmethodID mid_PDFProcessor_op_SC_color; | |
| 417 static jmethodID mid_PDFProcessor_op_sc_pattern; | |
| 418 static jmethodID mid_PDFProcessor_op_SC_pattern; | |
| 419 static jmethodID mid_PDFProcessor_op_sc_shade; | |
| 420 static jmethodID mid_PDFProcessor_op_SC_shade; | |
| 421 static jmethodID mid_PDFProcessor_op_sh; | |
| 422 static jmethodID mid_PDFProcessor_op_squote_byte_array; | |
| 423 static jmethodID mid_PDFProcessor_op_squote_string; | |
| 424 static jmethodID mid_PDFProcessor_op_Tc; | |
| 425 static jmethodID mid_PDFProcessor_op_Td; | |
| 426 static jmethodID mid_PDFProcessor_op_TD; | |
| 427 static jmethodID mid_PDFProcessor_op_Tf; | |
| 428 static jmethodID mid_PDFProcessor_op_TJ; | |
| 429 static jmethodID mid_PDFProcessor_op_Tj_byte_array; | |
| 430 static jmethodID mid_PDFProcessor_op_Tj_string; | |
| 431 static jmethodID mid_PDFProcessor_op_TL; | |
| 432 static jmethodID mid_PDFProcessor_op_Tm; | |
| 433 static jmethodID mid_PDFProcessor_op_Tr; | |
| 434 static jmethodID mid_PDFProcessor_op_Ts; | |
| 435 static jmethodID mid_PDFProcessor_op_Tstar; | |
| 436 static jmethodID mid_PDFProcessor_op_Tw; | |
| 437 static jmethodID mid_PDFProcessor_op_Tz; | |
| 438 static jmethodID mid_PDFProcessor_op_v; | |
| 439 static jmethodID mid_PDFProcessor_op_w; | |
| 440 static jmethodID mid_PDFProcessor_op_W; | |
| 441 static jmethodID mid_PDFProcessor_op_Wstar; | |
| 442 static jmethodID mid_PDFProcessor_op_y; | |
| 443 static jmethodID mid_PDFWidget_init; | |
| 444 static jmethodID mid_PKCS7DistinguishedName_init; | |
| 445 static jmethodID mid_PKCS7Signer_maxDigest; | |
| 446 static jmethodID mid_PKCS7Signer_name; | |
| 447 static jmethodID mid_PKCS7Signer_sign; | |
| 448 static jmethodID mid_PKCS7Verifier_checkCertificate; | |
| 449 static jmethodID mid_PKCS7Verifier_checkDigest; | |
| 450 static jmethodID mid_Page_init; | |
| 451 static jmethodID mid_PathWalker_closePath; | |
| 452 static jmethodID mid_PathWalker_curveTo; | |
| 453 static jmethodID mid_PathWalker_lineTo; | |
| 454 static jmethodID mid_PathWalker_moveTo; | |
| 455 static jmethodID mid_Path_init; | |
| 456 static jmethodID mid_Pixmap_init; | |
| 457 static jmethodID mid_Point_init; | |
| 458 static jmethodID mid_Quad_init; | |
| 459 static jmethodID mid_Rect_init; | |
| 460 static jmethodID mid_SeekableInputStream_read; | |
| 461 static jmethodID mid_SeekableOutputStream_truncate; | |
| 462 static jmethodID mid_SeekableOutputStream_write; | |
| 463 static jmethodID mid_SeekableStream_position; | |
| 464 static jmethodID mid_SeekableStream_seek; | |
| 465 static jmethodID mid_Shade_init; | |
| 466 static jmethodID mid_StrokeState_init; | |
| 467 static jmethodID mid_StructuredTextWalker_beginLine; | |
| 468 static jmethodID mid_StructuredTextWalker_beginStruct; | |
| 469 static jmethodID mid_StructuredTextWalker_beginTextBlock; | |
| 470 static jmethodID mid_StructuredTextWalker_endLine; | |
| 471 static jmethodID mid_StructuredTextWalker_endStruct; | |
| 472 static jmethodID mid_StructuredTextWalker_endTextBlock; | |
| 473 static jmethodID mid_StructuredTextWalker_onChar; | |
| 474 static jmethodID mid_StructuredTextWalker_onImageBlock; | |
| 475 static jmethodID mid_StructuredTextWalker_onVector; | |
| 476 static jmethodID mid_StructuredTextWalker_VectorInfo_init; | |
| 477 static jmethodID mid_StructuredText_init; | |
| 478 static jmethodID mid_TextBlock_init; | |
| 479 static jmethodID mid_TextChar_init; | |
| 480 static jmethodID mid_TextLine_init; | |
| 481 static jmethodID mid_TextWalker_showGlyph; | |
| 482 static jmethodID mid_TextWidgetCharLayout_init; | |
| 483 static jmethodID mid_TextWidgetLayout_init; | |
| 484 static jmethodID mid_TextWidgetLineLayout_init; | |
| 485 static jmethodID mid_Text_init; | |
| 486 static jmethodID mid_TreeArchive_init; | |
| 487 | |
| 488 #ifdef _WIN32 | |
| 489 static DWORD context_key; | |
| 490 #else | |
| 491 static pthread_key_t context_key; | |
| 492 #endif | |
| 493 static fz_context *base_context; | |
| 494 | |
| 495 static int check_enums() | |
| 496 { | |
| 497 int valid = 1; | |
| 498 | |
| 499 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_NONE == FZ_BARCODE_NONE; | |
| 500 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_AZTEC == FZ_BARCODE_AZTEC; | |
| 501 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_CODABAR == FZ_BARCODE_CODABAR; | |
| 502 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_CODE39 == FZ_BARCODE_CODE39; | |
| 503 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_CODE93 == FZ_BARCODE_CODE93; | |
| 504 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_CODE128 == FZ_BARCODE_CODE128; | |
| 505 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_DATABAR == FZ_BARCODE_DATABAR; | |
| 506 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_DATABAREXPANDED == FZ_BARCODE_DATABAREXPANDED; | |
| 507 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_DATAMATRIX == FZ_BARCODE_DATAMATRIX; | |
| 508 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_EAN8 == FZ_BARCODE_EAN8; | |
| 509 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_EAN13 == FZ_BARCODE_EAN13; | |
| 510 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_ITF == FZ_BARCODE_ITF; | |
| 511 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_MAXICODE == FZ_BARCODE_MAXICODE; | |
| 512 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_PDF417 == FZ_BARCODE_PDF417; | |
| 513 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_QRCODE == FZ_BARCODE_QRCODE; | |
| 514 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_UPCA == FZ_BARCODE_UPCA; | |
| 515 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_UPCE == FZ_BARCODE_UPCE; | |
| 516 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_MICROQRCODE == FZ_BARCODE_MICROQRCODE; | |
| 517 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_RMQRCODE == FZ_BARCODE_RMQRCODE; | |
| 518 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_DXFILMEDGE == FZ_BARCODE_DXFILMEDGE; | |
| 519 valid &= com_artifex_mupdf_fitz_BarcodeInfo_BARCODE_DATABARLIMITED == FZ_BARCODE_DATABARLIMITED; | |
| 520 | |
| 521 valid &= com_artifex_mupdf_fitz_Device_BLEND_NORMAL == FZ_BLEND_NORMAL; | |
| 522 valid &= com_artifex_mupdf_fitz_Device_BLEND_MULTIPLY == FZ_BLEND_MULTIPLY; | |
| 523 valid &= com_artifex_mupdf_fitz_Device_BLEND_SCREEN == FZ_BLEND_SCREEN; | |
| 524 valid &= com_artifex_mupdf_fitz_Device_BLEND_OVERLAY == FZ_BLEND_OVERLAY; | |
| 525 valid &= com_artifex_mupdf_fitz_Device_BLEND_DARKEN == FZ_BLEND_DARKEN; | |
| 526 valid &= com_artifex_mupdf_fitz_Device_BLEND_LIGHTEN == FZ_BLEND_LIGHTEN; | |
| 527 valid &= com_artifex_mupdf_fitz_Device_BLEND_COLOR_DODGE == FZ_BLEND_COLOR_DODGE; | |
| 528 valid &= com_artifex_mupdf_fitz_Device_BLEND_COLOR_BURN == FZ_BLEND_COLOR_BURN; | |
| 529 valid &= com_artifex_mupdf_fitz_Device_BLEND_HARD_LIGHT == FZ_BLEND_HARD_LIGHT; | |
| 530 valid &= com_artifex_mupdf_fitz_Device_BLEND_SOFT_LIGHT == FZ_BLEND_SOFT_LIGHT; | |
| 531 valid &= com_artifex_mupdf_fitz_Device_BLEND_DIFFERENCE == FZ_BLEND_DIFFERENCE; | |
| 532 valid &= com_artifex_mupdf_fitz_Device_BLEND_EXCLUSION == FZ_BLEND_EXCLUSION; | |
| 533 valid &= com_artifex_mupdf_fitz_Device_BLEND_HUE == FZ_BLEND_HUE; | |
| 534 valid &= com_artifex_mupdf_fitz_Device_BLEND_SATURATION == FZ_BLEND_SATURATION; | |
| 535 valid &= com_artifex_mupdf_fitz_Device_BLEND_COLOR == FZ_BLEND_COLOR; | |
| 536 valid &= com_artifex_mupdf_fitz_Device_BLEND_LUMINOSITY == FZ_BLEND_LUMINOSITY; | |
| 537 | |
| 538 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_MASK == FZ_DEVFLAG_MASK; | |
| 539 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_COLOR == FZ_DEVFLAG_COLOR; | |
| 540 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_UNCACHEABLE == FZ_DEVFLAG_UNCACHEABLE; | |
| 541 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_FILLCOLOR_UNDEFINED == FZ_DEVFLAG_FILLCOLOR_UNDEFINED; | |
| 542 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_STROKECOLOR_UNDEFINED == FZ_DEVFLAG_STROKECOLOR_UNDEFINED; | |
| 543 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_STARTCAP_UNDEFINED == FZ_DEVFLAG_STARTCAP_UNDEFINED; | |
| 544 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_DASHCAP_UNDEFINED == FZ_DEVFLAG_DASHCAP_UNDEFINED; | |
| 545 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_ENDCAP_UNDEFINED == FZ_DEVFLAG_ENDCAP_UNDEFINED; | |
| 546 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_LINEJOIN_UNDEFINED == FZ_DEVFLAG_LINEJOIN_UNDEFINED; | |
| 547 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_MITERLIMIT_UNDEFINED == FZ_DEVFLAG_MITERLIMIT_UNDEFINED; | |
| 548 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_LINEWIDTH_UNDEFINED == FZ_DEVFLAG_LINEWIDTH_UNDEFINED; | |
| 549 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_BBOX_DEFINED == FZ_DEVFLAG_BBOX_DEFINED; | |
| 550 valid &= com_artifex_mupdf_fitz_Device_DEVICE_FLAG_GRIDFIT_AS_TILED == FZ_DEVFLAG_GRIDFIT_AS_TILED; | |
| 551 | |
| 552 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_INVALID == FZ_STRUCTURE_INVALID; | |
| 553 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_DOCUMENT == FZ_STRUCTURE_DOCUMENT; | |
| 554 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_PART == FZ_STRUCTURE_PART; | |
| 555 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_ART == FZ_STRUCTURE_ART; | |
| 556 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_SECT == FZ_STRUCTURE_SECT; | |
| 557 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_DIV == FZ_STRUCTURE_DIV; | |
| 558 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_BLOCKQUOTE == FZ_STRUCTURE_BLOCKQUOTE; | |
| 559 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_CAPTION == FZ_STRUCTURE_CAPTION; | |
| 560 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_TOC == FZ_STRUCTURE_TOC; | |
| 561 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_TOCI == FZ_STRUCTURE_TOCI; | |
| 562 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_INDEX == FZ_STRUCTURE_INDEX; | |
| 563 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_NONSTRUCT == FZ_STRUCTURE_NONSTRUCT; | |
| 564 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_PRIVATE == FZ_STRUCTURE_PRIVATE; | |
| 565 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_DOCUMENTFRAGMENT == FZ_STRUCTURE_DOCUMENTFRAGMENT; | |
| 566 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_ASIDE == FZ_STRUCTURE_ASIDE; | |
| 567 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_TITLE == FZ_STRUCTURE_TITLE; | |
| 568 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_FENOTE == FZ_STRUCTURE_FENOTE; | |
| 569 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_SUB == FZ_STRUCTURE_SUB; | |
| 570 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_P == FZ_STRUCTURE_P; | |
| 571 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_H == FZ_STRUCTURE_H; | |
| 572 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_H1 == FZ_STRUCTURE_H1; | |
| 573 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_H2 == FZ_STRUCTURE_H2; | |
| 574 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_H3 == FZ_STRUCTURE_H3; | |
| 575 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_H4 == FZ_STRUCTURE_H4; | |
| 576 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_H5 == FZ_STRUCTURE_H5; | |
| 577 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_H6 == FZ_STRUCTURE_H6; | |
| 578 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_LIST == FZ_STRUCTURE_LIST; | |
| 579 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_LISTITEM == FZ_STRUCTURE_LISTITEM; | |
| 580 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_LABEL == FZ_STRUCTURE_LABEL; | |
| 581 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_LISTBODY == FZ_STRUCTURE_LISTBODY; | |
| 582 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_TABLE == FZ_STRUCTURE_TABLE; | |
| 583 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_TR == FZ_STRUCTURE_TR; | |
| 584 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_TH == FZ_STRUCTURE_TH; | |
| 585 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_TD == FZ_STRUCTURE_TD; | |
| 586 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_THEAD == FZ_STRUCTURE_THEAD; | |
| 587 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_TBODY == FZ_STRUCTURE_TBODY; | |
| 588 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_TFOOT == FZ_STRUCTURE_TFOOT; | |
| 589 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_SPAN == FZ_STRUCTURE_SPAN; | |
| 590 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_QUOTE == FZ_STRUCTURE_QUOTE; | |
| 591 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_NOTE == FZ_STRUCTURE_NOTE; | |
| 592 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_REFERENCE == FZ_STRUCTURE_REFERENCE; | |
| 593 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_BIBENTRY == FZ_STRUCTURE_BIBENTRY; | |
| 594 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_CODE == FZ_STRUCTURE_CODE; | |
| 595 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_LINK == FZ_STRUCTURE_LINK; | |
| 596 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_ANNOT == FZ_STRUCTURE_ANNOT; | |
| 597 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_EM == FZ_STRUCTURE_EM; | |
| 598 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_STRONG == FZ_STRUCTURE_STRONG; | |
| 599 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_RUBY == FZ_STRUCTURE_RUBY; | |
| 600 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_RB == FZ_STRUCTURE_RB; | |
| 601 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_RT == FZ_STRUCTURE_RT; | |
| 602 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_RP == FZ_STRUCTURE_RP; | |
| 603 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_WARICHU == FZ_STRUCTURE_WARICHU; | |
| 604 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_WT == FZ_STRUCTURE_WT; | |
| 605 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_WP == FZ_STRUCTURE_WP; | |
| 606 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_FIGURE == FZ_STRUCTURE_FIGURE; | |
| 607 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_FORMULA == FZ_STRUCTURE_FORMULA; | |
| 608 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_FORM == FZ_STRUCTURE_FORM; | |
| 609 valid &= com_artifex_mupdf_fitz_Device_STRUCTURE_ARTIFACT == FZ_STRUCTURE_ARTIFACT; | |
| 610 | |
| 611 valid &= com_artifex_mupdf_fitz_Device_METATEXT_ACTUALTEXT == FZ_METATEXT_ACTUALTEXT; | |
| 612 valid &= com_artifex_mupdf_fitz_Device_METATEXT_ALT == FZ_METATEXT_ALT; | |
| 613 valid &= com_artifex_mupdf_fitz_Device_METATEXT_ABBREVIATION == FZ_METATEXT_ABBREVIATION; | |
| 614 valid &= com_artifex_mupdf_fitz_Device_METATEXT_TITLE == FZ_METATEXT_TITLE; | |
| 615 | |
| 616 valid &= com_artifex_mupdf_fitz_Font_SIMPLE_ENCODING_LATIN == PDF_SIMPLE_ENCODING_LATIN; | |
| 617 valid &= com_artifex_mupdf_fitz_Font_SIMPLE_ENCODING_GREEK == PDF_SIMPLE_ENCODING_GREEK; | |
| 618 valid &= com_artifex_mupdf_fitz_Font_SIMPLE_ENCODING_CYRILLIC == PDF_SIMPLE_ENCODING_CYRILLIC; | |
| 619 | |
| 620 valid &= com_artifex_mupdf_fitz_Font_ADOBE_CNS == FZ_ADOBE_CNS; | |
| 621 valid &= com_artifex_mupdf_fitz_Font_ADOBE_GB == FZ_ADOBE_GB; | |
| 622 valid &= com_artifex_mupdf_fitz_Font_ADOBE_JAPAN == FZ_ADOBE_JAPAN; | |
| 623 valid &= com_artifex_mupdf_fitz_Font_ADOBE_KOREA == FZ_ADOBE_KOREA; | |
| 624 | |
| 625 valid &= com_artifex_mupdf_fitz_Page_MEDIA_BOX == FZ_MEDIA_BOX; | |
| 626 valid &= com_artifex_mupdf_fitz_Page_CROP_BOX == FZ_CROP_BOX; | |
| 627 valid &= com_artifex_mupdf_fitz_Page_ART_BOX == FZ_ART_BOX; | |
| 628 valid &= com_artifex_mupdf_fitz_Page_TRIM_BOX == FZ_TRIM_BOX; | |
| 629 valid &= com_artifex_mupdf_fitz_Page_BLEED_BOX == FZ_BLEED_BOX; | |
| 630 valid &= com_artifex_mupdf_fitz_Page_UNKNOWN_BOX == FZ_UNKNOWN_BOX; | |
| 631 | |
| 632 valid &= com_artifex_mupdf_fitz_PDFAnnotation_LINE_ENDING_NONE == PDF_ANNOT_LE_NONE; | |
| 633 valid &= com_artifex_mupdf_fitz_PDFAnnotation_LINE_ENDING_SQUARE == PDF_ANNOT_LE_SQUARE; | |
| 634 valid &= com_artifex_mupdf_fitz_PDFAnnotation_LINE_ENDING_CIRCLE == PDF_ANNOT_LE_CIRCLE; | |
| 635 valid &= com_artifex_mupdf_fitz_PDFAnnotation_LINE_ENDING_DIAMOND == PDF_ANNOT_LE_DIAMOND; | |
| 636 valid &= com_artifex_mupdf_fitz_PDFAnnotation_LINE_ENDING_OPEN_ARROW == PDF_ANNOT_LE_OPEN_ARROW; | |
| 637 valid &= com_artifex_mupdf_fitz_PDFAnnotation_LINE_ENDING_CLOSED_ARROW == PDF_ANNOT_LE_CLOSED_ARROW; | |
| 638 valid &= com_artifex_mupdf_fitz_PDFAnnotation_LINE_ENDING_BUTT == PDF_ANNOT_LE_BUTT; | |
| 639 valid &= com_artifex_mupdf_fitz_PDFAnnotation_LINE_ENDING_R_OPEN_ARROW == PDF_ANNOT_LE_R_OPEN_ARROW; | |
| 640 valid &= com_artifex_mupdf_fitz_PDFAnnotation_LINE_ENDING_R_CLOSED_ARROW == PDF_ANNOT_LE_R_CLOSED_ARROW; | |
| 641 valid &= com_artifex_mupdf_fitz_PDFAnnotation_LINE_ENDING_SLASH == PDF_ANNOT_LE_SLASH; | |
| 642 | |
| 643 valid &= com_artifex_mupdf_fitz_PDFAnnotation_BORDER_STYLE_SOLID == PDF_BORDER_STYLE_SOLID; | |
| 644 valid &= com_artifex_mupdf_fitz_PDFAnnotation_BORDER_STYLE_DASHED == PDF_BORDER_STYLE_DASHED; | |
| 645 valid &= com_artifex_mupdf_fitz_PDFAnnotation_BORDER_STYLE_BEVELED == PDF_BORDER_STYLE_BEVELED; | |
| 646 valid &= com_artifex_mupdf_fitz_PDFAnnotation_BORDER_STYLE_INSET == PDF_BORDER_STYLE_INSET; | |
| 647 valid &= com_artifex_mupdf_fitz_PDFAnnotation_BORDER_STYLE_UNDERLINE == PDF_BORDER_STYLE_UNDERLINE; | |
| 648 | |
| 649 valid &= com_artifex_mupdf_fitz_PDFAnnotation_BORDER_EFFECT_NONE == PDF_BORDER_EFFECT_NONE; | |
| 650 valid &= com_artifex_mupdf_fitz_PDFAnnotation_BORDER_EFFECT_CLOUDY == PDF_BORDER_EFFECT_CLOUDY; | |
| 651 | |
| 652 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_TEXT == PDF_ANNOT_TEXT; | |
| 653 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_LINK == PDF_ANNOT_LINK; | |
| 654 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_FREE_TEXT == PDF_ANNOT_FREE_TEXT; | |
| 655 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_LINE == PDF_ANNOT_LINE; | |
| 656 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_SQUARE == PDF_ANNOT_SQUARE; | |
| 657 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_CIRCLE == PDF_ANNOT_CIRCLE; | |
| 658 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_POLYGON == PDF_ANNOT_POLYGON; | |
| 659 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_POLY_LINE == PDF_ANNOT_POLY_LINE; | |
| 660 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_HIGHLIGHT == PDF_ANNOT_HIGHLIGHT; | |
| 661 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_UNDERLINE == PDF_ANNOT_UNDERLINE; | |
| 662 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_SQUIGGLY == PDF_ANNOT_SQUIGGLY; | |
| 663 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_STRIKE_OUT == PDF_ANNOT_STRIKE_OUT; | |
| 664 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_REDACT == PDF_ANNOT_REDACT; | |
| 665 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_STAMP == PDF_ANNOT_STAMP; | |
| 666 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_CARET == PDF_ANNOT_CARET; | |
| 667 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_INK == PDF_ANNOT_INK; | |
| 668 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_POPUP == PDF_ANNOT_POPUP; | |
| 669 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_FILE_ATTACHMENT == PDF_ANNOT_FILE_ATTACHMENT; | |
| 670 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_SOUND == PDF_ANNOT_SOUND; | |
| 671 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_MOVIE == PDF_ANNOT_MOVIE; | |
| 672 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_RICH_MEDIA == PDF_ANNOT_RICH_MEDIA; | |
| 673 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_WIDGET == PDF_ANNOT_WIDGET; | |
| 674 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_SCREEN == PDF_ANNOT_SCREEN; | |
| 675 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_PRINTER_MARK == PDF_ANNOT_PRINTER_MARK; | |
| 676 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_TRAP_NET == PDF_ANNOT_TRAP_NET; | |
| 677 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_WATERMARK == PDF_ANNOT_WATERMARK; | |
| 678 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_3D == PDF_ANNOT_3D; | |
| 679 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_PROJECTION == PDF_ANNOT_PROJECTION; | |
| 680 valid &= com_artifex_mupdf_fitz_PDFAnnotation_TYPE_UNKNOWN == PDF_ANNOT_UNKNOWN; | |
| 681 | |
| 682 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IS_INVISIBLE == PDF_ANNOT_IS_INVISIBLE; | |
| 683 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IS_HIDDEN == PDF_ANNOT_IS_HIDDEN; | |
| 684 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IS_PRINT == PDF_ANNOT_IS_PRINT; | |
| 685 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IS_NO_ZOOM == PDF_ANNOT_IS_NO_ZOOM; | |
| 686 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IS_NO_ROTATE == PDF_ANNOT_IS_NO_ROTATE; | |
| 687 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IS_NO_VIEW == PDF_ANNOT_IS_NO_VIEW; | |
| 688 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IS_READ_ONLY == PDF_ANNOT_IS_READ_ONLY; | |
| 689 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IS_LOCKED == PDF_ANNOT_IS_LOCKED; | |
| 690 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IS_TOGGLE_NO_VIEW == PDF_ANNOT_IS_TOGGLE_NO_VIEW; | |
| 691 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IS_LOCKED_CONTENTS == PDF_ANNOT_IS_LOCKED_CONTENTS; | |
| 692 | |
| 693 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IT_DEFAULT == PDF_ANNOT_IT_DEFAULT; | |
| 694 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IT_FREETEXT_CALLOUT == PDF_ANNOT_IT_FREETEXT_CALLOUT; | |
| 695 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IT_FREETEXT_TYPEWRITER == PDF_ANNOT_IT_FREETEXT_TYPEWRITER; | |
| 696 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IT_LINE_ARROW == PDF_ANNOT_IT_LINE_ARROW; | |
| 697 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IT_LINE_DIMENSION == PDF_ANNOT_IT_LINE_DIMENSION; | |
| 698 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IT_POLYLINE_DIMENSION == PDF_ANNOT_IT_POLYLINE_DIMENSION; | |
| 699 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IT_POLYGON_CLOUD == PDF_ANNOT_IT_POLYGON_CLOUD; | |
| 700 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IT_POLYGON_DIMENSION == PDF_ANNOT_IT_POLYGON_DIMENSION; | |
| 701 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IT_STAMP_IMAGE == PDF_ANNOT_IT_STAMP_IMAGE; | |
| 702 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IT_STAMP_SNAPSHOT == PDF_ANNOT_IT_STAMP_SNAPSHOT; | |
| 703 valid &= com_artifex_mupdf_fitz_PDFAnnotation_IT_UNKNOWN == PDF_ANNOT_IT_UNKNOWN; | |
| 704 | |
| 705 valid &= com_artifex_mupdf_fitz_PDFDocument_LANGUAGE_UNSET == FZ_LANG_UNSET; | |
| 706 valid &= com_artifex_mupdf_fitz_PDFDocument_LANGUAGE_ur == FZ_LANG_ur; | |
| 707 valid &= com_artifex_mupdf_fitz_PDFDocument_LANGUAGE_urd == FZ_LANG_urd; | |
| 708 valid &= com_artifex_mupdf_fitz_PDFDocument_LANGUAGE_ko == FZ_LANG_ko; | |
| 709 valid &= com_artifex_mupdf_fitz_PDFDocument_LANGUAGE_ja == FZ_LANG_ja; | |
| 710 valid &= com_artifex_mupdf_fitz_PDFDocument_LANGUAGE_zh == FZ_LANG_zh; | |
| 711 valid &= com_artifex_mupdf_fitz_PDFDocument_LANGUAGE_zh_Hans == FZ_LANG_zh_Hans; | |
| 712 valid &= com_artifex_mupdf_fitz_PDFDocument_LANGUAGE_zh_Hant == FZ_LANG_zh_Hant; | |
| 713 valid &= com_artifex_mupdf_fitz_PDFDocument_NOT_ZUGFERD == PDF_NOT_ZUGFERD; | |
| 714 valid &= com_artifex_mupdf_fitz_PDFDocument_ZUGFERD_COMFORT == PDF_ZUGFERD_COMFORT; | |
| 715 valid &= com_artifex_mupdf_fitz_PDFDocument_ZUGFERD_BASIC == PDF_ZUGFERD_BASIC; | |
| 716 valid &= com_artifex_mupdf_fitz_PDFDocument_ZUGFERD_EXTENDED == PDF_ZUGFERD_EXTENDED; | |
| 717 valid &= com_artifex_mupdf_fitz_PDFDocument_ZUGFERD_BASIC_WL == PDF_ZUGFERD_BASIC_WL; | |
| 718 valid &= com_artifex_mupdf_fitz_PDFDocument_ZUGFERD_MINIMUM == PDF_ZUGFERD_MINIMUM; | |
| 719 valid &= com_artifex_mupdf_fitz_PDFDocument_ZUGFERD_XRECHNUNG == PDF_ZUGFERD_XRECHNUNG; | |
| 720 valid &= com_artifex_mupdf_fitz_PDFDocument_ZUGFERD_UNKNOWN == PDF_ZUGFERD_UNKNOWN; | |
| 721 | |
| 722 valid &= com_artifex_mupdf_fitz_Rect_MIN_INF_RECT == FZ_MIN_INF_RECT; | |
| 723 valid &= com_artifex_mupdf_fitz_Rect_MAX_INF_RECT == FZ_MAX_INF_RECT; | |
| 724 | |
| 725 valid &= com_artifex_mupdf_fitz_LinkDestination_LINK_DEST_FIT == FZ_LINK_DEST_FIT; | |
| 726 valid &= com_artifex_mupdf_fitz_LinkDestination_LINK_DEST_FIT_B == FZ_LINK_DEST_FIT_B; | |
| 727 valid &= com_artifex_mupdf_fitz_LinkDestination_LINK_DEST_FIT_H == FZ_LINK_DEST_FIT_H; | |
| 728 valid &= com_artifex_mupdf_fitz_LinkDestination_LINK_DEST_FIT_BH == FZ_LINK_DEST_FIT_BH; | |
| 729 valid &= com_artifex_mupdf_fitz_LinkDestination_LINK_DEST_FIT_V == FZ_LINK_DEST_FIT_V; | |
| 730 valid &= com_artifex_mupdf_fitz_LinkDestination_LINK_DEST_FIT_BV == FZ_LINK_DEST_FIT_BV; | |
| 731 valid &= com_artifex_mupdf_fitz_LinkDestination_LINK_DEST_FIT_R == FZ_LINK_DEST_FIT_R; | |
| 732 valid &= com_artifex_mupdf_fitz_LinkDestination_LINK_DEST_XYZ == FZ_LINK_DEST_XYZ; | |
| 733 | |
| 734 valid &= com_artifex_mupdf_fitz_StrokeState_LINE_CAP_BUTT == FZ_LINECAP_BUTT; | |
| 735 valid &= com_artifex_mupdf_fitz_StrokeState_LINE_CAP_ROUND == FZ_LINECAP_ROUND; | |
| 736 valid &= com_artifex_mupdf_fitz_StrokeState_LINE_CAP_SQUARE == FZ_LINECAP_SQUARE; | |
| 737 valid &= com_artifex_mupdf_fitz_StrokeState_LINE_CAP_TRIANGLE == FZ_LINECAP_TRIANGLE; | |
| 738 | |
| 739 valid &= com_artifex_mupdf_fitz_StrokeState_LINE_JOIN_MITER == FZ_LINEJOIN_MITER; | |
| 740 valid &= com_artifex_mupdf_fitz_StrokeState_LINE_JOIN_ROUND == FZ_LINEJOIN_ROUND; | |
| 741 valid &= com_artifex_mupdf_fitz_StrokeState_LINE_JOIN_BEVEL == FZ_LINEJOIN_BEVEL; | |
| 742 valid &= com_artifex_mupdf_fitz_StrokeState_LINE_JOIN_MITER_XPS == FZ_LINEJOIN_MITER_XPS; | |
| 743 | |
| 744 valid &= com_artifex_mupdf_fitz_StructuredText_SELECT_CHARS == FZ_SELECT_CHARS; | |
| 745 valid &= com_artifex_mupdf_fitz_StructuredText_SELECT_WORDS == FZ_SELECT_WORDS; | |
| 746 valid &= com_artifex_mupdf_fitz_StructuredText_SELECT_LINES == FZ_SELECT_LINES; | |
| 747 | |
| 748 valid &= com_artifex_mupdf_fitz_PDFWidget_TYPE_UNKNOWN == PDF_WIDGET_TYPE_UNKNOWN; | |
| 749 valid &= com_artifex_mupdf_fitz_PDFWidget_TYPE_BUTTON == PDF_WIDGET_TYPE_BUTTON; | |
| 750 valid &= com_artifex_mupdf_fitz_PDFWidget_TYPE_CHECKBOX == PDF_WIDGET_TYPE_CHECKBOX; | |
| 751 valid &= com_artifex_mupdf_fitz_PDFWidget_TYPE_COMBOBOX == PDF_WIDGET_TYPE_COMBOBOX; | |
| 752 valid &= com_artifex_mupdf_fitz_PDFWidget_TYPE_LISTBOX == PDF_WIDGET_TYPE_LISTBOX; | |
| 753 valid &= com_artifex_mupdf_fitz_PDFWidget_TYPE_RADIOBUTTON == PDF_WIDGET_TYPE_RADIOBUTTON; | |
| 754 valid &= com_artifex_mupdf_fitz_PDFWidget_TYPE_SIGNATURE == PDF_WIDGET_TYPE_SIGNATURE; | |
| 755 valid &= com_artifex_mupdf_fitz_PDFWidget_TYPE_TEXT == PDF_WIDGET_TYPE_TEXT; | |
| 756 | |
| 757 valid &= com_artifex_mupdf_fitz_PDFWidget_TX_FORMAT_NONE == PDF_WIDGET_TX_FORMAT_NONE; | |
| 758 valid &= com_artifex_mupdf_fitz_PDFWidget_TX_FORMAT_NUMBER == PDF_WIDGET_TX_FORMAT_NUMBER; | |
| 759 valid &= com_artifex_mupdf_fitz_PDFWidget_TX_FORMAT_SPECIAL == PDF_WIDGET_TX_FORMAT_SPECIAL; | |
| 760 valid &= com_artifex_mupdf_fitz_PDFWidget_TX_FORMAT_DATE == PDF_WIDGET_TX_FORMAT_DATE; | |
| 761 valid &= com_artifex_mupdf_fitz_PDFWidget_TX_FORMAT_TIME == PDF_WIDGET_TX_FORMAT_TIME; | |
| 762 | |
| 763 valid &= com_artifex_mupdf_fitz_PDFWidget_FIELD_IS_READ_ONLY == PDF_FIELD_IS_READ_ONLY; | |
| 764 valid &= com_artifex_mupdf_fitz_PDFWidget_FIELD_IS_REQUIRED == PDF_FIELD_IS_REQUIRED; | |
| 765 valid &= com_artifex_mupdf_fitz_PDFWidget_FIELD_IS_NO_EXPORT == PDF_FIELD_IS_NO_EXPORT; | |
| 766 | |
| 767 valid &= com_artifex_mupdf_fitz_PDFWidget_TX_FIELD_IS_MULTILINE == PDF_TX_FIELD_IS_MULTILINE; | |
| 768 valid &= com_artifex_mupdf_fitz_PDFWidget_TX_FIELD_IS_PASSWORD == PDF_TX_FIELD_IS_PASSWORD; | |
| 769 valid &= com_artifex_mupdf_fitz_PDFWidget_TX_FIELD_IS_COMB == PDF_TX_FIELD_IS_COMB; | |
| 770 | |
| 771 valid &= com_artifex_mupdf_fitz_PDFWidget_BTN_FIELD_IS_NO_TOGGLE_TO_OFF == PDF_BTN_FIELD_IS_NO_TOGGLE_TO_OFF; | |
| 772 valid &= com_artifex_mupdf_fitz_PDFWidget_BTN_FIELD_IS_RADIO == PDF_BTN_FIELD_IS_RADIO; | |
| 773 valid &= com_artifex_mupdf_fitz_PDFWidget_BTN_FIELD_IS_PUSHBUTTON == PDF_BTN_FIELD_IS_PUSHBUTTON; | |
| 774 | |
| 775 valid &= com_artifex_mupdf_fitz_PDFWidget_CH_FIELD_IS_COMBO == PDF_CH_FIELD_IS_COMBO; | |
| 776 valid &= com_artifex_mupdf_fitz_PDFWidget_CH_FIELD_IS_EDIT == PDF_CH_FIELD_IS_EDIT; | |
| 777 valid &= com_artifex_mupdf_fitz_PDFWidget_CH_FIELD_IS_SORT == PDF_CH_FIELD_IS_SORT; | |
| 778 valid &= com_artifex_mupdf_fitz_PDFWidget_CH_FIELD_IS_MULTI_SELECT == PDF_CH_FIELD_IS_MULTI_SELECT; | |
| 779 | |
| 780 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_SHOW_LABELS == PDF_SIGNATURE_SHOW_LABELS; | |
| 781 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_SHOW_DN == PDF_SIGNATURE_SHOW_DN; | |
| 782 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_SHOW_DATE == PDF_SIGNATURE_SHOW_DATE; | |
| 783 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_SHOW_TEXT_NAME == PDF_SIGNATURE_SHOW_TEXT_NAME; | |
| 784 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_SHOW_GRAPHIC_NAME == PDF_SIGNATURE_SHOW_GRAPHIC_NAME; | |
| 785 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_SHOW_LOGO == PDF_SIGNATURE_SHOW_LOGO; | |
| 786 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_DEFAULT_APPEARANCE == PDF_SIGNATURE_DEFAULT_APPEARANCE; | |
| 787 | |
| 788 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_ERROR_OKAY == PDF_SIGNATURE_ERROR_OKAY; | |
| 789 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_ERROR_NO_SIGNATURES == PDF_SIGNATURE_ERROR_NO_SIGNATURES; | |
| 790 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_ERROR_NO_CERTIFICATE == PDF_SIGNATURE_ERROR_NO_CERTIFICATE; | |
| 791 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_ERROR_DIGEST_FAILURE == PDF_SIGNATURE_ERROR_DIGEST_FAILURE; | |
| 792 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_ERROR_SELF_SIGNED == PDF_SIGNATURE_ERROR_SELF_SIGNED; | |
| 793 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_ERROR_SELF_SIGNED_IN_CHAIN == PDF_SIGNATURE_ERROR_SELF_SIGNED_IN_CHAIN; | |
| 794 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_ERROR_NOT_TRUSTED == PDF_SIGNATURE_ERROR_NOT_TRUSTED; | |
| 795 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_ERROR_NOT_SIGNED == PDF_SIGNATURE_ERROR_NOT_SIGNED; | |
| 796 valid &= com_artifex_mupdf_fitz_PDFWidget_SIGNATURE_ERROR_UNKNOWN == PDF_SIGNATURE_ERROR_UNKNOWN; | |
| 797 | |
| 798 valid &= com_artifex_mupdf_fitz_PDFPage_REDACT_IMAGE_NONE == PDF_REDACT_IMAGE_NONE; | |
| 799 valid &= com_artifex_mupdf_fitz_PDFPage_REDACT_IMAGE_REMOVE == PDF_REDACT_IMAGE_REMOVE; | |
| 800 valid &= com_artifex_mupdf_fitz_PDFPage_REDACT_IMAGE_PIXELS == PDF_REDACT_IMAGE_PIXELS; | |
| 801 valid &= com_artifex_mupdf_fitz_PDFPage_REDACT_IMAGE_REMOVE_UNLESS_INVISIBLE == PDF_REDACT_IMAGE_REMOVE_UNLESS_INVISIBLE; | |
| 802 | |
| 803 valid &= com_artifex_mupdf_fitz_PDFPage_REDACT_LINE_ART_NONE == PDF_REDACT_LINE_ART_NONE; | |
| 804 valid &= com_artifex_mupdf_fitz_PDFPage_REDACT_LINE_ART_REMOVE_IF_TOUCHED == PDF_REDACT_LINE_ART_REMOVE_IF_TOUCHED; | |
| 805 valid &= com_artifex_mupdf_fitz_PDFPage_REDACT_LINE_ART_REMOVE_IF_COVERED == PDF_REDACT_LINE_ART_REMOVE_IF_COVERED; | |
| 806 | |
| 807 valid &= com_artifex_mupdf_fitz_PDFPage_REDACT_TEXT_REMOVE == PDF_REDACT_TEXT_REMOVE; | |
| 808 valid &= com_artifex_mupdf_fitz_PDFPage_REDACT_TEXT_NONE == PDF_REDACT_TEXT_NONE; | |
| 809 | |
| 810 valid &= com_artifex_mupdf_fitz_Pixmap_DESKEW_BORDER_INCREASE == FZ_DESKEW_BORDER_INCREASE; | |
| 811 valid &= com_artifex_mupdf_fitz_Pixmap_DESKEW_BORDER_MAINTAIN == FZ_DESKEW_BORDER_MAINTAIN; | |
| 812 valid &= com_artifex_mupdf_fitz_Pixmap_DESKEW_BORDER_DECREASE == FZ_DESKEW_BORDER_DECREASE; | |
| 813 | |
| 814 valid &= com_artifex_mupdf_fitz_OutlineIterator_FLAG_BOLD == FZ_OUTLINE_FLAG_BOLD; | |
| 815 valid &= com_artifex_mupdf_fitz_OutlineIterator_FLAG_ITALIC == FZ_OUTLINE_FLAG_ITALIC; | |
| 816 | |
| 817 valid &= com_artifex_mupdf_fitz_StructuredText_VECTOR_IS_STROKED == FZ_STEXT_VECTOR_IS_STROKED; | |
| 818 valid &= com_artifex_mupdf_fitz_StructuredText_VECTOR_IS_RECTANGLE == FZ_STEXT_VECTOR_IS_RECTANGLE; | |
| 819 | |
| 820 valid &= com_artifex_mupdf_fitz_ColorSpace_NONE == FZ_COLORSPACE_NONE; | |
| 821 valid &= com_artifex_mupdf_fitz_ColorSpace_GRAY == FZ_COLORSPACE_GRAY; | |
| 822 valid &= com_artifex_mupdf_fitz_ColorSpace_RGB == FZ_COLORSPACE_RGB; | |
| 823 valid &= com_artifex_mupdf_fitz_ColorSpace_BGR == FZ_COLORSPACE_BGR; | |
| 824 valid &= com_artifex_mupdf_fitz_ColorSpace_CMYK == FZ_COLORSPACE_CMYK; | |
| 825 valid &= com_artifex_mupdf_fitz_ColorSpace_LAB == FZ_COLORSPACE_LAB; | |
| 826 valid &= com_artifex_mupdf_fitz_ColorSpace_INDEXED == FZ_COLORSPACE_INDEXED; | |
| 827 valid &= com_artifex_mupdf_fitz_ColorSpace_SEPARATION == FZ_COLORSPACE_SEPARATION; | |
| 828 | |
| 829 return valid ? 1 : 0; | |
| 830 } | |
| 831 | |
| 832 /* Helper functions to set the java exception flag. */ | |
| 833 | |
| 834 static void jni_throw_imp(JNIEnv *env, jclass cls, const char *mess) | |
| 835 { | |
| 836 (*env)->ThrowNew(env, cls, mess); | |
| 837 } | |
| 838 | |
| 839 #define jni_throw_void(env, info) do { jni_throw_imp(env, info); return; } | |
| 840 #define jni_throw(env, info) do { jni_throw_imp(env, info); return 0; } | |
| 841 | |
| 842 static void jni_rethrow_imp(JNIEnv *env, fz_context *ctx) | |
| 843 { | |
| 844 int code; | |
| 845 const char *message = fz_convert_error(ctx, &code); | |
| 846 if (code == FZ_ERROR_TRYLATER) | |
| 847 jni_throw_imp(env, cls_TryLaterException, message); | |
| 848 else if (code == FZ_ERROR_ABORT) | |
| 849 jni_throw_imp(env, cls_AbortException, message); | |
| 850 else | |
| 851 jni_throw_imp(env, cls_RuntimeException, message); | |
| 852 } | |
| 853 | |
| 854 #define jni_rethrow_void(env, ctx) do { jni_rethrow_imp(env, ctx); return; } while (0); | |
| 855 #define jni_rethrow(env, ctx) do { jni_rethrow_imp(env, ctx); return 0; } while (0); | |
| 856 | |
| 857 static void jni_throw_run_imp(JNIEnv *env, const char *info) | |
| 858 { | |
| 859 jni_throw_imp(env, cls_RuntimeException, info); | |
| 860 } | |
| 861 | |
| 862 #define jni_throw_run_void(env, info) do { jni_throw_run_imp(env, info); return; } while (0); | |
| 863 #define jni_throw_run(env, info) do { jni_throw_run_imp(env, info); return 0; } while (0); | |
| 864 | |
| 865 static void jni_throw_oom_imp(JNIEnv *env, const char *info) | |
| 866 { | |
| 867 jni_throw_imp(env, cls_OutOfMemoryError, info); | |
| 868 } | |
| 869 | |
| 870 #define jni_throw_oom_void(env, info) do { jni_throw_oom_imp(env, info); return; } while (0); | |
| 871 #define jni_throw_oom(env, info) do { jni_throw_oom_imp(env, info); return 0; } while (0); | |
| 872 | |
| 873 static void jni_throw_oob_imp(JNIEnv *env, const char *info) | |
| 874 { | |
| 875 jni_throw_imp(env, cls_IndexOutOfBoundsException, info); | |
| 876 } | |
| 877 | |
| 878 #define jni_throw_oob_void(env, info) do { jni_throw_oob_imp(env, info); return; } while (0); | |
| 879 #define jni_throw_oob(env, info) do { jni_throw_oob_imp(env, info); return 0; } while (0); | |
| 880 | |
| 881 static void jni_throw_arg_imp(JNIEnv *env, const char *info) | |
| 882 { | |
| 883 jni_throw_imp(env, cls_IllegalArgumentException, info); | |
| 884 } | |
| 885 | |
| 886 #define jni_throw_arg_void(env, info) do { jni_throw_arg_imp(env, info); return; } while (0); | |
| 887 #define jni_throw_arg(env, info) do { jni_throw_arg_imp(env, info); return 0; } while (0); | |
| 888 | |
| 889 static void jni_throw_io_imp(JNIEnv *env, const char *info) | |
| 890 { | |
| 891 jni_throw_imp(env, cls_IOException, info); | |
| 892 } | |
| 893 | |
| 894 #define jni_throw_io_void(env, info) do { jni_throw_io_imp(env, info); return; } while (0); | |
| 895 #define jni_throw_io(env, info) do { jni_throw_io_imp(env, info); return 0; } while (0); | |
| 896 | |
| 897 static void jni_throw_null_imp(JNIEnv *env, const char *info) | |
| 898 { | |
| 899 jni_throw_imp(env, cls_NullPointerException, info); | |
| 900 } | |
| 901 | |
| 902 #define jni_throw_null_void(env, info) do { jni_throw_null_imp(env, info); return; } while (0); | |
| 903 #define jni_throw_null(env, info) do { jni_throw_null_imp(env, info); return 0; } while (0); | |
| 904 | |
| 905 static void jni_throw_uoe_imp(JNIEnv *env, const char *info) | |
| 906 { | |
| 907 jni_throw_imp(env, cls_UnsupportedOperationException, info); | |
| 908 } | |
| 909 | |
| 910 #define jni_throw_uoe_void(env, info) do { jni_throw_uoe_imp(env, info); return; } while (0); | |
| 911 #define jni_throw_uoe(env, info) do { jni_throw_uoe_imp(env, info); return 0; } while (0); | |
| 912 | |
| 913 /* Convert a java exception and throw into fitz. */ | |
| 914 | |
| 915 static void fz_throw_java_and_detach_thread(fz_context *ctx, JNIEnv *env, jboolean detach) | |
| 916 { | |
| 917 jthrowable ex = (*env)->ExceptionOccurred(env); | |
| 918 if (ex) | |
| 919 { | |
| 920 jobject msg; | |
| 921 (*env)->ExceptionClear(env); | |
| 922 msg = (*env)->CallObjectMethod(env, ex, mid_Object_toString); | |
| 923 if ((*env)->ExceptionCheck(env)) | |
| 924 (*env)->ExceptionClear(env); | |
| 925 else if (msg) | |
| 926 { | |
| 927 const char *p = (*env)->GetStringUTFChars(env, msg, NULL); | |
| 928 if (p) | |
| 929 { | |
| 930 char buf[256]; | |
| 931 fz_strlcpy(buf, p, sizeof buf); | |
| 932 (*env)->ReleaseStringUTFChars(env, msg, p); | |
| 933 if (detach) | |
| 934 (*jvm)->DetachCurrentThread(jvm); | |
| 935 fz_throw(ctx, FZ_ERROR_GENERIC, "%s", buf); | |
| 936 } | |
| 937 } | |
| 938 } | |
| 939 if (detach) | |
| 940 (*jvm)->DetachCurrentThread(jvm); | |
| 941 fz_throw(ctx, FZ_ERROR_GENERIC, "unknown java error"); | |
| 942 } | |
| 943 | |
| 944 #define fz_throw_java(ctx, env) fz_throw_java_and_detach_thread((ctx), (env), JNI_FALSE) | |
| 945 | |
| 946 #define fz_throw_and_detach_thread(ctx, detach, code, ...) \ | |
| 947 do \ | |
| 948 { \ | |
| 949 if (detach) \ | |
| 950 (*jvm)->DetachCurrentThread(jvm); \ | |
| 951 fz_throw((ctx), (code), __VA_ARGS__); \ | |
| 952 } while (0) | |
| 953 | |
| 954 #define fz_rethrow_and_detach_thread(ctx, detach) \ | |
| 955 do \ | |
| 956 { \ | |
| 957 if (detach) \ | |
| 958 (*jvm)->DetachCurrentThread(jvm); \ | |
| 959 fz_rethrow(ctx); \ | |
| 960 } while (0) | |
| 961 | |
| 962 typedef struct { | |
| 963 pdf_pkcs7_verifier base; | |
| 964 jobject jverifier; | |
| 965 } java_pkcs7_verifier; | |
| 966 | |
| 967 /* Load classes, field and method IDs. */ | |
| 968 | |
| 969 static const char *current_class_name = NULL; | |
| 970 static jclass current_class = NULL; | |
| 971 | |
| 972 static jclass get_class(int *failed, JNIEnv *env, const char *name) | |
| 973 { | |
| 974 jclass local; | |
| 975 | |
| 976 if (*failed) return NULL; | |
| 977 | |
| 978 current_class_name = name; | |
| 979 local = (*env)->FindClass(env, name); | |
| 980 if (!local || (*env)->ExceptionCheck(env)) | |
| 981 { | |
| 982 LOGI("Failed to find class %s", name); | |
| 983 *failed = 1; | |
| 984 return NULL; | |
| 985 } | |
| 986 | |
| 987 current_class = (*env)->NewGlobalRef(env, local); | |
| 988 if (!current_class) | |
| 989 { | |
| 990 LOGI("Failed to make global ref for %s", name); | |
| 991 *failed = 1; | |
| 992 return NULL; | |
| 993 } | |
| 994 | |
| 995 (*env)->DeleteLocalRef(env, local); | |
| 996 | |
| 997 return current_class; | |
| 998 } | |
| 999 | |
| 1000 static jfieldID get_field(int *failed, JNIEnv *env, const char *field, const char *sig) | |
| 1001 { | |
| 1002 jfieldID fid; | |
| 1003 | |
| 1004 if (*failed || !current_class) return NULL; | |
| 1005 | |
| 1006 fid = (*env)->GetFieldID(env, current_class, field, sig); | |
| 1007 if (fid == 0 || (*env)->ExceptionCheck(env)) | |
| 1008 { | |
| 1009 LOGI("Failed to get field for %s %s %s", current_class_name, field, sig); | |
| 1010 *failed = 1; | |
| 1011 } | |
| 1012 | |
| 1013 return fid; | |
| 1014 } | |
| 1015 | |
| 1016 static jfieldID get_static_field(int *failed, JNIEnv *env, const char *field, const char *sig) | |
| 1017 { | |
| 1018 jfieldID fid; | |
| 1019 | |
| 1020 if (*failed || !current_class) return NULL; | |
| 1021 | |
| 1022 fid = (*env)->GetStaticFieldID(env, current_class, field, sig); | |
| 1023 if (fid == 0 || (*env)->ExceptionCheck(env)) | |
| 1024 { | |
| 1025 LOGI("Failed to get static field for %s %s %s", current_class_name, field, sig); | |
| 1026 *failed = 1; | |
| 1027 } | |
| 1028 | |
| 1029 return fid; | |
| 1030 } | |
| 1031 | |
| 1032 static jmethodID get_method(int *failed, JNIEnv *env, const char *method, const char *sig) | |
| 1033 { | |
| 1034 jmethodID mid; | |
| 1035 | |
| 1036 if (*failed || !current_class) return NULL; | |
| 1037 | |
| 1038 mid = (*env)->GetMethodID(env, current_class, method, sig); | |
| 1039 if (mid == 0 || (*env)->ExceptionCheck(env)) | |
| 1040 { | |
| 1041 LOGI("Failed to get method for %s %s %s", current_class_name, method, sig); | |
| 1042 *failed = 1; | |
| 1043 } | |
| 1044 | |
| 1045 return mid; | |
| 1046 } | |
| 1047 | |
| 1048 static jmethodID get_static_method(int *failed, JNIEnv *env, const char *method, const char *sig) | |
| 1049 { | |
| 1050 jmethodID mid; | |
| 1051 | |
| 1052 if (*failed || !current_class) return NULL; | |
| 1053 | |
| 1054 mid = (*env)->GetStaticMethodID(env, current_class, method, sig); | |
| 1055 if (mid == 0 || (*env)->ExceptionCheck(env)) | |
| 1056 { | |
| 1057 LOGI("Failed to get static method for %s %s %s", current_class_name, method, sig); | |
| 1058 *failed = 1; | |
| 1059 } | |
| 1060 | |
| 1061 return mid; | |
| 1062 } | |
| 1063 | |
| 1064 static int find_fids(JNIEnv *env) | |
| 1065 { | |
| 1066 int err = 0; | |
| 1067 int getvmErr; | |
| 1068 | |
| 1069 /* Get and store the main JVM pointer. We need this in order to get | |
| 1070 * JNIEnv pointers on callback threads. This is specifically | |
| 1071 * guaranteed to be safe to store in a static var. */ | |
| 1072 | |
| 1073 getvmErr = (*env)->GetJavaVM(env, &jvm); | |
| 1074 if (getvmErr < 0) | |
| 1075 { | |
| 1076 LOGE("cannot get JVM interface (error %d)", getvmErr); | |
| 1077 return -1; | |
| 1078 } | |
| 1079 | |
| 1080 /* Look up Context first as it is required for logging. E.g. when | |
| 1081 * classes' statics are being executed which may cause logging. */ | |
| 1082 | |
| 1083 cls_Context = get_class(&err, env, PKG"Context"); | |
| 1084 fid_Context_log = get_static_field(&err, env, "log", "L"PKG"Context$Log;"); | |
| 1085 fid_Context_lock = get_static_field(&err, env, "lock", "Ljava/lang/Object;"); | |
| 1086 | |
| 1087 cls_Context_Log = get_class(&err, env, PKG"Context$Log"); | |
| 1088 mid_Context_Log_error = get_method(&err, env, "error", "(Ljava/lang/String;)V"); | |
| 1089 mid_Context_Log_warning = get_method(&err, env, "warning", "(Ljava/lang/String;)V"); | |
| 1090 | |
| 1091 cls_Context_Version = get_class(&err, env, PKG"Context$Version"); | |
| 1092 fid_Context_Version_major = get_field(&err, env, "major", "I"); | |
| 1093 fid_Context_Version_minor = get_field(&err, env, "minor", "I"); | |
| 1094 fid_Context_Version_patch = get_field(&err, env, "patch", "I"); | |
| 1095 fid_Context_Version_version = get_field(&err, env, "version", "Ljava/lang/String;"); | |
| 1096 mid_Context_Version_init = get_method(&err, env, "<init>", "()V"); | |
| 1097 | |
| 1098 /* MuPDF classes */ | |
| 1099 | |
| 1100 cls_Archive = get_class(&err, env, PKG"Archive"); | |
| 1101 mid_Archive_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1102 fid_Archive_pointer = get_field(&err, env, "pointer", "J"); | |
| 1103 | |
| 1104 cls_BarcodeInfo = get_class(&err, env, PKG"BarcodeInfo"); | |
| 1105 fid_BarcodeInfo_type = get_field(&err, env, "type", "I"); | |
| 1106 fid_BarcodeInfo_contents = get_field(&err, env, "contents", "Ljava/lang/String;"); | |
| 1107 mid_BarcodeInfo_init = get_method(&err, env, "<init>", "(ILjava/lang/String;)V"); | |
| 1108 | |
| 1109 cls_Buffer = get_class(&err, env, PKG"Buffer"); | |
| 1110 mid_Buffer_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1111 fid_Buffer_pointer = get_field(&err, env, "pointer", "J"); | |
| 1112 | |
| 1113 cls_ColorSpace = get_class(&err, env, PKG"ColorSpace"); | |
| 1114 fid_ColorSpace_pointer = get_field(&err, env, "pointer", "J"); | |
| 1115 mid_ColorSpace_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1116 mid_ColorSpace_fromPointer = get_static_method(&err, env, "fromPointer", "(J)L"PKG"ColorSpace;"); | |
| 1117 | |
| 1118 cls_Cookie = get_class(&err, env, PKG"Cookie"); | |
| 1119 fid_Cookie_pointer = get_field(&err, env, "pointer", "J"); | |
| 1120 | |
| 1121 cls_DefaultAppearance = get_class(&err, env, PKG"DefaultAppearance"); | |
| 1122 fid_DefaultAppearance_color = get_field(&err, env, "color", "[F"); | |
| 1123 fid_DefaultAppearance_font = get_field(&err, env, "font", "Ljava/lang/String;"); | |
| 1124 fid_DefaultAppearance_size = get_field(&err, env, "size", "F"); | |
| 1125 mid_DefaultAppearance_init = get_method(&err, env, "<init>", "()V"); | |
| 1126 | |
| 1127 cls_DefaultColorSpaces = get_class(&err, env, PKG"DefaultColorSpaces"); | |
| 1128 fid_DefaultColorSpaces_pointer = get_field(&err, env, "pointer", "J"); | |
| 1129 mid_DefaultColorSpaces_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1130 mid_DefaultColorSpaces_setDefaultGray = get_method(&err, env, "setDefaultGray", "(L"PKG"ColorSpace;)V"); | |
| 1131 mid_DefaultColorSpaces_setDefaultRGB = get_method(&err, env, "setDefaultRGB", "(L"PKG"ColorSpace;)V"); | |
| 1132 mid_DefaultColorSpaces_setDefaultCMYK = get_method(&err, env, "setDefaultCMYK", "(L"PKG"ColorSpace;)V"); | |
| 1133 mid_DefaultColorSpaces_setOutputIntent = get_method(&err, env, "setOutputIntent", "(L"PKG"ColorSpace;)V"); | |
| 1134 mid_DefaultColorSpaces_getDefaultGray = get_method(&err, env, "getDefaultGray", "()L"PKG"ColorSpace;"); | |
| 1135 mid_DefaultColorSpaces_getDefaultRGB = get_method(&err, env, "getDefaultRGB", "()L"PKG"ColorSpace;"); | |
| 1136 mid_DefaultColorSpaces_getDefaultCMYK = get_method(&err, env, "getDefaultCMYK", "()L"PKG"ColorSpace;"); | |
| 1137 mid_DefaultColorSpaces_getOutputIntent = get_method(&err, env, "getOutputIntent", "()L"PKG"ColorSpace;"); | |
| 1138 | |
| 1139 cls_Device = get_class(&err, env, PKG"Device"); | |
| 1140 fid_Device_pointer = get_field(&err, env, "pointer", "J"); | |
| 1141 mid_Device_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1142 mid_Device_fillPath = get_method(&err, env, "fillPath", "(L"PKG"Path;ZL"PKG"Matrix;L"PKG"ColorSpace;[FFI)V"); | |
| 1143 mid_Device_strokePath = get_method(&err, env, "strokePath", "(L"PKG"Path;L"PKG"StrokeState;L"PKG"Matrix;L"PKG"ColorSpace;[FFI)V"); | |
| 1144 mid_Device_clipPath = get_method(&err, env, "clipPath", "(L"PKG"Path;ZL"PKG"Matrix;)V"); | |
| 1145 mid_Device_clipStrokePath = get_method(&err, env, "clipStrokePath", "(L"PKG"Path;L"PKG"StrokeState;L"PKG"Matrix;)V"); | |
| 1146 mid_Device_fillText = get_method(&err, env, "fillText", "(L"PKG"Text;L"PKG"Matrix;L"PKG"ColorSpace;[FFI)V"); | |
| 1147 mid_Device_strokeText = get_method(&err, env, "strokeText", "(L"PKG"Text;L"PKG"StrokeState;L"PKG"Matrix;L"PKG"ColorSpace;[FFI)V"); | |
| 1148 mid_Device_clipText = get_method(&err, env, "clipText", "(L"PKG"Text;L"PKG"Matrix;)V"); | |
| 1149 mid_Device_clipStrokeText = get_method(&err, env, "clipStrokeText", "(L"PKG"Text;L"PKG"StrokeState;L"PKG"Matrix;)V"); | |
| 1150 mid_Device_ignoreText = get_method(&err, env, "ignoreText", "(L"PKG"Text;L"PKG"Matrix;)V"); | |
| 1151 mid_Device_fillShade = get_method(&err, env, "fillShade", "(L"PKG"Shade;L"PKG"Matrix;FI)V"); | |
| 1152 mid_Device_fillImage = get_method(&err, env, "fillImage", "(L"PKG"Image;L"PKG"Matrix;FI)V"); | |
| 1153 mid_Device_fillImageMask = get_method(&err, env, "fillImageMask", "(L"PKG"Image;L"PKG"Matrix;L"PKG"ColorSpace;[FFI)V"); | |
| 1154 mid_Device_clipImageMask = get_method(&err, env, "clipImageMask", "(L"PKG"Image;L"PKG"Matrix;)V"); | |
| 1155 mid_Device_popClip = get_method(&err, env, "popClip", "()V"); | |
| 1156 mid_Device_beginLayer = get_method(&err, env, "beginLayer", "(Ljava/lang/String;)V"); | |
| 1157 mid_Device_endLayer = get_method(&err, env, "endLayer", "()V"); | |
| 1158 mid_Device_beginMask = get_method(&err, env, "beginMask", "(L"PKG"Rect;ZL"PKG"ColorSpace;[FI)V"); | |
| 1159 mid_Device_endMask = get_method(&err, env, "endMask", "()V"); | |
| 1160 mid_Device_beginGroup = get_method(&err, env, "beginGroup", "(L"PKG"Rect;L"PKG"ColorSpace;ZZIF)V"); | |
| 1161 mid_Device_endGroup = get_method(&err, env, "endGroup", "()V"); | |
| 1162 mid_Device_beginTile = get_method(&err, env, "beginTile", "(L"PKG"Rect;L"PKG"Rect;FFL"PKG"Matrix;II)I"); | |
| 1163 mid_Device_endTile = get_method(&err, env, "endTile", "()V"); | |
| 1164 mid_Device_renderFlags = get_method(&err, env, "renderFlags", "(II)V"); | |
| 1165 mid_Device_setDefaultColorSpaces = get_method(&err, env, "setDefaultColorSpaces", "(L"PKG"DefaultColorSpaces;)V"); | |
| 1166 mid_Device_beginStructure = get_method(&err, env, "beginStructure", "(ILjava/lang/String;I)V"); | |
| 1167 mid_Device_endStructure = get_method(&err, env, "endStructure", "()V"); | |
| 1168 mid_Device_beginMetatext = get_method(&err, env, "beginMetatext", "(ILjava/lang/String;)V"); | |
| 1169 mid_Device_endMetatext = get_method(&err, env, "endMetatext", "()V"); | |
| 1170 | |
| 1171 cls_DisplayList = get_class(&err, env, PKG"DisplayList"); | |
| 1172 fid_DisplayList_pointer = get_field(&err, env, "pointer", "J"); | |
| 1173 mid_DisplayList_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1174 | |
| 1175 cls_Document = get_class(&err, env, PKG"Document"); | |
| 1176 fid_Document_pointer = get_field(&err, env, "pointer", "J"); | |
| 1177 mid_Document_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1178 | |
| 1179 cls_DocumentWriter = get_class(&err, env, PKG"DocumentWriter"); | |
| 1180 fid_DocumentWriter_pointer = get_field(&err, env, "pointer", "J"); | |
| 1181 fid_DocumentWriter_ocrlistener = get_field(&err, env, "ocrlistener", "J"); | |
| 1182 | |
| 1183 cls_DocumentWriter_OCRListener = get_class(&err, env, PKG"DocumentWriter$OCRListener"); | |
| 1184 mid_DocumentWriter_OCRListener_progress = get_method(&err, env, "progress", "(II)Z"); | |
| 1185 | |
| 1186 cls_DOM = get_class(&err, env, PKG"DOM"); | |
| 1187 fid_DOM_pointer = get_field(&err, env, "pointer", "J"); | |
| 1188 mid_DOM_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1189 | |
| 1190 cls_DOMAttribute = get_class(&err, env, PKG"DOM$DOMAttribute"); | |
| 1191 fid_DOMAttribute_attribute = get_field(&err, env, "attribute", "Ljava/lang/String;"); | |
| 1192 fid_DOMAttribute_value = get_field(&err, env, "value", "Ljava/lang/String;"); | |
| 1193 mid_DOMAttribute_init = get_method(&err, env, "<init>", "()V"); | |
| 1194 | |
| 1195 cls_FitzInputStream = get_class(&err, env, PKG"FitzInputStream"); | |
| 1196 fid_FitzInputStream_pointer = get_field(&err, env, "pointer", "J"); | |
| 1197 fid_FitzInputStream_markpos = get_field(&err, env, "markpos", "J"); | |
| 1198 fid_FitzInputStream_closed = get_field(&err, env, "closed", "Z"); | |
| 1199 mid_FitzInputStream_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1200 | |
| 1201 cls_Font = get_class(&err, env, PKG"Font"); | |
| 1202 fid_Font_pointer = get_field(&err, env, "pointer", "J"); | |
| 1203 mid_Font_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1204 | |
| 1205 cls_Story = get_class(&err, env, PKG"Story"); | |
| 1206 fid_Story_pointer = get_field(&err, env, "pointer", "J"); | |
| 1207 | |
| 1208 cls_Image = get_class(&err, env, PKG"Image"); | |
| 1209 fid_Image_pointer = get_field(&err, env, "pointer", "J"); | |
| 1210 mid_Image_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1211 | |
| 1212 cls_Link = get_class(&err, env, PKG"Link"); | |
| 1213 fid_Link_pointer = get_field(&err, env, "pointer", "J"); | |
| 1214 mid_Link_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1215 | |
| 1216 cls_Location = get_class(&err, env, PKG"Location"); | |
| 1217 mid_Location_init = get_method(&err, env, "<init>", "(II)V"); | |
| 1218 | |
| 1219 cls_Matrix = get_class(&err, env, PKG"Matrix"); | |
| 1220 fid_Matrix_a = get_field(&err, env, "a", "F"); | |
| 1221 fid_Matrix_b = get_field(&err, env, "b", "F"); | |
| 1222 fid_Matrix_c = get_field(&err, env, "c", "F"); | |
| 1223 fid_Matrix_d = get_field(&err, env, "d", "F"); | |
| 1224 fid_Matrix_e = get_field(&err, env, "e", "F"); | |
| 1225 fid_Matrix_f = get_field(&err, env, "f", "F"); | |
| 1226 mid_Matrix_init = get_method(&err, env, "<init>", "(FFFFFF)V"); | |
| 1227 | |
| 1228 cls_MultiArchive = get_class(&err, env, PKG"MultiArchive"); | |
| 1229 mid_MultiArchive_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1230 fid_MultiArchive_pointer = get_field(&err, env, "pointer", "J"); | |
| 1231 | |
| 1232 cls_NativeDevice = get_class(&err, env, PKG"NativeDevice"); | |
| 1233 fid_NativeDevice_nativeResource = get_field(&err, env, "nativeResource", "Ljava/lang/Object;"); | |
| 1234 fid_NativeDevice_nativeInfo = get_field(&err, env, "nativeInfo", "J"); | |
| 1235 mid_NativeDevice_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1236 | |
| 1237 cls_Outline = get_class(&err, env, PKG"Outline"); | |
| 1238 mid_Outline_init = get_method(&err, env, "<init>", "(Ljava/lang/String;Ljava/lang/String;[L"PKG"Outline;)V"); | |
| 1239 | |
| 1240 cls_OutlineItem = get_class(&err, env, PKG"OutlineIterator$OutlineItem"); | |
| 1241 mid_OutlineItem_init = get_method(&err, env, "<init>", "(Ljava/lang/String;Ljava/lang/String;ZFFFI)V"); | |
| 1242 | |
| 1243 cls_OutlineIterator = get_class(&err, env, PKG"OutlineIterator"); | |
| 1244 fid_OutlineIterator_pointer = get_field(&err, env, "pointer", "J"); | |
| 1245 mid_OutlineIterator_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1246 | |
| 1247 cls_Page = get_class(&err, env, PKG"Page"); | |
| 1248 fid_Page_pointer = get_field(&err, env, "pointer", "J"); | |
| 1249 mid_Page_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1250 | |
| 1251 cls_Path = get_class(&err, env, PKG"Path"); | |
| 1252 fid_Path_pointer = get_field(&err, env, "pointer", "J"); | |
| 1253 mid_Path_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1254 | |
| 1255 cls_PathWalker = get_class(&err, env, PKG"PathWalker"); | |
| 1256 mid_PathWalker_moveTo = get_method(&err, env, "moveTo", "(FF)V"); | |
| 1257 mid_PathWalker_lineTo = get_method(&err, env, "lineTo", "(FF)V"); | |
| 1258 mid_PathWalker_curveTo = get_method(&err, env, "curveTo", "(FFFFFF)V"); | |
| 1259 mid_PathWalker_closePath = get_method(&err, env, "closePath", "()V"); | |
| 1260 | |
| 1261 cls_PDFAnnotation = get_class(&err, env, PKG"PDFAnnotation"); | |
| 1262 fid_PDFAnnotation_pointer = get_field(&err, env, "pointer", "J"); | |
| 1263 mid_PDFAnnotation_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1264 | |
| 1265 cls_PDFDocument = get_class(&err, env, PKG"PDFDocument"); | |
| 1266 fid_PDFDocument_pointer = get_field(&err, env, "pointer", "J"); | |
| 1267 mid_PDFDocument_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1268 | |
| 1269 cls_LinkDestination = get_class(&err, env, PKG"LinkDestination"); | |
| 1270 mid_LinkDestination_init = get_method(&err, env, "<init>", "(IIIFFFFF)V"); | |
| 1271 fid_LinkDestination_chapter = get_field(&err, env, "chapter", "I"); | |
| 1272 fid_LinkDestination_page = get_field(&err, env, "page", "I"); | |
| 1273 fid_LinkDestination_type = get_field(&err, env, "type", "I"); | |
| 1274 fid_LinkDestination_x = get_field(&err, env, "x", "F"); | |
| 1275 fid_LinkDestination_y = get_field(&err, env, "y", "F"); | |
| 1276 fid_LinkDestination_width = get_field(&err, env, "width", "F"); | |
| 1277 fid_LinkDestination_height = get_field(&err, env, "height", "F"); | |
| 1278 fid_LinkDestination_zoom = get_field(&err, env, "zoom", "F"); | |
| 1279 | |
| 1280 cls_PDFDocument_JsEventListener = get_class(&err, env, PKG"PDFDocument$JsEventListener"); | |
| 1281 mid_PDFDocument_JsEventListener_onAlert = get_method(&err, env, "onAlert", "(L"PKG"PDFDocument;Ljava/lang/String;Ljava/lang/String;IIZLjava/lang/String;Z)L"PKG"PDFDocument$JsEventListener$AlertResult;"); | |
| 1282 | |
| 1283 cls_PDFDocument_PDFEmbeddedFileParams = get_class(&err, env, PKG"PDFDocument$PDFEmbeddedFileParams"); | |
| 1284 mid_PDFDocument_PDFEmbeddedFileParams_init = get_method(&err, env, "<init>", "(Ljava/lang/String;Ljava/lang/String;IJJ)V"); | |
| 1285 | |
| 1286 cls_AlertResult = get_class(&err, env, PKG"PDFDocument$JsEventListener$AlertResult"); | |
| 1287 fid_AlertResult_buttonPressed = get_field(&err, env, "buttonPressed", "I"); | |
| 1288 fid_AlertResult_checkboxChecked = get_field(&err, env, "checkboxChecked", "Z"); | |
| 1289 | |
| 1290 cls_PDFGraftMap = get_class(&err, env, PKG"PDFGraftMap"); | |
| 1291 fid_PDFGraftMap_pointer = get_field(&err, env, "pointer", "J"); | |
| 1292 mid_PDFGraftMap_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1293 | |
| 1294 cls_PDFObject = get_class(&err, env, PKG"PDFObject"); | |
| 1295 fid_PDFObject_pointer = get_field(&err, env, "pointer", "J"); | |
| 1296 fid_PDFObject_Null = get_static_field(&err, env, "Null", "L"PKG"PDFObject;"); | |
| 1297 mid_PDFObject_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1298 | |
| 1299 cls_PDFPage = get_class(&err, env, PKG"PDFPage"); | |
| 1300 fid_PDFPage_pointer = get_field(&err, env, "pointer", "J"); | |
| 1301 mid_PDFPage_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1302 cls_PDFProcessor = get_class(&err, env, PKG"PDFProcessor"); | |
| 1303 mid_PDFProcessor_op_b = get_method(&err, env, "op_b", "()V"); | |
| 1304 mid_PDFProcessor_op_B = get_method(&err, env, "op_B", "()V"); | |
| 1305 mid_PDFProcessor_op_BDC = get_method(&err, env, "op_BDC", "(Ljava/lang/String;L"PKG"PDFObject;)V"); | |
| 1306 mid_PDFProcessor_op_BI = get_method(&err, env, "op_BI", "(L"PKG"Image;)V"); | |
| 1307 mid_PDFProcessor_op_BMC = get_method(&err, env, "op_BMC", "(Ljava/lang/String;)V"); | |
| 1308 mid_PDFProcessor_op_bstar = get_method(&err, env, "op_bstar", "()V"); | |
| 1309 mid_PDFProcessor_op_Bstar = get_method(&err, env, "op_Bstar", "()V"); | |
| 1310 mid_PDFProcessor_op_BT = get_method(&err, env, "op_BT", "()V"); | |
| 1311 mid_PDFProcessor_op_BX = get_method(&err, env, "op_BX", "()V"); | |
| 1312 mid_PDFProcessor_op_c = get_method(&err, env, "op_c", "(FFFFFF)V"); | |
| 1313 mid_PDFProcessor_op_cm = get_method(&err, env, "op_cm", "(FFFFFF)V"); | |
| 1314 mid_PDFProcessor_op_cs = get_method(&err, env, "op_cs", "(Ljava/lang/String;L"PKG"ColorSpace;)V"); | |
| 1315 mid_PDFProcessor_op_CS = get_method(&err, env, "op_CS", "(Ljava/lang/String;L"PKG"ColorSpace;)V"); | |
| 1316 mid_PDFProcessor_op_d = get_method(&err, env, "op_d", "([FF)V"); | |
| 1317 mid_PDFProcessor_op_d0 = get_method(&err, env, "op_d0", "(FF)V"); | |
| 1318 mid_PDFProcessor_op_d1 = get_method(&err, env, "op_d1", "(FFFFFF)V"); | |
| 1319 mid_PDFProcessor_op_Do_form = get_method(&err, env, "op_Do_form", "(Ljava/lang/String;L"PKG"PDFObject;L"PKG"PDFObject;)V"); | |
| 1320 mid_PDFProcessor_op_Do_image = get_method(&err, env, "op_Do_image", "(Ljava/lang/String;L"PKG"Image;)V"); | |
| 1321 mid_PDFProcessor_op_DP = get_method(&err, env, "op_DP", "(Ljava/lang/String;L"PKG"PDFObject;)V"); | |
| 1322 mid_PDFProcessor_op_dquote_byte_array = get_method(&err, env, "op_dquote", "(FF[B)V"); | |
| 1323 mid_PDFProcessor_op_dquote_string = get_method(&err, env, "op_dquote", "(FFLjava/lang/String;)V"); | |
| 1324 mid_PDFProcessor_op_EMC = get_method(&err, env, "op_EMC", "()V"); | |
| 1325 mid_PDFProcessor_op_ET = get_method(&err, env, "op_ET", "()V"); | |
| 1326 mid_PDFProcessor_op_EX = get_method(&err, env, "op_EX", "()V"); | |
| 1327 mid_PDFProcessor_op_f = get_method(&err, env, "op_f", "()V"); | |
| 1328 mid_PDFProcessor_op_F = get_method(&err, env, "op_F", "()V"); | |
| 1329 mid_PDFProcessor_op_fstar = get_method(&err, env, "op_fstar", "()V"); | |
| 1330 mid_PDFProcessor_op_g = get_method(&err, env, "op_g", "(F)V"); | |
| 1331 mid_PDFProcessor_op_G = get_method(&err, env, "op_G", "(F)V"); | |
| 1332 mid_PDFProcessor_op_gs = get_method(&err, env, "op_gs", "(Ljava/lang/String;L"PKG"PDFObject;)V"); | |
| 1333 mid_PDFProcessor_op_h = get_method(&err, env, "op_h", "()V"); | |
| 1334 mid_PDFProcessor_op_i = get_method(&err, env, "op_i", "(F)V"); | |
| 1335 mid_PDFProcessor_op_j = get_method(&err, env, "op_j", "(F)V"); | |
| 1336 mid_PDFProcessor_op_J = get_method(&err, env, "op_J", "(F)V"); | |
| 1337 mid_PDFProcessor_op_k = get_method(&err, env, "op_k", "(FFFF)V"); | |
| 1338 mid_PDFProcessor_op_K = get_method(&err, env, "op_K", "(FFFF)V"); | |
| 1339 mid_PDFProcessor_op_l = get_method(&err, env, "op_l", "(FF)V"); | |
| 1340 mid_PDFProcessor_op_m = get_method(&err, env, "op_m", "(FF)V"); | |
| 1341 mid_PDFProcessor_op_M = get_method(&err, env, "op_M", "(F)V"); | |
| 1342 mid_PDFProcessor_op_MP = get_method(&err, env, "op_MP", "(Ljava/lang/String;)V"); | |
| 1343 mid_PDFProcessor_op_n = get_method(&err, env, "op_n", "()V"); | |
| 1344 mid_PDFProcessor_op_popResources = get_method(&err, env, "popResources", "()V"); | |
| 1345 mid_PDFProcessor_op_pushResources = get_method(&err, env, "pushResources", "(L"PKG"PDFObject;)V"); | |
| 1346 mid_PDFProcessor_op_q = get_method(&err, env, "op_q", "()V"); | |
| 1347 mid_PDFProcessor_op_Q = get_method(&err, env, "op_Q", "()V"); | |
| 1348 mid_PDFProcessor_op_re = get_method(&err, env, "op_re", "(FFFF)V"); | |
| 1349 mid_PDFProcessor_op_rg = get_method(&err, env, "op_rg", "(FFF)V"); | |
| 1350 mid_PDFProcessor_op_RG = get_method(&err, env, "op_RG", "(FFF)V"); | |
| 1351 mid_PDFProcessor_op_ri = get_method(&err, env, "op_ri", "(Ljava/lang/String;)V"); | |
| 1352 mid_PDFProcessor_op_s = get_method(&err, env, "op_s", "()V"); | |
| 1353 mid_PDFProcessor_op_S = get_method(&err, env, "op_S", "()V"); | |
| 1354 mid_PDFProcessor_op_sc_color = get_method(&err, env, "op_sc_color", "([F)V"); | |
| 1355 mid_PDFProcessor_op_SC_color = get_method(&err, env, "op_SC_color", "([F)V"); | |
| 1356 mid_PDFProcessor_op_sc_pattern = get_method(&err, env, "op_sc_pattern", "(Ljava/lang/String;I[F)V"); | |
| 1357 mid_PDFProcessor_op_SC_pattern = get_method(&err, env, "op_SC_pattern", "(Ljava/lang/String;I[F)V"); | |
| 1358 mid_PDFProcessor_op_sc_shade = get_method(&err, env, "op_sc_shade", "(Ljava/lang/String;)V"); | |
| 1359 mid_PDFProcessor_op_SC_shade = get_method(&err, env, "op_SC_shade", "(Ljava/lang/String;)V"); | |
| 1360 mid_PDFProcessor_op_sh = get_method(&err, env, "op_sh", "(Ljava/lang/String;L"PKG"Shade;)V"); | |
| 1361 mid_PDFProcessor_op_squote_byte_array = get_method(&err, env, "op_squote", "([B)V"); | |
| 1362 mid_PDFProcessor_op_squote_string = get_method(&err, env, "op_squote", "(Ljava/lang/String;)V"); | |
| 1363 mid_PDFProcessor_op_Tc = get_method(&err, env, "op_Tc", "(F)V"); | |
| 1364 mid_PDFProcessor_op_Td = get_method(&err, env, "op_Td", "(FF)V"); | |
| 1365 mid_PDFProcessor_op_TD = get_method(&err, env, "op_TD", "(FF)V"); | |
| 1366 mid_PDFProcessor_op_Tf = get_method(&err, env, "op_Tf", "(Ljava/lang/String;F)V"); | |
| 1367 mid_PDFProcessor_op_Tj_byte_array = get_method(&err, env, "op_Tj", "([B)V"); | |
| 1368 mid_PDFProcessor_op_Tj_string = get_method(&err, env, "op_Tj", "(Ljava/lang/String;)V"); | |
| 1369 mid_PDFProcessor_op_TJ = get_method(&err, env, "op_TJ", "([Ljava/lang/Object;)V"); | |
| 1370 mid_PDFProcessor_op_TL = get_method(&err, env, "op_TL", "(F)V"); | |
| 1371 mid_PDFProcessor_op_Tm = get_method(&err, env, "op_Tm", "(FFFFFF)V"); | |
| 1372 mid_PDFProcessor_op_Tr = get_method(&err, env, "op_Tr", "(F)V"); | |
| 1373 mid_PDFProcessor_op_Ts = get_method(&err, env, "op_Ts", "(F)V"); | |
| 1374 mid_PDFProcessor_op_Tstar = get_method(&err, env, "op_Tstar", "()V"); | |
| 1375 mid_PDFProcessor_op_Tw = get_method(&err, env, "op_Tw", "(F)V"); | |
| 1376 mid_PDFProcessor_op_Tz = get_method(&err, env, "op_Tz", "(F)V"); | |
| 1377 mid_PDFProcessor_op_v = get_method(&err, env, "op_v", "(FFFF)V"); | |
| 1378 mid_PDFProcessor_op_w = get_method(&err, env, "op_w", "(F)V"); | |
| 1379 mid_PDFProcessor_op_W = get_method(&err, env, "op_W", "()V"); | |
| 1380 mid_PDFProcessor_op_Wstar = get_method(&err, env, "op_Wstar", "()V"); | |
| 1381 mid_PDFProcessor_op_y = get_method(&err, env, "op_y", "(FFFF)V"); | |
| 1382 cls_PDFWidget = get_class(&err, env, PKG"PDFWidget"); | |
| 1383 fid_PDFWidget_pointer = get_field(&err, env, "pointer", "J"); | |
| 1384 fid_PDFWidget_fieldType = get_field(&err, env, "fieldType", "I"); | |
| 1385 fid_PDFWidget_textFormat = get_field(&err, env, "textFormat", "I"); | |
| 1386 fid_PDFWidget_maxLen = get_field(&err, env, "maxLen", "I"); | |
| 1387 fid_PDFWidget_fieldFlags = get_field(&err, env, "fieldFlags", "I"); | |
| 1388 fid_PDFWidget_options = get_field(&err, env, "options", "[Ljava/lang/String;"); | |
| 1389 mid_PDFWidget_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1390 | |
| 1391 cls_PKCS7Signer = get_class(&err, env, PKG"PKCS7Signer"); | |
| 1392 fid_PKCS7Signer_pointer = get_field(&err, env, "pointer", "J"); | |
| 1393 mid_PKCS7Signer_name = get_method(&err, env, "name", "()L"PKG"PKCS7DistinguishedName;"); | |
| 1394 mid_PKCS7Signer_sign = get_method(&err, env, "sign", "(L"PKG"FitzInputStream;)[B"); | |
| 1395 mid_PKCS7Signer_maxDigest = get_method(&err, env, "maxDigest", "()I"); | |
| 1396 | |
| 1397 cls_PKCS7Verifier = get_class(&err, env, PKG"PKCS7Verifier"); | |
| 1398 fid_PKCS7Verifier_pointer = get_field(&err, env, "pointer", "J"); | |
| 1399 mid_PKCS7Verifier_checkCertificate = get_method(&err, env, "checkCertificate", "([B)I"); | |
| 1400 mid_PKCS7Verifier_checkDigest = get_method(&err, env, "checkDigest", "(L"PKG"FitzInputStream;[B)I"); | |
| 1401 | |
| 1402 cls_PKCS7DistinguishedName = get_class(&err, env, PKG"PKCS7DistinguishedName"); | |
| 1403 fid_PKCS7DistinguishedName_cn = get_field(&err, env, "cn", "Ljava/lang/String;"); | |
| 1404 fid_PKCS7DistinguishedName_c = get_field(&err, env, "c", "Ljava/lang/String;"); | |
| 1405 fid_PKCS7DistinguishedName_o = get_field(&err, env, "o", "Ljava/lang/String;"); | |
| 1406 fid_PKCS7DistinguishedName_ou = get_field(&err, env, "ou", "Ljava/lang/String;"); | |
| 1407 fid_PKCS7DistinguishedName_email = get_field(&err, env, "email", "Ljava/lang/String;"); | |
| 1408 mid_PKCS7DistinguishedName_init = get_method(&err, env, "<init>", "()V"); | |
| 1409 | |
| 1410 cls_Pixmap = get_class(&err, env, PKG"Pixmap"); | |
| 1411 fid_Pixmap_pointer = get_field(&err, env, "pointer", "J"); | |
| 1412 mid_Pixmap_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1413 | |
| 1414 cls_Point = get_class(&err, env, PKG"Point"); | |
| 1415 mid_Point_init = get_method(&err, env, "<init>", "(FF)V"); | |
| 1416 fid_Point_x = get_field(&err, env, "x", "F"); | |
| 1417 fid_Point_y = get_field(&err, env, "y", "F"); | |
| 1418 | |
| 1419 cls_Quad = get_class(&err, env, PKG"Quad"); | |
| 1420 fid_Quad_ul_x = get_field(&err, env, "ul_x", "F"); | |
| 1421 fid_Quad_ul_y = get_field(&err, env, "ul_y", "F"); | |
| 1422 fid_Quad_ur_x = get_field(&err, env, "ur_x", "F"); | |
| 1423 fid_Quad_ur_y = get_field(&err, env, "ur_y", "F"); | |
| 1424 fid_Quad_ll_x = get_field(&err, env, "ll_x", "F"); | |
| 1425 fid_Quad_ll_y = get_field(&err, env, "ll_y", "F"); | |
| 1426 fid_Quad_lr_x = get_field(&err, env, "lr_x", "F"); | |
| 1427 fid_Quad_lr_y = get_field(&err, env, "lr_y", "F"); | |
| 1428 mid_Quad_init = get_method(&err, env, "<init>", "(FFFFFFFF)V"); | |
| 1429 | |
| 1430 cls_ArrayOfQuad = get_class(&err, env, "[L"PKG"Quad;"); | |
| 1431 | |
| 1432 cls_Rect = get_class(&err, env, PKG"Rect"); | |
| 1433 fid_Rect_x0 = get_field(&err, env, "x0", "F"); | |
| 1434 fid_Rect_x1 = get_field(&err, env, "x1", "F"); | |
| 1435 fid_Rect_y0 = get_field(&err, env, "y0", "F"); | |
| 1436 fid_Rect_y1 = get_field(&err, env, "y1", "F"); | |
| 1437 mid_Rect_init = get_method(&err, env, "<init>", "(FFFF)V"); | |
| 1438 | |
| 1439 cls_SeekableInputStream = get_class(&err, env, PKG"SeekableInputStream"); | |
| 1440 mid_SeekableInputStream_read = get_method(&err, env, "read", "([B)I"); | |
| 1441 | |
| 1442 cls_SeekableOutputStream = get_class(&err, env, PKG"SeekableOutputStream"); | |
| 1443 mid_SeekableOutputStream_truncate = get_method(&err, env, "truncate", "()V"); | |
| 1444 mid_SeekableOutputStream_write = get_method(&err, env, "write", "([BII)V"); | |
| 1445 | |
| 1446 cls_SeekableStream = get_class(&err, env, PKG"SeekableStream"); | |
| 1447 mid_SeekableStream_position = get_method(&err, env, "position", "()J"); | |
| 1448 mid_SeekableStream_seek = get_method(&err, env, "seek", "(JI)J"); | |
| 1449 | |
| 1450 cls_Shade = get_class(&err, env, PKG"Shade"); | |
| 1451 fid_Shade_pointer = get_field(&err, env, "pointer", "J"); | |
| 1452 mid_Shade_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1453 | |
| 1454 cls_String = get_class(&err, env, "java/lang/String"); | |
| 1455 | |
| 1456 cls_StrokeState = get_class(&err, env, PKG"StrokeState"); | |
| 1457 fid_StrokeState_pointer = get_field(&err, env, "pointer", "J"); | |
| 1458 mid_StrokeState_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1459 | |
| 1460 cls_StructuredText = get_class(&err, env, PKG"StructuredText"); | |
| 1461 fid_StructuredText_pointer = get_field(&err, env, "pointer", "J"); | |
| 1462 mid_StructuredText_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1463 | |
| 1464 cls_StructuredTextWalker = get_class(&err, env, PKG"StructuredTextWalker"); | |
| 1465 mid_StructuredTextWalker_onImageBlock = get_method(&err, env, "onImageBlock", "(L"PKG"Rect;L"PKG"Matrix;L"PKG"Image;)V"); | |
| 1466 mid_StructuredTextWalker_beginStruct = get_method(&err, env, "beginStruct", "(Ljava/lang/String;Ljava/lang/String;I)V"); | |
| 1467 mid_StructuredTextWalker_beginTextBlock = get_method(&err, env, "beginTextBlock", "(L"PKG"Rect;)V"); | |
| 1468 mid_StructuredTextWalker_endStruct = get_method(&err, env, "endStruct", "()V"); | |
| 1469 mid_StructuredTextWalker_endTextBlock = get_method(&err, env, "endTextBlock", "()V"); | |
| 1470 mid_StructuredTextWalker_beginLine = get_method(&err, env, "beginLine", "(L"PKG"Rect;IL"PKG"Point;)V"); | |
| 1471 mid_StructuredTextWalker_endLine = get_method(&err, env, "endLine", "()V"); | |
| 1472 mid_StructuredTextWalker_onChar = get_method(&err, env, "onChar", "(IL"PKG"Point;L"PKG"Font;FL"PKG"Quad;)V"); | |
| 1473 mid_StructuredTextWalker_onVector = get_method(&err, env, "onVector", "(L"PKG"Rect;L"PKG"StructuredTextWalker$VectorInfo;I)V"); | |
| 1474 | |
| 1475 cls_StructuredTextWalker_VectorInfo = get_class(&err, env, PKG"StructuredTextWalker$VectorInfo"); | |
| 1476 fid_StructuredTextWalker_VectorInfo_isRectangle = get_field(&err, env, "isRectangle", "Z"); | |
| 1477 fid_StructuredTextWalker_VectorInfo_isStroked = get_field(&err, env, "isStroked", "Z"); | |
| 1478 mid_StructuredTextWalker_VectorInfo_init = get_method(&err, env, "<init>", "()V"); | |
| 1479 | |
| 1480 cls_Text = get_class(&err, env, PKG"Text"); | |
| 1481 fid_Text_pointer = get_field(&err, env, "pointer", "J"); | |
| 1482 mid_Text_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1483 | |
| 1484 cls_TextBlock = get_class(&err, env, PKG"StructuredText$TextBlock"); | |
| 1485 fid_TextBlock_bbox = get_field(&err, env, "bbox", "L"PKG"Rect;"); | |
| 1486 fid_TextBlock_lines = get_field(&err, env, "lines", "[L"PKG"StructuredText$TextLine;"); | |
| 1487 mid_TextBlock_init = get_method(&err, env, "<init>", "()V"); | |
| 1488 | |
| 1489 cls_TextChar = get_class(&err, env, PKG"StructuredText$TextChar"); | |
| 1490 fid_TextChar_quad = get_field(&err, env, "quad", "L"PKG"Quad;"); | |
| 1491 fid_TextChar_c = get_field(&err, env, "c", "I"); | |
| 1492 mid_TextChar_init = get_method(&err, env, "<init>", "()V"); | |
| 1493 | |
| 1494 cls_TextLine = get_class(&err, env, PKG"StructuredText$TextLine"); | |
| 1495 fid_TextLine_bbox = get_field(&err, env, "bbox", "L"PKG"Rect;"); | |
| 1496 fid_TextLine_chars = get_field(&err, env, "chars", "[L"PKG"StructuredText$TextChar;"); | |
| 1497 mid_TextLine_init = get_method(&err, env, "<init>", "()V"); | |
| 1498 | |
| 1499 cls_TextWalker = get_class(&err, env, PKG"TextWalker"); | |
| 1500 mid_TextWalker_showGlyph = get_method(&err, env, "showGlyph", "(L"PKG"Font;L"PKG"Matrix;IIZ)V"); | |
| 1501 | |
| 1502 cls_TextWidgetLayout = get_class(&err, env, PKG"PDFWidget$TextWidgetLayout"); | |
| 1503 fid_TextWidgetLayout_matrix = get_field(&err, env, "matrix", "L"PKG"Matrix;"); | |
| 1504 fid_TextWidgetLayout_invMatrix = get_field(&err, env, "invMatrix", "L"PKG"Matrix;"); | |
| 1505 fid_TextWidgetLayout_lines = get_field(&err, env, "lines", "[L"PKG"PDFWidget$TextWidgetLineLayout;"); | |
| 1506 mid_TextWidgetLayout_init = get_method(&err, env, "<init>", "()V"); | |
| 1507 | |
| 1508 cls_TextWidgetLineLayout = get_class(&err, env, PKG"PDFWidget$TextWidgetLineLayout"); | |
| 1509 fid_TextWidgetLineLayout_x = get_field(&err, env, "x", "F"); | |
| 1510 fid_TextWidgetLineLayout_y = get_field(&err, env, "y", "F"); | |
| 1511 fid_TextWidgetLineLayout_fontSize = get_field(&err, env, "fontSize", "F"); | |
| 1512 fid_TextWidgetLineLayout_index = get_field(&err, env, "index", "I"); | |
| 1513 fid_TextWidgetLineLayout_rect = get_field(&err, env, "rect", "L"PKG"Rect;"); | |
| 1514 fid_TextWidgetLineLayout_chars = get_field(&err, env, "chars", "[L"PKG"PDFWidget$TextWidgetCharLayout;"); | |
| 1515 mid_TextWidgetLineLayout_init = get_method(&err, env, "<init>", "()V"); | |
| 1516 | |
| 1517 cls_TextWidgetCharLayout = get_class(&err, env, PKG"PDFWidget$TextWidgetCharLayout"); | |
| 1518 fid_TextWidgetCharLayout_x = get_field(&err, env, "x", "F"); | |
| 1519 fid_TextWidgetCharLayout_advance = get_field(&err, env, "advance", "F"); | |
| 1520 fid_TextWidgetCharLayout_index = get_field(&err, env, "index", "I"); | |
| 1521 fid_TextWidgetCharLayout_rect = get_field(&err, env, "rect", "L"PKG"Rect;"); | |
| 1522 mid_TextWidgetCharLayout_init = get_method(&err, env, "<init>", "()V"); | |
| 1523 | |
| 1524 cls_TreeArchive = get_class(&err, env, PKG"TreeArchive"); | |
| 1525 mid_TreeArchive_init = get_method(&err, env, "<init>", "(J)V"); | |
| 1526 fid_TreeArchive_pointer = get_field(&err, env, "pointer", "J"); | |
| 1527 | |
| 1528 cls_AbortException = get_class(&err, env, PKG"AbortException"); | |
| 1529 cls_TryLaterException = get_class(&err, env, PKG"TryLaterException"); | |
| 1530 | |
| 1531 /* Standard Java classes */ | |
| 1532 | |
| 1533 cls_Float = get_class(&err, env, "java/lang/Float"); | |
| 1534 mid_Float_init = get_method(&err, env, "<init>", "(F)V"); | |
| 1535 | |
| 1536 cls_FloatArray = get_class(&err, env, "[F"); | |
| 1537 cls_IntegerArray = get_class(&err, env, "[I"); | |
| 1538 | |
| 1539 cls_Object = get_class(&err, env, "java/lang/Object"); | |
| 1540 mid_Object_toString = get_method(&err, env, "toString", "()Ljava/lang/String;"); | |
| 1541 | |
| 1542 cls_IndexOutOfBoundsException = get_class(&err, env, "java/lang/IndexOutOfBoundsException"); | |
| 1543 cls_IllegalArgumentException = get_class(&err, env, "java/lang/IllegalArgumentException"); | |
| 1544 cls_IOException = get_class(&err, env, "java/io/IOException"); | |
| 1545 cls_NullPointerException = get_class(&err, env, "java/lang/NullPointerException"); | |
| 1546 cls_RuntimeException = get_class(&err, env, "java/lang/RuntimeException"); | |
| 1547 cls_UnsupportedOperationException = get_class(&err, env, "java/lang/UnsupportedOperationException"); | |
| 1548 | |
| 1549 cls_OutOfMemoryError = get_class(&err, env, "java/lang/OutOfMemoryError"); | |
| 1550 | |
| 1551 cls_ArrayList = get_class(&err, env, "java/util/ArrayList"); | |
| 1552 mid_ArrayList_init = get_method(&err, env, "<init>", "()V"); | |
| 1553 mid_ArrayList_add = get_method(&err, env, "add", "(Ljava/lang/Object;)Z"); | |
| 1554 mid_ArrayList_toArray = get_method(&err, env, "toArray", "([Ljava/lang/Object;)[Ljava/lang/Object;"); | |
| 1555 | |
| 1556 if (err) | |
| 1557 { | |
| 1558 LOGE("one or more class, member or field IDs could not be found"); | |
| 1559 return -1; | |
| 1560 } | |
| 1561 | |
| 1562 return 0; | |
| 1563 } | |
| 1564 | |
| 1565 /* When making callbacks from C to java, we may be called on threads | |
| 1566 * other than the foreground. As such, we have no JNIEnv. This function | |
| 1567 * handles getting us the required environment */ | |
| 1568 static JNIEnv *jni_attach_thread(jboolean *detach) | |
| 1569 { | |
| 1570 JNIEnv *env = NULL; | |
| 1571 int state; | |
| 1572 | |
| 1573 *detach = JNI_FALSE; | |
| 1574 state = (*jvm)->GetEnv(jvm, (void *)&env, MY_JNI_VERSION); | |
| 1575 if (state == JNI_EDETACHED) | |
| 1576 { | |
| 1577 *detach = JNI_TRUE; | |
| 1578 state = (*jvm)->AttachCurrentThread(jvm, (void *)&env, NULL); | |
| 1579 } | |
| 1580 | |
| 1581 if (state != JNI_OK) return NULL; | |
| 1582 | |
| 1583 return env; | |
| 1584 } | |
| 1585 | |
| 1586 static void jni_detach_thread(jboolean detach) | |
| 1587 { | |
| 1588 if (!detach) return; | |
| 1589 (*jvm)->DetachCurrentThread(jvm); | |
| 1590 } | |
| 1591 | |
| 1592 static void lose_fids(JNIEnv *env) | |
| 1593 { | |
| 1594 (*env)->DeleteGlobalRef(env, cls_AbortException); | |
| 1595 (*env)->DeleteGlobalRef(env, cls_AlertResult); | |
| 1596 (*env)->DeleteGlobalRef(env, cls_Archive); | |
| 1597 (*env)->DeleteGlobalRef(env, cls_ArrayList); | |
| 1598 (*env)->DeleteGlobalRef(env, cls_ArrayOfQuad); | |
| 1599 (*env)->DeleteGlobalRef(env, cls_BarcodeInfo); | |
| 1600 (*env)->DeleteGlobalRef(env, cls_Buffer); | |
| 1601 (*env)->DeleteGlobalRef(env, cls_ColorSpace); | |
| 1602 (*env)->DeleteGlobalRef(env, cls_Context); | |
| 1603 (*env)->DeleteGlobalRef(env, cls_Context_Log); | |
| 1604 (*env)->DeleteGlobalRef(env, cls_Context_Version); | |
| 1605 (*env)->DeleteGlobalRef(env, cls_Cookie); | |
| 1606 (*env)->DeleteGlobalRef(env, cls_DefaultAppearance); | |
| 1607 (*env)->DeleteGlobalRef(env, cls_DefaultColorSpaces); | |
| 1608 (*env)->DeleteGlobalRef(env, cls_Device); | |
| 1609 (*env)->DeleteGlobalRef(env, cls_DisplayList); | |
| 1610 (*env)->DeleteGlobalRef(env, cls_Document); | |
| 1611 (*env)->DeleteGlobalRef(env, cls_DocumentWriter); | |
| 1612 (*env)->DeleteGlobalRef(env, cls_DOM); | |
| 1613 (*env)->DeleteGlobalRef(env, cls_DOMAttribute); | |
| 1614 (*env)->DeleteGlobalRef(env, cls_FitzInputStream); | |
| 1615 (*env)->DeleteGlobalRef(env, cls_Float); | |
| 1616 (*env)->DeleteGlobalRef(env, cls_FloatArray); | |
| 1617 (*env)->DeleteGlobalRef(env, cls_Font); | |
| 1618 (*env)->DeleteGlobalRef(env, cls_Story); | |
| 1619 (*env)->DeleteGlobalRef(env, cls_IOException); | |
| 1620 (*env)->DeleteGlobalRef(env, cls_IllegalArgumentException); | |
| 1621 (*env)->DeleteGlobalRef(env, cls_Image); | |
| 1622 (*env)->DeleteGlobalRef(env, cls_IndexOutOfBoundsException); | |
| 1623 (*env)->DeleteGlobalRef(env, cls_IntegerArray); | |
| 1624 (*env)->DeleteGlobalRef(env, cls_Link); | |
| 1625 (*env)->DeleteGlobalRef(env, cls_LinkDestination); | |
| 1626 (*env)->DeleteGlobalRef(env, cls_Location); | |
| 1627 (*env)->DeleteGlobalRef(env, cls_Matrix); | |
| 1628 (*env)->DeleteGlobalRef(env, cls_MultiArchive); | |
| 1629 (*env)->DeleteGlobalRef(env, cls_NativeDevice); | |
| 1630 (*env)->DeleteGlobalRef(env, cls_NullPointerException); | |
| 1631 (*env)->DeleteGlobalRef(env, cls_Object); | |
| 1632 (*env)->DeleteGlobalRef(env, cls_OutOfMemoryError); | |
| 1633 (*env)->DeleteGlobalRef(env, cls_Outline); | |
| 1634 (*env)->DeleteGlobalRef(env, cls_OutlineItem); | |
| 1635 (*env)->DeleteGlobalRef(env, cls_OutlineIterator); | |
| 1636 (*env)->DeleteGlobalRef(env, cls_PDFAnnotation); | |
| 1637 (*env)->DeleteGlobalRef(env, cls_PDFDocument); | |
| 1638 (*env)->DeleteGlobalRef(env, cls_PDFDocument_JsEventListener); | |
| 1639 (*env)->DeleteGlobalRef(env, cls_PDFDocument_PDFEmbeddedFileParams); | |
| 1640 (*env)->DeleteGlobalRef(env, cls_PDFGraftMap); | |
| 1641 (*env)->DeleteGlobalRef(env, cls_PDFObject); | |
| 1642 (*env)->DeleteGlobalRef(env, cls_PDFPage); | |
| 1643 (*env)->DeleteGlobalRef(env, cls_PDFProcessor); | |
| 1644 (*env)->DeleteGlobalRef(env, cls_PDFWidget); | |
| 1645 (*env)->DeleteGlobalRef(env, cls_PKCS7DistinguishedName); | |
| 1646 (*env)->DeleteGlobalRef(env, cls_PKCS7Signer); | |
| 1647 (*env)->DeleteGlobalRef(env, cls_PKCS7Verifier); | |
| 1648 (*env)->DeleteGlobalRef(env, cls_Page); | |
| 1649 (*env)->DeleteGlobalRef(env, cls_Path); | |
| 1650 (*env)->DeleteGlobalRef(env, cls_PathWalker); | |
| 1651 (*env)->DeleteGlobalRef(env, cls_Pixmap); | |
| 1652 (*env)->DeleteGlobalRef(env, cls_Point); | |
| 1653 (*env)->DeleteGlobalRef(env, cls_Quad); | |
| 1654 (*env)->DeleteGlobalRef(env, cls_Rect); | |
| 1655 (*env)->DeleteGlobalRef(env, cls_RuntimeException); | |
| 1656 (*env)->DeleteGlobalRef(env, cls_SeekableInputStream); | |
| 1657 (*env)->DeleteGlobalRef(env, cls_SeekableOutputStream); | |
| 1658 (*env)->DeleteGlobalRef(env, cls_SeekableStream); | |
| 1659 (*env)->DeleteGlobalRef(env, cls_Shade); | |
| 1660 (*env)->DeleteGlobalRef(env, cls_String); | |
| 1661 (*env)->DeleteGlobalRef(env, cls_StrokeState); | |
| 1662 (*env)->DeleteGlobalRef(env, cls_StructuredText); | |
| 1663 (*env)->DeleteGlobalRef(env, cls_StructuredTextWalker); | |
| 1664 (*env)->DeleteGlobalRef(env, cls_StructuredTextWalker_VectorInfo); | |
| 1665 (*env)->DeleteGlobalRef(env, cls_Text); | |
| 1666 (*env)->DeleteGlobalRef(env, cls_TextBlock); | |
| 1667 (*env)->DeleteGlobalRef(env, cls_TextChar); | |
| 1668 (*env)->DeleteGlobalRef(env, cls_TextLine); | |
| 1669 (*env)->DeleteGlobalRef(env, cls_TextWalker); | |
| 1670 (*env)->DeleteGlobalRef(env, cls_TextWidgetCharLayout); | |
| 1671 (*env)->DeleteGlobalRef(env, cls_TextWidgetLayout); | |
| 1672 (*env)->DeleteGlobalRef(env, cls_TextWidgetLineLayout); | |
| 1673 (*env)->DeleteGlobalRef(env, cls_TreeArchive); | |
| 1674 (*env)->DeleteGlobalRef(env, cls_TryLaterException); | |
| 1675 (*env)->DeleteGlobalRef(env, cls_UnsupportedOperationException); | |
| 1676 } | |
| 1677 | |
| 1678 JNIEXPORT jint JNICALL | |
| 1679 JNI_OnLoad(JavaVM *vm, void *reserved) | |
| 1680 { | |
| 1681 JNIEnv *env; | |
| 1682 jint ret; | |
| 1683 | |
| 1684 ret = (*vm)->GetEnv(vm, (void **)&env, MY_JNI_VERSION); | |
| 1685 if (ret != JNI_OK) | |
| 1686 { | |
| 1687 LOGE("cannot get JNI interface during load (error %d)", ret); | |
| 1688 return -1; | |
| 1689 } | |
| 1690 | |
| 1691 return MY_JNI_VERSION; | |
| 1692 } | |
| 1693 | |
| 1694 JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *vm, void *reserved) | |
| 1695 { | |
| 1696 JNIEnv *env; | |
| 1697 jint ret; | |
| 1698 | |
| 1699 ret = (*vm)->GetEnv(vm, (void **)&env, MY_JNI_VERSION); | |
| 1700 if (ret != JNI_OK) | |
| 1701 { | |
| 1702 /* If this fails, we're really in trouble! */ | |
| 1703 LOGE("cannot get JNI interface during unload (error %d)", ret); | |
| 1704 return; | |
| 1705 } | |
| 1706 | |
| 1707 fz_drop_context(base_context); | |
| 1708 base_context = NULL; | |
| 1709 lose_fids(env); | |
| 1710 } | |
| 1711 | |
| 1712 #ifdef HAVE_ANDROID | |
| 1713 #include "jni/android/androidfonts.c" | |
| 1714 #endif | |
| 1715 | |
| 1716 #include "jni/wrap.c" | |
| 1717 #include "jni/helpers.c" | |
| 1718 | |
| 1719 #include "jni/context.c" | |
| 1720 #include "jni/device.c" | |
| 1721 #include "jni/nativedevice.c" | |
| 1722 | |
| 1723 #include "jni/archive.c" | |
| 1724 #include "jni/barcodeinfo.c" | |
| 1725 #include "jni/buffer.c" | |
| 1726 #include "jni/colorspace.c" | |
| 1727 #include "jni/cookie.c" | |
| 1728 #include "jni/defaultcolorspaces.c" | |
| 1729 #include "jni/displaylist.c" | |
| 1730 #include "jni/displaylistdevice.c" | |
| 1731 #include "jni/document.c" | |
| 1732 #include "jni/documentwriter.c" | |
| 1733 #include "jni/dom.c" | |
| 1734 #include "jni/drawdevice.c" | |
| 1735 #include "jni/fitzinputstream.c" | |
| 1736 #include "jni/font.c" | |
| 1737 #include "jni/image.c" | |
| 1738 #include "jni/link.c" | |
| 1739 #include "jni/multiarchive.c" | |
| 1740 #include "jni/outlineiterator.c" | |
| 1741 #include "jni/page.c" | |
| 1742 #include "jni/path.c" | |
| 1743 #include "jni/pdfannotation.c" | |
| 1744 #include "jni/pdfdocument.c" | |
| 1745 #include "jni/pdfgraftmap.c" | |
| 1746 #include "jni/pdfobject.c" | |
| 1747 #include "jni/pdfpage.c" | |
| 1748 #include "jni/pdfwidget.c" | |
| 1749 #include "jni/pixmap.c" | |
| 1750 #include "jni/pkcs7signer.c" | |
| 1751 #include "jni/pkcs7verifier.c" | |
| 1752 #include "jni/rect.c" | |
| 1753 #include "jni/shade.c" | |
| 1754 #include "jni/story.c" | |
| 1755 #include "jni/strokestate.c" | |
| 1756 #include "jni/structuredtext.c" | |
| 1757 #include "jni/text.c" | |
| 1758 #include "jni/treearchive.c" | |
| 1759 | |
| 1760 #ifdef HAVE_ANDROID | |
| 1761 #include "jni/android/androiddrawdevice.c" | |
| 1762 #include "jni/android/androidimage.c" | |
| 1763 #endif |
