--- a/javauis/mmapi_qt/baseline/src/cmmacanvasdisplay.cpp Tue May 11 16:07:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,308 +0,0 @@
-/*
-* Copyright (c) 2002-2009 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"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Draws to Canvas.
-*
-*/
-
-
-// Include Files
-#include <logger.h>
-//#include <lcdui.h> // MMIDCanvas
-
-#ifdef EXTENDED_LCDUI_CANVAS
-#include <MMIDCanvasExtended.h>
-#endif
-
-#include "cmmacanvasdisplay.h"
-#include "cmmabitmapwindow.h"
-#include "mmafunctionserver.h"
-
-// CONSTRUCTION
-// Static constructor, leaves pointer to cleanup-stack
-CMMACanvasDisplay* CMMACanvasDisplay::NewLC(MMAFunctionServer* aEventSource, jobject obj/*MMIDCanvas* aCanvas*/)
-{
- CMMACanvasDisplay* self =
- new(ELeave) CMMACanvasDisplay(aEventSource, obj/*aCanvas*/);
-
- CleanupStack::PushL(self);
- self->Construct(aEventSource,obj);
- return self;
-}
-
-// Destructor (virtual by CBase)
-CMMACanvasDisplay::~CMMACanvasDisplay()
-{
-}
-
-CMMACanvasDisplay::CMMACanvasDisplay(MMAFunctionServer* aEventSource ,jobject aJavaDisplayRef)
-{
- /*
-iJni = aEventSource->getValidJniEnv();
-javaDisplayObject = iJni->NewGlobalRef(javadisplayref);
-javaDisplayClass = iJni->GetObjectClass(javaDisplayObject);
-*/
-}
-
-
-/*
-void CMMACanvasDisplay::SourceSizeChanged(const TSize& aSourceSize)
-{
- LOG(EJavaMMAPI,EInfo,"CMMACanvasDisplay::SourceSizeChanged");
-
- #ifdef RD_JAVA_NGA_ENABLED
- if ( iWindow )
- {
- iWindow->SetVideoCropRegion( TRect( iUserRect.iTl, aSourceSize ) );
- }
- #endif
-
- iSourceSize = aSourceSize;
- jmethodID getDisplayWidthID = iJni->GetMethodID(
- iJavaDisplayClass,
- "getDisplayWidth",
- "()I");
-
- jmethodID getDisplayHeightID = iJni->GetMethodID(
- iJavaDisplayClass,
- "getDisplayHeight",
- "()I");
-
-
- TInt x = iJni->CallIntMethod(iJavaDisplayObject,getDisplayWidthID);
- TInt y = iJni->CallIntMethod(iJavaDisplayObject,getDisplayHeightID);
-
- // TSize fullScreenSize(100,100); // TO-Do remove hardcoded with the relevent one
- LOG2(EJavaMMAPI,EInfo,"CMMACanvasdisplay.cpp : SourceSizeChanged () fullScreenSize is x = %d ,y = %d ",x,y);
- // get the ScreenSize from canvas in java
- TSize canvasSize(x, y);
- fullScreenSize = canvasSize;
- TBool sourceIsBigger = (aSourceSize.iWidth > fullScreenSize.iWidth ||
- aSourceSize.iHeight > fullScreenSize.iHeight);
-
- if (sourceIsBigger)
- {
- // Source is larger than display area.
- // Shrink draw are to fit in display.
- iWindow->SetDrawRect(ScaleToFullScreen(fullScreenSize, iSourceSize));
- }
- else
- {
- // source is smaller than display area
- iWindow->SetDrawRect(TRect(iUserRect.iTl, iSourceSize));
- }
-
- SetClippingRegion();
-
- if (iUserRect.IsEmpty())
- {
- // Java side hasn't set size.
- iUserRect = iWindow->DrawRect();
-
- if (!sourceIsBigger)
- {
- // Addjusting rect to top left corner.
- iUserRect = TRect(iUserRect.Size());
- }
- }
-}
-
-*/
-
-void CMMACanvasDisplay::SetFullScreenL(TBool aFullScreen)
-{
- LOG(EJavaMMAPI,EInfo,"CMMACanvasDisplay::SetFullScreenL +");
- iFullScreen = aFullScreen;
- if (iContainerVisible)
- {
- RemoveClippingRegion();
-
- if (aFullScreen)
- {
- // use new scaled rect
- // iWindow->SetDrawRect(ScaleToFullScreen(fullScreenSize, iSourceSize));
- iWindow->SetDrawRectThread(ScaleToFullScreen(fullScreenSize, iSourceSize));
- }
- else
- {
- // use size set from java
- //iWindow->SetDrawRect(iUserRect);
- iWindow->SetDrawRectThread(iUserRect);
- }
-
- AddClippingRegion();
- }
- LOG(EJavaMMAPI,EInfo,"CMMACanvasDisplay::SetFullScreenL +");
-}
-
-void CMMACanvasDisplay::SetWindowL(MMMADisplayWindow* aWindow)
-{
- LOG( EJavaMMAPI, EInfo, "CMMACanvasDisplay::SetWindowL");
- CMMADisplay::SetWindowL(aWindow);
- if (!iWindow)
- {
- LOG( EJavaMMAPI, EInfo, "CMMACanvasDisplay::SetWindowL: NULL window, returning");
- return;
- }
- /*
- CFbsBitmap* bitmap = iCanvas->FrameBuffer();
-
- __ASSERT_DEBUG(bitmap,
- User::Panic(_L("Canvas has no bitmap"),
- KErrNotFound));
-
- iWindow->SetDestinationBitmapL(bitmap);
-
- // Check that container exists
- User::LeaveIfNull(iDirectContainer);
-
- LOG2( EJavaMMAPI, EInfo, "MMA::CMMACanvasDisplay::SetWindowL iDirectContainer->MdcContentBounds() TL %d %d", iDirectContainer->MdcContentBounds().iTl.iX, iDirectContainer->MdcContentBounds().iTl.iY);
- LOG2( EJavaMMAPI, EInfo, "MMA::CMMACanvasDisplay::SetWindowL iDirectContainer->MdcContentBounds() BR %d %d", iDirectContainer->MdcContentBounds().iBr.iX, iDirectContainer->MdcContentBounds().iBr.iY);
- */
- LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::before calling BoundRect");
- TRect boundrect = BoundRect();
- iWindow->SetWindowRect(boundrect/*iDirectContainer->MdcContentBounds()*/, MMMADisplay::EMmaThread);
-
- #ifdef RD_JAVA_NGA_ENABLED
- //iWindow->SetRWindowRect( iDirectContainer->MdcContainerWindowRect(),
- // MMMADisplay::EMmaThread );
- iWindow->SetRWindowRect( boundrect,
- MMMADisplay::EMmaThread );
- #endif
-
- SetClippingRegion();
-}
-
-
-
-TRect& CMMACanvasDisplay::BoundRect()
-{
- LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::BoundRect +");
- jmethodID getBoundRectID = iJni->GetMethodID(
- iJavaDisplayClass,
- "getBoundRect",
- "()V");
-
- LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::BoundRect --1");
- // set the value to java,so that we can access those from array
- iJni->CallVoidMethod(iJavaDisplayObject,getBoundRectID);
- jfieldID field = iJni->GetFieldID(iJavaDisplayClass, "displayboundarr", "[I");
- if(field == NULL)
- {
- // handle error
- }
- /* Read the instance field s */
- jintArray javaboundinfoarr = (jintArray)iJni->GetObjectField(iJavaDisplayObject, field);
- LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::BoundRect --2");
- jint* nativeboundinfoarr = iJni->GetIntArrayElements(javaboundinfoarr, NULL);
- LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::BoundRect --3");
- if (!nativeboundinfoarr)
- { // outputBuffer was already allocated
- iJni->ReleaseIntArrayElements(javaboundinfoarr, nativeboundinfoarr, JNI_ABORT);
- // return invalid rect.
- TRect rect(0,0,0,0);
- return rect;
- }
- LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::BoundRect --4");
-// create TRect
- TInt xcoordinate = nativeboundinfoarr[0];
- TInt ycoordinate = nativeboundinfoarr[1];
- TInt width = nativeboundinfoarr[2];
- TInt height = nativeboundinfoarr[3];
- LOG2(EJavaMMAPI,EInfo,"CMMACanvasDisplay: BoundRect() co-ordinate of topleftcorner is x = %d,y =%d",xcoordinate,ycoordinate);
- LOG2(EJavaMMAPI,EInfo,"CMMACanvasDisplay: BoundRect() size of bound rect is width = %d,height =%d",width,height);
- TPoint topleft(xcoordinate,ycoordinate);
- TSize rectsize(width,height);
- TRect boundRect(topleft,rectsize);
- iJni->ReleaseIntArrayElements(javaboundinfoarr, nativeboundinfoarr, JNI_COMMIT);
- LOG(EJavaMMAPI,EInfo,"MMA::CMMACanvasDisplay::BoundRect -");
- return boundRect;
-}
-
-// ask java side peer about the container rect size
-// currently assuming the boundrect and containerrect will be same in case of canvas
-TRect& CMMACanvasDisplay::ContainerWindowRect()
-{
-
- return BoundRect();
-
-}
-
-
-void CMMACanvasDisplay::SetDisplayLocationL(const TPoint& aPosition)
-{
- // Move iUserRect top left corner to aPosition.
- TSize size(iUserRect.Size());
- iUserRect.iTl = aPosition;
- iUserRect.SetSize(size);
-
- if (iContainerVisible && !iFullScreen && iWindow)
- {
- iWindow->SetDrawRect(iUserRect);
- SetClippingRegion();
- }
- else
- {
- iResetDrawRect = ETrue;
- }
-}
-
-TPoint CMMACanvasDisplay::DisplayLocation()
-{
- if (iWindow && iFullScreen)
- {
- return iWindow->DrawRect().iTl;
- }
- else
- {
- return iUserRect.iTl;
- }
-}
-
-
-
-
-
-/*
-void CMMACanvasDisplay::MdcContentBoundsChanged(const TRect& aRect)
-{
- LOG2(EJavaMMAPI,EInfo,"MID::CMMACanvasDisplay::MdcContentBoundsChanged aRect TL %d %d",
- aRect.iTl.iX, aRect.iTl.iY);
- LOG2(EJavaMMAPI,EInfo,"MID::CMMACanvasDisplay::MdcContentBoundsChanged aRect BR %d %d",
- aRect.iBr.iX, aRect.iBr.iY);
-
- if (iWindow)
- {
- // Set new rect to window.
- iWindow->SetWindowRect(aRect, MMMADisplay::EUiThread);
-
- if (iFullScreen)
- {
- TRect fullRect = ScaleToFullScreen(iCanvas->ContentSize(),
- iSourceSize);
-
- // use SetDrawRectThread because this code is executed
- // in lcdui thread
- iWindow->SetDrawRectThread(fullRect);
- }
- else
- {
- // move to user defined position.
- iWindow->SetPosition(iUserRect.iTl);
- }
- }
- SetClippingRegion();
-}
-*/
-
-// END OF FILE