48 CMMADisplay::CMMADisplay(): |
48 CMMADisplay::CMMADisplay(): |
49 iVisible(ETrue), |
49 iVisible(ETrue), |
50 iFullScreen(EFalse), |
50 iFullScreen(EFalse), |
51 iContainerVisible(ETrue), |
51 iContainerVisible(ETrue), |
52 iIsForeground(ETrue), |
52 iIsForeground(ETrue), |
53 iResetDrawRect(EFalse) |
53 iResetDrawRect(EFalse), |
54 { |
54 iIseSWT(EFalse) |
55 } |
55 { |
56 |
56 } |
57 void CMMADisplay::Construct(MMAFunctionServer* eventSource , jobject javadisplayref) |
57 |
|
58 void CMMADisplay::Construct(MMAFunctionServer* eventSource ,JNIEnv* aJni, jobject javadisplayref) |
58 { |
59 { |
59 iEventSource = eventSource; |
60 iEventSource = eventSource; |
60 iJni = iEventSource->getValidJniEnv(); |
61 iJavadisplayref = javadisplayref; |
|
62 LOG1(EJavaMMAPI,EInfo,"CMMADisplay::Construct=%d",iIseSWT); |
|
63 if (iIseSWT) |
|
64 { |
|
65 iJni = aJni; |
|
66 } |
|
67 else |
|
68 { |
|
69 iJni = iEventSource->getValidJniEnv(); |
|
70 } |
61 iJavaDisplayObject = iJni->NewGlobalRef(javadisplayref); |
71 iJavaDisplayObject = iJni->NewGlobalRef(javadisplayref); |
62 iJavaDisplayClass = iJni->GetObjectClass(iJavaDisplayObject); |
72 iJavaDisplayClass = iJni->GetObjectClass(iJavaDisplayObject); |
|
73 |
|
74 setRectID = iJni->GetMethodID(iJavaDisplayClass, |
|
75 "setRect", |
|
76 "()V"); |
|
77 iRectDimensionField = iJni->GetFieldID(iJavaDisplayClass, "rectDimension", "[I"); |
|
78 |
|
79 redrawControlID = iJni->GetMethodID( |
|
80 iJavaDisplayClass, |
|
81 "redrawControl", |
|
82 "()V"); |
|
83 |
|
84 removeContentBoundID = iJni->GetMethodID( |
|
85 iJavaDisplayClass, |
|
86 "removeContentBound", |
|
87 "()V"); |
|
88 |
|
89 setContentBoundID = iJni->GetMethodID( |
|
90 iJavaDisplayClass, |
|
91 "setContentBound", |
|
92 "()V"); |
|
93 |
|
94 getCallBackMethodID = iJni->GetMethodID( |
|
95 iJavaDisplayClass, |
|
96 "GetCallbackInUiThread", |
|
97 "(I)V"); |
|
98 |
|
99 getBoundRectID = iJni->GetMethodID( |
|
100 iJavaDisplayClass, |
|
101 "getBoundRect", |
|
102 "()V"); |
|
103 |
|
104 iDisplayboundarrField = iJni->GetFieldID(iJavaDisplayClass, "displayboundarr", "[I"); |
|
105 |
63 // Components must have direct content. |
106 // Components must have direct content. |
64 /* __ASSERT_LOG(EJavaMMAPI,EInfo,"aDirectContainer, User::Invariant()); |
107 /* __ASSERT_LOG(EJavaMMAPI,EInfo,"aDirectContainer, User::Invariant()); |
65 |
108 |
66 // Not owned |
109 // Not owned |
67 iDirectContainer = aDirectContainer; |
110 iDirectContainer = aDirectContainer; |
68 |
111 |
69 // Get component visibility. Later visibility changes will |
112 // Get component visibility. Later visibility changes will |
70 // be informed through MDirectContent observer. |
113 // be informed through MDirectContent observer. |
71 iContainerVisible = iDirectContainer->MdcContainerVisibility(); |
114 iContainerVisible = iDirectContainer->MdcContainerVisibility(); |
72 LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::Construct iContainerVisible = %d", iContainerVisible); |
115 LOG1(EJavaMMAPI,EInfo,"CMMADisplay::Construct iContainerVisible = %d", iContainerVisible); |
73 LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::Construct iVisible = %d", iVisible); |
116 LOG1(EJavaMMAPI,EInfo,"CMMADisplay::Construct iVisible = %d", iVisible); |
74 |
117 |
75 // Add this MDirectContent to the MDirectContainer. Cannot fail. |
118 // Add this MDirectContent to the MDirectContainer. Cannot fail. |
76 iDirectContainer->MdcAddContent(this); |
119 iDirectContainer->MdcAddContent(this); |
77 */ |
120 */ |
78 } |
121 } |
241 } |
286 } |
242 |
287 |
243 // from MMMADisplay |
288 // from MMMADisplay |
244 TSize CMMADisplay::DisplaySize() |
289 TSize CMMADisplay::DisplaySize() |
245 { |
290 { |
|
291 LOG(EJavaMMAPI,EInfo,"CMMADisplay::DisplaySize +"); |
246 if (iWindow && iFullScreen) |
292 if (iWindow && iFullScreen) |
247 { |
293 { |
|
294 LOG(EJavaMMAPI,EInfo,"CMMADisplay::DisplaySize if loop "); |
248 return iWindow->DrawRect().Size(); |
295 return iWindow->DrawRect().Size(); |
249 } |
296 } |
250 else |
297 else |
251 { |
298 { |
|
299 LOG1(EJavaMMAPI,EInfo,"CMMADisplay::DisplaySize else loop %d",iUserRect.Size().iHeight); |
252 return iUserRect.Size(); |
300 return iUserRect.Size(); |
253 } |
301 } |
254 } |
302 } |
255 |
303 |
256 // from MMMADisplay |
304 // from MMMADisplay |
257 void CMMADisplay::SetDisplaySizeL(const TSize& aSize) |
305 void CMMADisplay::SetDisplaySizeL(const TSize& aSize) |
258 { |
306 { |
259 // user rect contains size set from java. |
307 // user rect contains size set from java. |
260 iUserRect.SetSize(aSize); |
308 iUserRect.SetSize(aSize); |
261 LOG2(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetDisplaySizeL iUserRect = %d X %d", iUserRect.Width() ,iUserRect.Height()); |
309 LOG2(EJavaMMAPI,EInfo,"CMMADisplay::SetDisplaySizeL iUserRect = %d X %d", iUserRect.Width() ,iUserRect.Height()); |
262 // Size change has no effect if fullscreen mode is on. |
310 // Size change has no effect if fullscreen mode is on. |
263 // New size could be used when fullscreen is turned off. |
311 // New size could be used when fullscreen is turned off. |
264 if (iContainerVisible && !iFullScreen && iWindow) |
312 if (iContainerVisible && !iFullScreen && iWindow) |
265 { |
313 { |
266 LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible + iContainerVisible = %d", iContainerVisible); |
314 LOG1(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible + iContainerVisible = %d", iContainerVisible); |
267 RemoveClippingRegion(); |
315 RemoveClippingRegion(); |
268 LOG2(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetDisplaySizeL iUserRect after removingClipRegion = %d X %d", iUserRect.Width() ,iUserRect.Height()); |
316 LOG2(EJavaMMAPI,EInfo,"CMMADisplay::SetDisplaySizeL iUserRect after removingClipRegion = %d X %d", iUserRect.Width() ,iUserRect.Height()); |
269 iWindow->SetDrawRect(iUserRect); |
317 iWindow->SetDrawRect(iUserRect); |
270 AddClippingRegion(); |
318 AddClippingRegion(); |
271 LOG2(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetDisplaySizeL iUserRect after AddingClipRegion = %d X %d", iUserRect.Width() ,iUserRect.Height()); |
319 LOG2(EJavaMMAPI,EInfo,"CMMADisplay::SetDisplaySizeL iUserRect after AddingClipRegion = %d X %d", iUserRect.Width() ,iUserRect.Height()); |
272 } |
320 } |
273 else |
321 else |
274 { |
322 { |
275 LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible + iContainerVisible = %d", iContainerVisible); |
323 LOG1(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible + iContainerVisible = %d", iContainerVisible); |
276 iResetDrawRect = ETrue; |
324 iResetDrawRect = ETrue; |
277 } |
325 } |
278 } |
326 } |
279 |
327 |
280 // from MMMADisplay |
328 // from MMMADisplay |
281 void CMMADisplay::SetVisible(TBool aValue) |
329 void CMMADisplay::SetVisible(TBool aValue) |
282 { |
330 { |
283 iVisible = aValue; |
331 iVisible = aValue; |
284 // Window may be set visible only if container is on screen, |
332 // Window may be set visible only if container is on screen, |
285 |
333 |
286 LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible + iContainerVisible = %d", iContainerVisible); |
334 LOG1(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible + iContainerVisible = %d", iContainerVisible); |
287 LOG1(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible iVisible = %d", iVisible); |
335 LOG1(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible iVisible = %d", iVisible); |
288 if (!iIsForeground) |
336 if (!iIsForeground) |
289 { |
337 { |
290 LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible - iIsForeground = 0"); |
338 LOG(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible - iIsForeground = 0"); |
291 return; |
339 return; |
292 } |
340 } |
293 // if not it can not be set visible. |
341 // if not it can not be set visible. |
294 if (iWindow && iContainerVisible) |
342 if (iWindow && iContainerVisible) |
295 { |
343 { |
296 // iWindow->SetVisible(aValue, EFalse); |
344 // iWindow->SetVisible(aValue, EFalse); |
297 //MMAPI UI 3.x req. (had to comment above line and add below line which excutes in FS thread) |
345 //MMAPI UI 3.x req. (had to comment above line and add below line which excutes in FS thread) |
298 iWindow->SetVisible(aValue, ETrue); |
346 if (iIseSWT == true) |
|
347 { |
|
348 iWindow->SetVisible(aValue, ETrue); |
|
349 } |
|
350 else |
|
351 { |
|
352 iWindow->SetVisible(aValue, EFalse); |
|
353 } |
|
354 LOG(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible after iWindow->SetVisible()"); |
299 SetClippingRegion(); |
355 SetClippingRegion(); |
300 LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::SetVisible -"); |
356 LOG(EJavaMMAPI,EInfo,"CMMADisplay::SetVisible -"); |
301 } |
357 } |
302 } |
358 } |
303 |
359 |
304 |
360 |
305 void CMMADisplay::SetContainerVisibility(TBool aValue) |
361 void CMMADisplay::SetContainerVisibility(TBool aValue) |
364 // midlet comes to foreground (0 to 1 transition), |
420 // midlet comes to foreground (0 to 1 transition), |
365 // Allow turn on or turn off based on aVisible |
421 // Allow turn on or turn off based on aVisible |
366 if (aVisible != iWindow->IsVisible()) |
422 if (aVisible != iWindow->IsVisible()) |
367 { |
423 { |
368 // Allow |
424 // Allow |
369 LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::MdcContainerVisibilityChanged Allow "); |
425 LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged Allow "); |
370 } |
426 } |
371 else if (iContainerVisible == aVisible) |
427 else if (iContainerVisible == aVisible) |
372 { |
428 { |
373 LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::MdcContainerVisibilityChanged iContainerVisible == aVisible "); |
429 LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged iContainerVisible == aVisible "); |
374 // if state is not changed, we do not need to do it again |
430 // if state is not changed, we do not need to do it again |
375 return; |
431 return; |
376 } |
432 } |
377 } |
433 } |
378 |
434 |
379 LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::MdcContainerVisibilityChanged After condition2"); |
435 LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged After condition2"); |
380 |
436 |
381 if (iWindow) |
437 if (iWindow) |
382 { |
438 { |
383 LOG(EJavaMMAPI,EInfo,"MID::CMMADisplay::MdcContainerVisibilityChanged iWindow is valid "); |
439 LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged iWindow is valid "); |
384 // change is only needed if java side has set display visible or |
440 // change is only needed if java side has set display visible or |
385 // if container loses focus |
441 // if container loses focus |
386 if (!iContainerVisible || iVisible) |
442 if (!iContainerVisible || iVisible) |
387 { |
443 { |
|
444 LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged container is invisible and window is visible"); |
388 if (iResetDrawRect && aVisible && !iFullScreen) |
445 if (iResetDrawRect && aVisible && !iFullScreen) |
389 { |
446 { |
|
447 LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged resetdrawrect is true"); |
390 iWindow->SetDrawRectThread(iUserRect); |
448 iWindow->SetDrawRectThread(iUserRect); |
391 iResetDrawRect = EFalse; |
449 iResetDrawRect = EFalse; |
392 } |
450 } |
393 if (iIsForeground) |
451 if (iIsForeground) |
394 { |
452 { |
395 iWindow->SetVisible(aVisible); |
453 LOG(EJavaMMAPI,EInfo,"CMMADisplay::MdcContainerVisibilityChanged container foreground is true"); |
|
454 iWindow->SetVisible(aVisible,false); |
396 } |
455 } |
397 SetClippingRegion(); |
456 SetClippingRegion(); |
398 } |
457 } |
399 } |
458 } |
400 } |
459 } |
466 */ |
525 */ |
467 |
526 |
468 |
527 |
469 void CMMADisplay::GetCallbackInUiThread(TInt placeholder) |
528 void CMMADisplay::GetCallbackInUiThread(TInt placeholder) |
470 { |
529 { |
|
530 JNIEnv* validJni = iEventSource->getValidJniEnv(); |
|
531 jobject javaDisplayObject; |
|
532 jclass javaDisplayClass; |
471 LOG(EJavaMMAPI,EInfo,"CMMADisplay::GetCallbackInUiThread +"); |
533 LOG(EJavaMMAPI,EInfo,"CMMADisplay::GetCallbackInUiThread +"); |
472 |
534 /** |
473 |
535 * In case of eSWT iJavaDisplayClass and iJavaDisplayObject were initialized with JNI |
474 |
536 * in UI Thread. Since this function is called from FunctionServer Thread so we need to get |
475 |
537 * valid JNI for FunctionServer Thread and need to initialize iJavaDisplayClass and iJavaDisplayObject |
476 |
538 * again for FunctionServer Thread rather than using the one that was created in Constructor(UI Thread). |
477 |
539 */ |
478 |
540 if (iIseSWT) |
479 |
541 { |
480 jmethodID getCallBackMethodID = iJni->GetMethodID( |
542 javaDisplayObject = validJni->NewGlobalRef(iJavadisplayref); |
481 iJavaDisplayClass, |
543 javaDisplayClass = validJni->GetObjectClass(iJavaDisplayObject); |
482 "GetCallbackInUiThread", |
544 } |
483 "(I)V"); |
545 else |
484 // LOG1(EJavaMMAPI,EInfo,"CMMADisplay::GetCallbackInUiThread getCallBackMethodID = %d",getCallBackMethodID); |
546 { |
485 iJni->CallVoidMethod(iJavaDisplayObject,getCallBackMethodID,placeholder); |
547 javaDisplayObject = iJavaDisplayObject; |
|
548 javaDisplayClass = iJavaDisplayClass; |
|
549 } |
|
550 getCallBackMethodID = validJni->GetMethodID(javaDisplayClass, |
|
551 "GetCallbackInUiThread", |
|
552 "(I)V"); |
|
553 LOG1(EJavaMMAPI,EInfo,"CMMADisplay::GetCallbackInUiThread getCallBackMethodID = %d",getCallBackMethodID); |
|
554 validJni->CallVoidMethod(javaDisplayObject,getCallBackMethodID,placeholder); |
486 LOG(EJavaMMAPI,EInfo,"CMMADisplay::GetCallbackInUiThread -"); |
555 LOG(EJavaMMAPI,EInfo,"CMMADisplay::GetCallbackInUiThread -"); |
487 } |
556 } |
488 |
557 |
489 void CMMADisplay::CalledBackInUiThread(TInt placeholder) |
558 void CMMADisplay::CalledBackInUiThread(TInt placeholder) |
490 { |
559 { |
627 |
697 |
628 |
698 |
629 void CMMADisplay::ResetJavaRectObject(const TRect& aRect) |
699 void CMMADisplay::ResetJavaRectObject(const TRect& aRect) |
630 { |
700 { |
631 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject +"); |
701 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject +"); |
632 JNIEnv* validJni = iEventSource->getValidJniEnv(); |
702 //TRect rect = aRect; |
633 jmethodID setRectID = validJni->GetMethodID( |
703 JNIEnv* validJni = iJni;//iEventSource->getValidJniEnv();//iJni; |
634 iJavaDisplayClass, |
704 /*jmethodID setRectID = validJni->GetMethodID( |
635 "setRect", |
705 iJavaDisplayClass, |
636 "()V"); |
706 "setRect", |
637 |
707 "()V"); |
|
708 */ |
638 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject --1"); |
709 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject --1"); |
639 // set the value to java,so that we can access those from array |
710 // set the value to java,so that we can access those from array |
640 jfieldID field = validJni->GetFieldID(iJavaDisplayClass, "rectDimension", "[I"); |
711 |
641 if (field == NULL) |
712 //jfieldID iRectDimensionField = validJni->GetFieldID(iJavaDisplayClass, "rectDimension", "[I"); |
|
713 if (iRectDimensionField == NULL) |
642 { |
714 { |
643 // handle error |
715 // handle error |
644 } |
716 } |
645 /* Write to the instance fields */ |
717 /* Write to the instance fields */ |
646 jintArray javaDimensionarr = (jintArray)validJni->GetObjectField(iJavaDisplayObject, field); |
718 jintArray javaDimensionarr = (jintArray)validJni->GetObjectField(iJavaDisplayObject, iRectDimensionField); |
647 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject --2"); |
719 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject --2"); |
648 jint* nativeRectDimensionArr = validJni->GetIntArrayElements(javaDimensionarr, NULL); |
720 jint* nativeRectDimensionArr = validJni->GetIntArrayElements(javaDimensionarr, NULL); |
649 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject --3"); |
721 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject --3"); |
650 if (!nativeRectDimensionArr) |
722 if (!nativeRectDimensionArr) |
651 { |
723 { // inputBuffer was already allocated |
652 // inputBuffer was already allocated |
|
653 validJni->ReleaseIntArrayElements(javaDimensionarr, nativeRectDimensionArr, JNI_ABORT); |
724 validJni->ReleaseIntArrayElements(javaDimensionarr, nativeRectDimensionArr, JNI_ABORT); |
654 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject Error in resetting rect dimension to java"); |
725 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject Error in resetting rect dimension to java"); |
655 return; |
726 return; |
656 } |
727 } |
657 nativeRectDimensionArr[0] = aRect.iTl.iX; |
728 nativeRectDimensionArr[0] = aRect.iTl.iX; |
658 nativeRectDimensionArr[1] = aRect.iTl.iY;; |
729 nativeRectDimensionArr[1] = aRect.iTl.iY;; |
659 nativeRectDimensionArr[2] = aRect.Width(); |
730 nativeRectDimensionArr[2] = aRect.Width(); |
660 nativeRectDimensionArr[3] = aRect.Height(); |
731 nativeRectDimensionArr[3] = aRect.Height(); |
661 // Now the dimension array in java is updated hence reset the java rect |
732 // Now the dimension array in java is updated hence reset the java rect |
|
733 |
|
734 validJni->ReleaseIntArrayElements(javaDimensionarr, nativeRectDimensionArr, 0); |
662 validJni->CallVoidMethod(iJavaDisplayObject,setRectID); |
735 validJni->CallVoidMethod(iJavaDisplayObject,setRectID); |
663 |
736 |
664 validJni->ReleaseIntArrayElements(javaDimensionarr, nativeRectDimensionArr, JNI_COMMIT); |
|
665 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject -"); |
737 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::ResetJavaRectObject -"); |
666 } |
738 } |
667 |
739 |
668 |
740 |
669 void CMMADisplay::SetContentBoundToJavaControl(const TRect& aRect) |
741 void CMMADisplay::SetContentBoundToJavaControl(const TRect& aRect) |
670 { |
742 { |
671 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::SetContentBoundToJavaControl +"); |
743 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::SetContentBoundToJavaControl +"); |
672 JNIEnv* validJni = iEventSource->getValidJniEnv(); |
744 JNIEnv* validJni = iJni;//iEventSource->getValidJniEnv();//iJni; |
673 // Reset the java rect |
745 // Reset the java rect |
674 ResetJavaRectObject(aRect); |
746 ResetJavaRectObject(aRect); |
675 jmethodID setContentBoundID = validJni->GetMethodID( |
747 /*jmethodID setContentBoundID = validJni->GetMethodID( |
676 iJavaDisplayClass, |
748 iJavaDisplayClass, |
677 "setContentBound", |
749 "setContentBound", |
678 "()V"); |
750 "()V"); |
|
751 */ |
679 // call java function |
752 // call java function |
680 validJni->CallVoidMethod(iJavaDisplayObject,setContentBoundID); |
753 validJni->CallVoidMethod(iJavaDisplayObject,setContentBoundID); |
681 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::SetContentBoundToJavaControl -"); |
754 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::SetContentBoundToJavaControl -"); |
682 } |
755 } |
683 |
756 |
684 void CMMADisplay::RemoveContentBoundFromJavaControl(const TRect& aRect) |
757 void CMMADisplay::RemoveContentBoundFromJavaControl(const TRect& aRect) |
685 { |
758 { |
686 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::RemoveContentBoundFromJavaControl +"); |
759 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::RemoveContentBoundFromJavaControl +"); |
687 JNIEnv* validJni = iEventSource->getValidJniEnv(); |
760 JNIEnv* validJni = iJni;//iEventSource->getValidJniEnv(); |
688 // Reset the java rect |
761 // Reset the java rect |
689 ResetJavaRectObject(aRect); |
762 ResetJavaRectObject(aRect); |
690 jmethodID removeContentBoundID = validJni->GetMethodID( |
763 /*jmethodID removeContentBoundID = validJni->GetMethodID( |
691 iJavaDisplayClass, |
764 iJavaDisplayClass, |
692 "removeContentBound", |
765 "removeContentBound", |
693 "()V"); |
766 "()V"); |
|
767 */ |
694 // call java function |
768 // call java function |
695 validJni->CallVoidMethod(iJavaDisplayObject,removeContentBoundID); |
769 validJni->CallVoidMethod(iJavaDisplayObject,removeContentBoundID); |
696 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::RemoveContentBoundFromJavaControl -"); |
770 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::RemoveContentBoundFromJavaControl -"); |
697 } |
771 } |
698 |
772 |
699 void CMMADisplay::RefreshJavaControl() |
773 void CMMADisplay::RefreshJavaControl() |
700 { |
774 { |
701 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::RefreshJavaControl +"); |
775 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::RefreshJavaControl +"); |
702 JNIEnv* validJni = iEventSource->getValidJniEnv(); |
776 JNIEnv* validJni = iJni;//iEventSource->getValidJniEnv();//iJni; |
703 // Reset the java rect |
777 // Reset the java rect |
704 //ResetJavaRectObject(aRect); |
778 //ResetJavaRectObject(aRect); |
705 jmethodID redrawControlID = validJni->GetMethodID( |
779 /*jmethodID redrawControlID = validJni->GetMethodID( |
706 iJavaDisplayClass, |
780 iJavaDisplayClass, |
707 "redrawControl", |
781 "redrawControl", |
708 "()V"); |
782 "()V"); |
|
783 */ |
709 // call java function |
784 // call java function |
710 validJni->CallVoidMethod(iJavaDisplayObject,redrawControlID); |
785 validJni->CallVoidMethod(iJavaDisplayObject,redrawControlID); |
711 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::RefreshJavaControl -"); |
786 LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::RefreshJavaControl -"); |
712 } |
787 } |
713 |
788 |
|
789 TBool CMMADisplay::iseSWT() |
|
790 { |
|
791 return iIseSWT; |
|
792 } |
|
793 |
|
794 void CMMADisplay::SetFullscreenSize(TSize &aFullscreenSize) |
|
795 { |
|
796 iFullScreenSize = aFullscreenSize; |
|
797 } |
714 // END OF FILE |
798 // END OF FILE |