TInt CJuikIconManagerImpl::AddIconL(TInt aProviderId, CGulIcon* aIcon) { CALLSTACKITEM_N(_CL("CJuikIconManagerImpl"), _CL("AddIconL")); auto_ptr<CGulIcon> icon( aIcon ); CArrayFix<TInt>& map = ProviderIconIndexL(aProviderId); TInt ix = KErrNotFound; if ( iEmptySlotCount > 0 ) ix = FindEmptySlotL(); if ( ix == KErrNotFound ) { iIconArray->AppendL( icon.release() ); map.AppendL( LastIndex( *iIconArray ) ); } else { iEmptySlotCount--; if ( iEmptySlotCount < 0 ) Bug( _L("Empty slot count underflow") ).Raise(); (*iIconArray)[ix] = icon.release(); map.AppendL( ix ); } return LastIndex( map ); }
void CItemsInfo::AddItem(CItemInfo* item) { // clear cached maps (byname and bytag) m_ItemsByName.reset(0); m_ZeroTagIndex = kInvalidMember; m_ItemsByTag.reset(0); m_ItemsByOffset.reset(0); // update item's tag if ( !item->GetId().HaveExplicitTag() ) { TTag tag = CMemberId::eFirstTag; if ( !Empty() ) { TMemberIndex lastIndex = LastIndex(); const CItemInfo* lastItem = GetItemInfo(lastIndex); if ( lastIndex != FirstIndex() || !lastItem->GetId().HaveParentTag() ) tag = lastItem->GetId().GetTag() + 1; } item->GetId().SetTag(tag, false); } // add item m_Items.push_back(AutoPtr<CItemInfo>(item)); item->m_Index = LastIndex(); }
PDOCKITEM AddDockItem(PDOCKHEADER pHeader, HWND hwnd, int index){ PDOCKITEM pItem, pTemp; pItem = (PDOCKITEM)calloc(1, sizeof(DOCKITEM)); pItem->hwnd = hwnd; if(pHeader->count == 0){ pHeader->pNext = pItem; } else{ pTemp = pHeader->pNext; while(pTemp->pNext){ pTemp = pTemp->pNext; } pTemp->pNext = pItem; pItem->pPrev = pTemp; } pHeader->count++; if(index == -1){ pItem->index = LastIndex(pHeader); } else{ pItem->index = index; } return pItem; }
void Spectrum::Consume(const FFTFrame &frame) { for (int i = 0; i < NumBands(); i++) { int first = FirstIndex(i); int last = LastIndex(i); double numerator = 0.0; double denominator = 0.0; for (int j = first; j < last; j++) { double s = frame[j]; numerator += j * s; denominator += s; } m_features[i] = denominator / (last - first); } m_consumer->Consume(m_features); }
TMemberIndex CItemsInfo::Find(TTag tag) const { TMemberIndex zero_index = m_ZeroTagIndex; if ( zero_index == kInvalidMember && !m_ItemsByTag.get() ) { zero_index = GetItemsByTagInfo().first; } if ( zero_index != kInvalidMember ) { TMemberIndex index = tag + zero_index; if ( index < FirstIndex() || index > LastIndex() ) return kInvalidMember; return index; } else { TItemsByTag::const_iterator mi = m_ItemsByTag->find(tag); if ( mi == m_ItemsByTag->end() ) return kInvalidMember; return mi->second; } }
TMemberIndex CItemsInfo::Find(TTag tag, TMemberIndex pos) const { TMemberIndex zero_index = m_ZeroTagIndex; if ( zero_index == kInvalidMember && !m_ItemsByTag.get() ) { zero_index = GetItemsByTagInfo().first; } if ( zero_index != kInvalidMember ) { TMemberIndex index = tag + zero_index; if ( index < pos || index > LastIndex() ) return kInvalidMember; return index; } else { for ( CIterator i(*this, pos); i.Valid(); ++i ) { if ( GetItemInfo(i)->GetId().GetTag() == tag ) return *i; } return kInvalidMember; } }
void CJuikIconManagerImpl::ReplaceIconL(TInt aProviderId, TInt aIconId, CGulIcon* aIcon) { CALLSTACKITEM_N(_CL("CJuikIconManagerImpl"), _CL("ReplaceIconL")); auto_ptr<CGulIcon> icon( aIcon ); CArrayFix<TInt>& map = ProviderIconIndexL(aProviderId); AssertIndexL( map, aIconId ); TInt ix = map.At( aIconId ); if ( ix != KErrNotFound ) { AssertIndexL( *iIconArray, ix ); delete (*iIconArray)[ix]; (*iIconArray)[ix] = icon.release(); } else { iIconArray->AppendL( icon.release() ); map[aIconId] = LastIndex( *iIconArray ); } }
TInt CJuikIconManagerImpl::GetNewProviderIdL() { CALLSTACKITEM_N(_CL("CJuikIconManagerImpl"), _CL("GetNewProviderIdL")); TInt providerIx = KErrNotFound; for ( TInt i = 0; i < iProviderIconIndexes->Count(); i++) { if ( iProviderIconIndexes->At(i) == NULL ) { providerIx = i; break; } } if ( providerIx == KErrNotFound ) { iProviderIconIndexes->AppendL( new (ELeave) CArrayFixFlat<TInt>(3) ); return LastIndex( *iProviderIconIndexes ); } else { (*iProviderIconIndexes)[providerIx] = new (ELeave) CArrayFixFlat<TInt>(3); return providerIx; } }