--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videditor/ManualVideoEditor/src/VeiIconBox.cpp Fri Jan 29 14:08:33 2010 +0200
@@ -0,0 +1,289 @@
+/*
+* Copyright (c) 2010 Ixonos Plc.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the "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:
+* Ixonos Plc
+*
+* Description:
+*
+*/
+
+
+// INCLUDE FILES
+
+// System includes
+#include <coemain.h>
+#include <akniconutils.h>
+#include <manualvideoeditor.mbg>
+#include <videoeditoruicomponents.mbg>
+
+// User includes
+#include "veiappui.h"
+#include "veieditvideocontainer.h"
+#include "VeiIconBox.h"
+#include "VideoEditorUtils.h"
+
+
+CVeiIconBox* CVeiIconBox::NewL( const TRect& aRect, const CCoeControl* aParent )
+ {
+ CVeiIconBox* self = CVeiIconBox::NewLC( aRect, aParent );
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+CVeiIconBox* CVeiIconBox::NewLC( const TRect& aRect, const CCoeControl* aParent )
+ {
+ CVeiIconBox* self = new( ELeave )CVeiIconBox;
+ CleanupStack::PushL( self );
+ self->ConstructL( aRect, aParent );
+ return self;
+ }
+
+void CVeiIconBox::ConstructL( const TRect& aRect, const CCoeControl* aParent )
+ {
+ SetContainerWindowL( *aParent );
+
+ TFileName mbmPath( VideoEditorUtils::IconFileNameAndPath( KManualVideoEditorIconFileId ));
+ TFileName mbmPath2( VideoEditorUtils::IconFileNameAndPath( KVideoEditorUiComponentsIconFileId ));
+
+ AknIconUtils::CreateIconL( iVolumeMute,
+ iVolumeMuteMask,
+ mbmPath,
+ EMbmManualvideoeditorQgn_prop_ve_muted,
+ EMbmManualvideoeditorQgn_prop_ve_muted_mask );
+
+ AknIconUtils::CreateIconL( iSlowMotion,
+ iSlowMotionMask,
+ mbmPath,
+ EMbmManualvideoeditorQgn_prop_ve_slow,
+ EMbmManualvideoeditorQgn_prop_ve_slow_mask );
+
+ AknIconUtils::CreateIconL( iBlackAndWhite,
+ iBlackAndWhiteMask,
+ mbmPath,
+ EMbmManualvideoeditorQgn_prop_ve_bw,
+ EMbmManualvideoeditorQgn_prop_ve_bw_mask );
+
+ AknIconUtils::CreateIconL( iColour,
+ iColourMask,
+ mbmPath,
+ EMbmManualvideoeditorQgn_prop_ve_colour,
+ EMbmManualvideoeditorQgn_prop_ve_colour_mask );
+
+ AknIconUtils::CreateIconL( iRecAudio,
+ iRecAudioMask,
+ mbmPath,
+ EMbmManualvideoeditorQgn_prop_ve_rec,
+ EMbmManualvideoeditorQgn_prop_ve_rec_mask );
+
+ AknIconUtils::CreateIconL( iPauseAudio,
+ iPauseAudioMask,
+ mbmPath2,
+ EMbmVideoeditoruicomponentsQgn_prop_ve_pause,
+ EMbmVideoeditoruicomponentsQgn_prop_ve_pause_mask );
+
+ SetRect( aRect );
+ ActivateL();
+ }
+
+CVeiIconBox::~CVeiIconBox()
+ {
+ delete iBlackAndWhite;
+ delete iBlackAndWhiteMask;
+ delete iColour;
+ delete iColourMask;
+ delete iSlowMotion;
+ delete iSlowMotionMask;
+ delete iVolumeMute;
+ delete iVolumeMuteMask;
+ delete iRecAudio;
+ delete iRecAudioMask;
+ delete iPauseAudio;
+ delete iPauseAudioMask;
+ }
+
+
+void CVeiIconBox::SizeChanged()
+ {
+ TRect rect = Rect();
+ TSize iconSize;
+ if ( !iLandscapeScreenOrientation )
+ {
+ iconSize.SetSize( rect.Width(), rect.Width());
+ }
+ else
+ {
+ iconSize.SetSize( rect.Height(), rect.Height());
+ }
+
+ AknIconUtils::SetSize( iVolumeMute, iconSize, EAspectRatioNotPreserved );
+ AknIconUtils::SetSize( iSlowMotion, iconSize, EAspectRatioNotPreserved );
+ AknIconUtils::SetSize( iBlackAndWhite, iconSize, EAspectRatioNotPreserved );
+ AknIconUtils::SetSize( iColour, iconSize, EAspectRatioNotPreserved );
+ AknIconUtils::SetSize( iRecAudio, iconSize, EAspectRatioNotPreserved );
+ AknIconUtils::SetSize( iPauseAudio, iconSize, EAspectRatioNotPreserved );
+ }
+
+void CVeiIconBox::SetLandscapeScreenOrientation( TBool aLandscapeScreenOrientation )
+ {
+ iLandscapeScreenOrientation = aLandscapeScreenOrientation;
+ }
+
+void CVeiIconBox::SetVolumeMuteIconVisibility( TBool aVisible )
+ {
+ iVolumeMuteIconVisible = aVisible;
+ DrawDeferred();
+ }
+
+void CVeiIconBox::SetSlowMotionIconVisibility( TBool aVisible )
+ {
+ iSlowMotionIconVisible = aVisible;
+ DrawDeferred();
+ }
+
+void CVeiIconBox::SetBlackAndWhiteIconVisibility( TBool aVisible )
+ {
+ iBlackAndWhiteIconVisible = aVisible;
+ DrawDeferred();
+ }
+
+void CVeiIconBox::SetColourIconVisibility( TBool aVisible )
+ {
+ iColourIconVisible = aVisible;
+ DrawDeferred();
+ }
+
+void CVeiIconBox::SetRecAudioIconVisibility( TBool aVisible )
+ {
+ iRecAudioIconVisibile = aVisible;
+ DrawDeferred();
+ }
+
+void CVeiIconBox::SetPauseAudioIconVisibility( TBool aVisible )
+ {
+ iPauseAudioIconVisibile = aVisible;
+ DrawDeferred();
+ }
+
+
+
+void CVeiIconBox::Draw( const TRect& aRect )const
+ {
+ CWindowGc& gc = SystemGc();
+
+ TRect rect = aRect;
+
+ TPoint slowMotionPos;
+ TPoint BWPos;
+
+ /* Icon area frame */
+
+ if ( !iLandscapeScreenOrientation )
+ // Portrait
+ {
+ TInt symboldistance = STATIC_CAST( TInt, rect.Size().iHeight* 0.01428571 );
+ /** volume, rec and pause icons are on same position.*/
+ if ( iVolumeMuteIconVisible )
+ {
+ TPoint audioMutePos( rect.iTl );
+ TRect clipRect( TPoint( 0, 0 ), iVolumeMute->SizeInPixels().AsPoint());
+ gc.BitBltMasked( audioMutePos, iVolumeMute, clipRect, iVolumeMuteMask, EFalse );
+ }
+ else
+ {
+ if ( iRecAudioIconVisibile )
+ {
+ TPoint audioRecPos( rect.iTl );
+ TRect clipRect( TPoint( 0, 0 ), iRecAudio->SizeInPixels().AsPoint());
+ gc.BitBltMasked( audioRecPos, iRecAudio, clipRect, iRecAudioMask, EFalse );
+ }
+ else if ( iPauseAudioIconVisibile )
+ {
+ TPoint audioPausePos( rect.iTl );
+ TRect clipRect( TPoint( 0, 0 ), iPauseAudio->SizeInPixels().AsPoint());
+ gc.BitBltMasked( audioPausePos, iPauseAudio, clipRect, iPauseAudioMask, EFalse );
+ }
+ }
+
+ if ( iSlowMotionIconVisible )
+ {
+ slowMotionPos.SetXY( rect.iTl.iX, rect.iTl.iY + iVolumeMute->SizeInPixels().iHeight + symboldistance );
+ TRect clipRect( TPoint( 0, 0 ), iVolumeMute->SizeInPixels().AsPoint());
+ gc.BitBltMasked( slowMotionPos, iSlowMotion, clipRect, iSlowMotionMask, EFalse );
+ }
+
+
+ if ( iBlackAndWhiteIconVisible )
+ {
+ BWPos.SetXY( rect.iTl.iX, rect.iTl.iY + iVolumeMute->SizeInPixels().iHeight + iSlowMotion->SizeInPixels().iHeight + symboldistance* 2 );
+ TRect clipRect( TPoint( 0, 0 ), iVolumeMute->SizeInPixels().AsPoint());
+ gc.BitBltMasked( BWPos, iBlackAndWhite, clipRect, iBlackAndWhiteMask, EFalse );
+ }
+
+ if ( iColourIconVisible )
+ {
+ BWPos.SetXY( rect.iTl.iX, rect.iTl.iY + iVolumeMute->SizeInPixels().iHeight + iSlowMotion->SizeInPixels().iHeight + symboldistance* 2 );
+ TRect clipRect( TPoint( 0, 0 ), iVolumeMute->SizeInPixels().AsPoint());
+ gc.BitBltMasked( BWPos, iColour, clipRect, iColourMask, EFalse );
+ }
+
+
+ }
+ else
+ // Landscape
+ {
+ TInt symboldistance = STATIC_CAST( TInt, rect.Size().iWidth* 0.04347826 );
+ if ( iVolumeMuteIconVisible )
+ {
+ TPoint audioMutePos( rect.iTl );
+ TRect clipRect( TPoint( 0, 0 ), iVolumeMute->SizeInPixels().AsPoint());
+ gc.BitBltMasked( audioMutePos, iVolumeMute, clipRect, iVolumeMuteMask, EFalse );
+ }
+ else
+ {
+ if ( iRecAudioIconVisibile )
+ {
+ TPoint audioRecPos( rect.iTl );
+ TRect clipRect( TPoint( 0, 0 ), iRecAudio->SizeInPixels().AsPoint());
+ gc.BitBltMasked( audioRecPos, iRecAudio, clipRect, iRecAudioMask, EFalse );
+ }
+ else if ( iPauseAudioIconVisibile )
+ {
+ TPoint audioPausePos( rect.iTl );
+ TRect clipRect( TPoint( 0, 0 ), iPauseAudio->SizeInPixels().AsPoint());
+ gc.BitBltMasked( audioPausePos, iPauseAudio, clipRect, iPauseAudioMask, EFalse );
+ }
+ }
+
+ if ( iSlowMotionIconVisible )
+ {
+ slowMotionPos.SetXY( rect.iTl.iX + iVolumeMute->SizeInPixels().iWidth + symboldistance, rect.iTl.iY );
+ TRect clipRect( TPoint( 0, 0 ), iVolumeMute->SizeInPixels().AsPoint());
+ gc.BitBltMasked( slowMotionPos, iSlowMotion, clipRect, iSlowMotionMask, EFalse );
+ }
+
+ if ( iBlackAndWhiteIconVisible )
+ {
+ BWPos.SetXY( rect.iTl.iX + iVolumeMute->SizeInPixels().iWidth + iSlowMotion->SizeInPixels().iWidth + symboldistance * 2, rect.iTl.iY );
+ TRect clipRect( TPoint( 0, 0 ), iVolumeMute->SizeInPixels().AsPoint());
+ gc.BitBltMasked( BWPos, iBlackAndWhite, clipRect, iBlackAndWhiteMask, EFalse );
+ }
+
+ if ( iColourIconVisible )
+ {
+ BWPos.SetXY( rect.iTl.iX + iVolumeMute->SizeInPixels().iWidth + iSlowMotion->SizeInPixels().iWidth + symboldistance * 2, rect.iTl.iY );
+ TRect clipRect( TPoint( 0, 0 ), iVolumeMute->SizeInPixels().AsPoint());
+ gc.BitBltMasked( BWPos, iColour, clipRect, iColourMask, EFalse );
+ }
+ }
+ }
+
+// End of File