367 [printingDictionary setObject:[NSNumber numberWithInteger:copies] forKey:NSPrintCopies]; 368 369 jboolean collated = JNFCallBooleanMethod(env, srcPrinterJob, jm_isCollated); // AWT_THREADING Safe (known object) 370 [printingDictionary setObject:[NSNumber numberWithBool:collated ? YES : NO] forKey:NSPrintMustCollate]; 371 372 jint jNumPages = JNFCallIntMethod(env, srcPageable, jm_getNumberOfPages); // AWT_THREADING Safe (!appKit) 373 if (jNumPages != java_awt_print_Pageable_UNKNOWN_NUMBER_OF_PAGES) 374 { 375 [printingDictionary setObject:[NSNumber numberWithBool:NO] forKey:NSPrintAllPages]; 376 377 [printingDictionary setObject:[NSNumber numberWithInteger:1] forKey:NSPrintFirstPage]; 378 [printingDictionary setObject:[NSNumber numberWithInteger:jNumPages] forKey:NSPrintLastPage]; 379 } 380 else 381 { 382 [printingDictionary setObject:[NSNumber numberWithBool:YES] forKey:NSPrintAllPages]; 383 } 384 } 385 386 /* 387 * Class: sun_lwawt_macosx_EventDispatchAccess 388 * Method: pumpEventsAndWait 389 * Signature: ()V 390 */ 391 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_EventDispatchAccess_pumpEventsAndWait 392 (JNIEnv *env, jobject eda) 393 { 394 static JNF_CLASS_CACHE(jc_Thread, "java/lang/Thread"); 395 static JNF_STATIC_MEMBER_CACHE(jm_currentThread, jc_Thread, "currentThread", "()Ljava/lang/Thread;"); 396 static JNF_CLASS_CACHE(jc_EventDispatchThread, "java/awt/EventDispatchThread"); 397 static JNF_MEMBER_CACHE(jm_macosxGetConditional, jc_EventDispatchThread, "_macosxGetConditional", "(Ljava/lang/Object;)Ljava/awt/Conditional;"); 398 static JNF_MEMBER_CACHE(jm_pumpEvents, jc_EventDispatchThread, "pumpEvents", "(Ljava/awt/Conditional;)V"); 399 400 JNF_COCOA_DURING(env); 401 402 jobject thread = JNFCallStaticObjectMethod(env, jm_currentThread); 403 jobject conditional = JNFCallObjectMethod(env, thread, jm_macosxGetConditional, eda); 404 if (conditional != NULL) { 405 JNFCallVoidMethod(env, thread, jm_pumpEvents, conditional); 406 } 407 408 JNF_COCOA_HANDLE(env); 409 } 410 411 /* 412 * Class: sun_lwawt_macosx_CPrinterJob 413 * Method: abortDoc 414 * Signature: ()V 415 */ 416 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPrinterJob_abortDoc 417 (JNIEnv *env, jobject jthis) 418 { 419 JNF_COCOA_ENTER(env); 420 // This is only called during the printLoop from the printLoop thread 421 NSPrintOperation* printLoop = [NSPrintOperation currentOperation]; 422 NSPrintInfo* printInfo = [printLoop printInfo]; 423 [printInfo setJobDisposition:NSPrintCancelJob]; 424 JNF_COCOA_EXIT(env); 425 } 426 427 /* 428 * Class: sun_lwawt_macosx_CPrinterJob 429 * Method: getDefaultPage 430 * Signature: (Ljava/awt/print/PageFormat;)V 431 */ | 367 [printingDictionary setObject:[NSNumber numberWithInteger:copies] forKey:NSPrintCopies]; 368 369 jboolean collated = JNFCallBooleanMethod(env, srcPrinterJob, jm_isCollated); // AWT_THREADING Safe (known object) 370 [printingDictionary setObject:[NSNumber numberWithBool:collated ? YES : NO] forKey:NSPrintMustCollate]; 371 372 jint jNumPages = JNFCallIntMethod(env, srcPageable, jm_getNumberOfPages); // AWT_THREADING Safe (!appKit) 373 if (jNumPages != java_awt_print_Pageable_UNKNOWN_NUMBER_OF_PAGES) 374 { 375 [printingDictionary setObject:[NSNumber numberWithBool:NO] forKey:NSPrintAllPages]; 376 377 [printingDictionary setObject:[NSNumber numberWithInteger:1] forKey:NSPrintFirstPage]; 378 [printingDictionary setObject:[NSNumber numberWithInteger:jNumPages] forKey:NSPrintLastPage]; 379 } 380 else 381 { 382 [printingDictionary setObject:[NSNumber numberWithBool:YES] forKey:NSPrintAllPages]; 383 } 384 } 385 386 /* 387 * Class: sun_lwawt_macosx_CPrinterJob 388 * Method: abortDoc 389 * Signature: ()V 390 */ 391 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPrinterJob_abortDoc 392 (JNIEnv *env, jobject jthis) 393 { 394 JNF_COCOA_ENTER(env); 395 // This is only called during the printLoop from the printLoop thread 396 NSPrintOperation* printLoop = [NSPrintOperation currentOperation]; 397 NSPrintInfo* printInfo = [printLoop printInfo]; 398 [printInfo setJobDisposition:NSPrintCancelJob]; 399 JNF_COCOA_EXIT(env); 400 } 401 402 /* 403 * Class: sun_lwawt_macosx_CPrinterJob 404 * Method: getDefaultPage 405 * Signature: (Ljava/awt/print/PageFormat;)V 406 */ |