--- a/scrsaver/scrsaverplugins/BmpAnimScrPlugin/src/CBmpAnimModel.cpp Mon Jan 18 20:19:52 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* 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: Takes care of storing and serving the bitmaps
-* to be animated along with their properties
-*
-*/
-
-
-
-
-
-#include "CBmpAnimModel.h"
-
-
-// C'tor
-CBmpAnimModel::CBmpAnimModel()
- {
- }
-
-
-// D'tor
-CBmpAnimModel::~CBmpAnimModel()
- {
- // Delete item array
- if (iItems)
- {
- iItems->ResetAndDestroy();
- }
- delete iItems;
- }
-
-
-// Two-phase constructor, initialises member arrays and stuff
-void CBmpAnimModel::ConstructL(CBmpAnimSettings* aSettings)
- {
- // Create item array
- iItems = new(ELeave) CArrayPtrFlat<CBmpAnimItem>(
- KBmpAnimItemArrayGranularity);
-
- iSettings = aSettings;
- }
-
-
-// Number of items query
-TInt CBmpAnimModel::NumberOfItems() const
- {
- return iItems ? iItems->Count() : 0;
- }
-
-
-// Add an item to the end of the array
-void CBmpAnimModel::AppendItemL(CBmpAnimItem* aItem)
- {
- // Sanity check
- if (!iItems)
- {
- ASSERT(EFalse);
- return;
- }
-
- // Stash it in
- iItems->AppendL(aItem);
- }
-
-
-// Insert an item at <aIndex>. Space must be reserved.
-void CBmpAnimModel::InsertItemL(TInt aIndex, CBmpAnimItem* aItem)
- {
- if ((iItems) && (aIndex >= 0) && (aIndex <= NumberOfItems()))
- {
- // Squeeze it in
- iItems->InsertL(aIndex, aItem);
- }
- else
- {
- ASSERT(EFalse);
- }
- }
-
-
-// Delete item at <aIndex>
-void CBmpAnimModel::DeleteItemL(TInt aIndex)
- {
- if ((iItems) && (aIndex >= 0) && (aIndex <= NumberOfItems()))
- {
- // Grab hold of the item for deletion, remove from array
- // and compress the array
- CBmpAnimItem* ptr = iItems->At(aIndex);
- iItems->Delete(aIndex);
- delete ptr;
- iItems->Compress();
- }
- else
- {
- ASSERT(EFalse);
- }
- }
-
-
-// Delete all Items
-void CBmpAnimModel::DeleteAll()
- {
- if (iItems)
- {
- iItems->ResetAndDestroy();
- }
- }
-
-
-// Get item at position <aIndex>
-CBmpAnimItem* CBmpAnimModel::ItemAt(TInt aIndex) const
- {
- if ((iItems) && (aIndex >= 0) && (aIndex < NumberOfItems()))
- {
- return iItems->At(aIndex);
- }
- else
- {
- return NULL;
- }
- }
-
-
-// Get next item in animation sequence. Returns NULL at the end of the
-// sequence (or if there are no items at all), and wraps around to the
-// beginning, so that next call again returns an item.
-CBmpAnimItem* CBmpAnimModel::NextItem(TBool& aWrapped)
- {
- CBmpAnimItem* pItem = ItemAt(iCurrentItem++);
-
- if (pItem)
- {
- aWrapped = EFalse;
- }
- else
- {
- // Apparently there are no more items - wrap around and set indicator
- iCurrentItem = 0;
- aWrapped = ETrue;
-
- pItem = ItemAt(iCurrentItem++);
- }
-
- return pItem;
- }
-
-
-// Reserve space for <aCount> Items
-void CBmpAnimModel::SetReserveL(TInt aCount)
- {
- if ((iItems) && (aCount >= NumberOfItems()))
- {
- iItems->SetReserveL(aCount);
- }
- }
-
-
-// --- private functions ---
-// End of File