< prev index next >

modules/javafx.graphics/src/main/native-glass/mac/GlassEmbeddedWindow+Npapi.m

Print this page




 300 
 301             // Create a key-typed event for each character in the text input event.
 302             // This is better than sending a text input event because in the NPAPI
 303             // case there is no in-progress text to display.
 304             for (NSUInteger i = 0; i < [chars length]; i++) {
 305                 NSString *singleChar = [NSString stringWithCharacters:&unichars[i] length:1];
 306                 GlassNSEvent *event =
 307                 (GlassNSEvent *)[GlassNSEvent keyEventWithType:NSKeyDown
 308                                                       location:NSMakePoint(0.0, 0.0)
 309                                                  modifierFlags:0
 310                                                      timestamp:[NSDate timeIntervalSinceReferenceDate]
 311                                                   windowNumber:[window->child windowNumber]
 312                                                        context:nil
 313                                                     characters:singleChar
 314                                    charactersIgnoringModifiers:singleChar
 315                                                      isARepeat:NO
 316                                                        keyCode:0];
 317                 [event setSyntheticKeyTyped:YES];
 318                 [window->child sendEvent:event];
 319             }

 320         }
 321 
 322         if ([chars length] == 1) {
 323             Java_com_sun_glass_events_mac_NpapiEvent__1dispatchCocoaNpapiKeyEvent(
 324                 env, jNpapiClass, jPtr, com_sun_glass_events_mac_NpapiEvent_NPCocoaEventKeyUp,
 325                 0, jText, jText, JNI_FALSE, 0, JNI_FALSE);
 326         }
 327     }
 328     GLASS_POOL_EXIT;
 329     GLASS_CHECK_EXCEPTION(env);
 330 }


 300 
 301             // Create a key-typed event for each character in the text input event.
 302             // This is better than sending a text input event because in the NPAPI
 303             // case there is no in-progress text to display.
 304             for (NSUInteger i = 0; i < [chars length]; i++) {
 305                 NSString *singleChar = [NSString stringWithCharacters:&unichars[i] length:1];
 306                 GlassNSEvent *event =
 307                 (GlassNSEvent *)[GlassNSEvent keyEventWithType:NSKeyDown
 308                                                       location:NSMakePoint(0.0, 0.0)
 309                                                  modifierFlags:0
 310                                                      timestamp:[NSDate timeIntervalSinceReferenceDate]
 311                                                   windowNumber:[window->child windowNumber]
 312                                                        context:nil
 313                                                     characters:singleChar
 314                                    charactersIgnoringModifiers:singleChar
 315                                                      isARepeat:NO
 316                                                        keyCode:0];
 317                 [event setSyntheticKeyTyped:YES];
 318                 [window->child sendEvent:event];
 319             }
 320             free(unichars);
 321         }
 322 
 323         if ([chars length] == 1) {
 324             Java_com_sun_glass_events_mac_NpapiEvent__1dispatchCocoaNpapiKeyEvent(
 325                 env, jNpapiClass, jPtr, com_sun_glass_events_mac_NpapiEvent_NPCocoaEventKeyUp,
 326                 0, jText, jText, JNI_FALSE, 0, JNI_FALSE);
 327         }
 328     }
 329     GLASS_POOL_EXIT;
 330     GLASS_CHECK_EXCEPTION(env);
 331 }
< prev index next >