diff -r aaeeca1f15af -r e8d784ac1a4b scrsaver/scrsaverplugins/BmpAnimScrPlugin/src/CBmpAnimItem.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scrsaver/scrsaverplugins/BmpAnimScrPlugin/src/CBmpAnimItem.cpp Wed Sep 01 12:30:40 2010 +0100 @@ -0,0 +1,95 @@ +/* +* Copyright (c) 2003 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: Stores a single bitmap animation item: image with its +* properties (position, timing et al) +* +*/ + + + + + +// INCLUDES +#include +#include +#include + +#include "CBmpAnimItem.h" + +// default 0.20 secs +const TInt KDefaultTiming = 200000; + +// Public constructor, doesn't need a two-phase construction +CBmpAnimItem::CBmpAnimItem() + : iFlags(BAIF_OWNSICON), + iTiming(KDefaultTiming), + iPosition(TPoint(0, 0)) + { + } + + +// Destructor +CBmpAnimItem::~CBmpAnimItem() + { + if (Flags() & BAIF_OWNSICON) + { + delete iIcon; + } + } + + +// Set icon. If owned, an icon is deleted by the item +void CBmpAnimItem::SetIcon( + CGulIcon* aIcon, + TBool aItemOwnsIcon /*= ETrue */) + { + // Get rid of old icon, if any and if owned + if ((iIcon) && (Flags() & BAIF_OWNSICON)) + { + delete iIcon; + } + + iIcon = aIcon; + + if (aItemOwnsIcon) + { + iFlags |= BAIF_OWNSICON; + } + else + { + iFlags &= ~BAIF_OWNSICON; + } + } + + +// Set icon from bitmaps. If owned, an icon is deleted by the item +void CBmpAnimItem::SetIconL( + CFbsBitmap* aBitmap, + CFbsBitmap* aMask /* = NULL */, + TBool aItemOwnsIcon /* = ETrue */) + { + // Create a new icon + CGulIcon* icon = CGulIcon::NewL(); + + // Plug the bitmaps in + icon->SetBitmap(aBitmap); + icon->SetMask(aMask); + + // Does icon own bitmaps? + icon->SetBitmapsOwnedExternally(!aItemOwnsIcon); + + // Store the newly created icon + SetIcon(icon, aItemOwnsIcon); + } +// End of File