--- a/camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -61,6 +61,7 @@
#endif
#include "camconfiguration.h"
#include "CameraUiConfigManager.h"
+#include "camstartuplogo.h"
// CONSTANTS
@@ -107,6 +108,8 @@
delete iZoomTimer;
delete iVfGridDrawer;
+ delete iStartupLogo;
+
if ( iController.UiConfigManagerPtr() &&
iController.UiConfigManagerPtr()->IsAutoFocusSupported() )
{
@@ -294,7 +297,12 @@
iController.SetViewfinderWindowHandle( &Window() );
appUi->SetViewFinderInTransit(EFalse);
iController.StartIdleTimer();
-
+
+ if (appUi->StartupLogoController())
+ {
+ TRAP_IGNORE(iStartupLogo = CCamStartupLogo::NewL(*appUi->StartupLogoController(), aRect));
+ }
+
PRINT( _L("Camera <= CCamPreCaptureContainerBase::BaseConstructL ") );
}
@@ -1164,6 +1172,39 @@
else
{
PRINT_FRQ( _L("Camera <> CCamPreCaptureContainerBase: iBitmapGc == NULL"));
+ //in DSA case draw snapshot already here if available
+ const CFbsBitmap* snapshot = iController.SnapshotImage();
+ if (snapshot)
+ {
+ TSize snapshotSize = snapshot->SizeInPixels();
+ TRect bmCropRect( snapshotSize );
+
+ // Get the required snapshot layout rect
+ TRect vfRect( ViewFinderFrameRect() );
+
+ RWindow window = Window();
+ window.Invalidate( Rect() );
+ window.BeginRedraw( Rect() );
+ gc.BitBlt( vfRect.iTl, snapshot, bmCropRect );
+
+ TBool lateOperation = ( ECamCapturing == iController.CurrentOperation()
+ || ECamCompleting == iController.CurrentOperation() );
+
+ if( iProcessingText &&
+ iController.ActiveCamera() != ECamActiveCameraSecondary &&
+ lateOperation )
+ {
+ gc.SetBrushColor( KRgbWhite );
+ gc.SetBrushStyle( CGraphicsContext::ENullBrush );
+ iProcessingTextLayout.DrawText( gc, *iProcessingText, ETrue, KRgbBlack );
+ }
+
+ if( iBatteryPaneController )
+ {
+ iBatteryPaneController->Draw( gc );
+ }
+ window.EndRedraw();
+ }
}
}
DeactivateGc();