diff -r 98ccebc37403 -r dc7c549001d5 javauis/mmapi_qt/baseline/src/canvasdisplay.cpp --- a/javauis/mmapi_qt/baseline/src/canvasdisplay.cpp Fri May 14 15:47:24 2010 +0300 +++ b/javauis/mmapi_qt/baseline/src/canvasdisplay.cpp Thu May 27 12:49:31 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -11,9 +11,10 @@ * * Contributors: * -* Description: +* Description: CanvasDisplay JNI * */ + #include "logger.h" #include "com_nokia_microedition_media_control_MMACanvasDisplay.h" #include "cmmacanvasdisplay.h" @@ -27,55 +28,55 @@ * Signature: (IIZ)I */ JNIEXPORT void JNICALL Java_com_nokia_microedition_media_control_MMACanvasDisplay__1setVisible - (JNIEnv *, jobject, jint nativeDisplayHandle, jboolean isVisible) - { - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setVisible +"); - CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); - TBool visible = (TBool)isVisible; - display ->SetVisible(visible); - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setVisible -"); - } +(JNIEnv *, jobject, jint nativeDisplayHandle, jboolean isVisible) +{ + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setVisible +"); + CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); + TBool visible = (TBool)isVisible; + display ->SetVisible(visible); + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setVisible -"); +} LOCAL_C void LocalSetContainerVisible(CMMADisplay* display,TBool visible) { - display ->SetContainerVisibility(visible); + display ->SetContainerVisibility(visible); } JNIEXPORT void JNICALL Java_com_nokia_microedition_media_control_MMACanvasDisplay__1setContainerVisible (JNIEnv *, jobject,jint aEventSourceHandle, jint nativeDisplayHandle, jboolean isActive) { - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setContainerVisible +"); - MMAFunctionServer* eventSource = reinterpret_cast(aEventSourceHandle); - // need to call in Function server thread context because CMMADisplay's JNI pointer - // is valid in that thread context only. - - CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); - TBool visible = (TBool)isActive; - - TInt error = eventSource->ExecuteTrap(&LocalSetContainerVisible, - display, - visible); - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setContainerVisible -"); + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setContainerVisible +"); + MMAFunctionServer* eventSource = reinterpret_cast(aEventSourceHandle); + // need to call in Function server thread context because CMMADisplay's JNI pointer + // is valid in that thread context only. + + CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); + TBool visible = (TBool)isActive; + + TInt error = eventSource->ExecuteTrap(&LocalSetContainerVisible, + display, + visible); + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setContainerVisible -"); } JNIEXPORT void JNICALL Java_com_nokia_microedition_media_control_MMACanvasDisplay__1setFullScreenMode (JNIEnv *, jobject, jint nativeDisplayHandle, jboolean isFullScreen) { - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setFullScreenMode +"); - CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); - TBool mode = (TBool)isFullScreen; - display ->SetFullScreenL(mode); - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setFullScreenMode -"); + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setFullScreenMode +"); + CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); + TBool mode = (TBool)isFullScreen; + TRAP_IGNORE(display ->SetFullScreenL(mode)); + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setFullScreenMode -"); } JNIEXPORT void JNICALL Java_com_nokia_microedition_media_control_MMACanvasDisplay__1setWindowToNative (JNIEnv *, jobject,jint nativeDisplayHandle, jint qtWidgetHandle) { - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setWindowToNative + "); - QWidget *widget = reinterpret_cast(qtWidgetHandle); - CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); - display->SetWindowResources(widget); - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setWindowToNative - "); + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setWindowToNative + "); + QWidget *widget = reinterpret_cast(qtWidgetHandle); + CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); + display->SetWindowResources(widget); + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setWindowToNative - "); } @@ -87,52 +88,53 @@ LOCAL_C void LocalSourceSizeChanged(CMMADisplay* display,TInt width,TInt height) { - display->SourceSizeChanged(width,height); + TRect temp(0,0,0,0); + display->SourceSizeChanged(width,height,0,0,temp); } JNIEXPORT void JNICALL Java_com_nokia_microedition_media_control_MMACanvasDisplay__1setNativeWindowSize (JNIEnv *, jobject,jint nativeDisplayHandle, jint aEventSourceHandle, jint eswtControlwidth,jint eswtControlheight) { - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setNativeWindowSize + "); - CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); - TInt width = eswtControlwidth; - TInt height = eswtControlheight; - MMAFunctionServer* eventSource = reinterpret_cast(aEventSourceHandle); - // need to call in Function server thread context because CMMADisplay's JNI pointer - // is valid in that thread context only. - TInt error = eventSource->ExecuteTrap(&LocalSourceSizeChanged, - display, - width, - height); + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setNativeWindowSize + "); + CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); + TInt width = eswtControlwidth; + TInt height = eswtControlheight; + MMAFunctionServer* eventSource = reinterpret_cast(aEventSourceHandle); + // need to call in Function server thread context because CMMADisplay's JNI pointer + // is valid in that thread context only. + TInt error = eventSource->ExecuteTrap(&LocalSourceSizeChanged, + display, + width, + height); - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setNativeWindowSize - "); + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : setNativeWindowSize - "); } LOCAL_C void LocalSetDisplayPosition(CMMADisplay* display,TInt uiX,TInt uiY,TInt vcX,TInt vcY) { - display->SetDisplayPosition(uiX,uiY,vcX,vcY); + display->SetDisplayPosition(uiX,uiY,vcX,vcY); } JNIEXPORT void JNICALL Java_com_nokia_microedition_media_control_MMACanvasDisplay__1setPosition (JNIEnv *, jobject,jint nativeDisplayHandle,jint aEventSourceHandle,jint uiX,jint uiY,jint vcX,jint vcY) { - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : _setPosition + "); - CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); - TInt uiControlLocationX = uiX; - TInt uiControlLocationY = uiY; - TInt videoControlLocationX = vcX; - TInt videoControlLocationY = vcY; - MMAFunctionServer* eventSource = reinterpret_cast(aEventSourceHandle); - // need to call in Function server thread context because CMMADisplay's JNI pointer - // is valid in that thread context only. - TInt error = eventSource->ExecuteTrap(&LocalSetDisplayPosition, - display, - uiControlLocationX, - uiControlLocationY, - videoControlLocationX, - videoControlLocationY); + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : _setPosition + "); + CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); + TInt uiControlLocationX = uiX; + TInt uiControlLocationY = uiY; + TInt videoControlLocationX = vcX; + TInt videoControlLocationY = vcY; + MMAFunctionServer* eventSource = reinterpret_cast(aEventSourceHandle); + // need to call in Function server thread context because CMMADisplay's JNI pointer + // is valid in that thread context only. + TInt error = eventSource->ExecuteTrap(&LocalSetDisplayPosition, + display, + uiControlLocationX, + uiControlLocationY, + videoControlLocationX, + videoControlLocationY); - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : _setPosition - "); + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : _setPosition - "); } @@ -140,26 +142,26 @@ LOCAL_C void LocalSetDisplaySize(CMMADisplay* display,TInt vcX,TInt vcY) { - LOG2(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : LocalSetDisplaySize vcX = %d,vcY=%d ",vcX,vcY); - TSize size(vcX,vcY); - display->SetDisplaySizeL(size); + LOG2(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : LocalSetDisplaySize vcX = %d,vcY=%d ",vcX,vcY); + TSize size(vcX,vcY); + TRAP_IGNORE(display->SetDisplaySizeL(size)); } - + JNIEXPORT void JNICALL Java_com_nokia_microedition_media_control_MMACanvasDisplay__1setDisplaySize (JNIEnv *, jobject,jint nativeDisplayHandle,jint aEventSourceHandle,jint width,jint height) { - LOG2(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : _setDisplaySize + width = %d,height = %d",width,height); - CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); - TInt vc_width = width; - TInt vc_height = height; - MMAFunctionServer* eventSource = reinterpret_cast(aEventSourceHandle); - // need to call in Function server thread context because CMMADisplay's JNI pointer - // is valid in that thread context only. - LOG2(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : _setDisplaySize + vc_width = %d,vc_height = %d",vc_width,vc_height); - TInt error = eventSource->ExecuteTrap(&LocalSetDisplaySize, - display, - vc_width, - vc_height); + LOG2(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : _setDisplaySize + width = %d,height = %d",width,height); + CMMADisplay* display = reinterpret_cast(nativeDisplayHandle); + TInt vc_width = width; + TInt vc_height = height; + MMAFunctionServer* eventSource = reinterpret_cast(aEventSourceHandle); + // need to call in Function server thread context because CMMADisplay's JNI pointer + // is valid in that thread context only. + LOG2(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : _setDisplaySize + vc_width = %d,vc_height = %d",vc_width,vc_height); + TInt error = eventSource->ExecuteTrap(&LocalSetDisplaySize, + display, + vc_width, + vc_height); - LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : _setDisplaySize - "); -} \ No newline at end of file + LOG(EJavaMMAPI,EInfo,"JNI_canvasdisplay.cpp : _setDisplaySize - "); +}