bool SUIComponentComposite::PostDraw() { SPComposite::ChildIterator iter = children.begin(); while(iter != children.end()) { if (*iter) { (*iter)->SetRenderTarget(NULL); iter++; } else { iter = children.erase(iter); } } if (childTarget) { SPSpriteManager::GetSingleton().RenderWithRotation( childTarget, GetCurrentEffect(), D3DXVECTOR3(GetPosition().x, GetPosition().y, GetDepth()), properties.rotationCenter, properties.rotation, properties.transparency * SPColor::White, renderTarget); } //childTarget = NULL; return true; }
void CSrScrlView::OnBnClickedAddButton() { srscrl_effectdata_t* pNewEffect = new srscrl_effectdata_t; CSrSubrecord* pSubrecord; pSubrecord = GetInputRecord()->CreateSubrecord(SR_NAME_EFID); pNewEffect->pEffect = SrCastClassNull(CSrFormidSubrecord, pSubrecord); pSubrecord = GetInputRecord()->CreateSubrecord(SR_NAME_EFIT); pNewEffect->pEffectData = SrCastClassNull(CSrEfitSubrecord, pSubrecord); if (pNewEffect->pEffect == NULL || pNewEffect->pEffectData == NULL) { delete pNewEffect; return; } pNewEffect->pEffect->InitializeNew(); pNewEffect->pEffectData->InitializeNew(); GetCurrentEffect(); m_Effects.Add(pNewEffect); AddEffectList(pNewEffect); m_EffectList.SelectRecord(m_Effects.GetSize() - 1); SetCurrentEffect(m_Effects[m_Effects.GetSize() - 1]); }
void CSrScrlView::OnConditionrecordDeleteAll() { if (m_pCurrentEffect == NULL) return; if (m_pCurrentEffect->Conditions.GetSize() > 0) m_ConditionsChanged = true; m_pCurrentEffect->Conditions.Destroy(); m_EffectConditions.SetWindowText("0"); GetCurrentEffect(); }
void CSrScrlView::OnLvnItemchangedEffectList(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); *pResult = 0; if (!m_IsInitialized) return; if ((pNMLV->uNewState & LVIS_SELECTED) == 0) return; GetCurrentEffect(); SetCurrentEffect(m_Effects[pNMLV->iItem]); }
void CSrScrlView::GetControlData (void) { CSrSubrecord* pNewEffect; CSrSubrecord* pNewEffectData; CSrSubrecord* pNewCondition; CSrRecordDialog::GetControlData(); GetCurrentEffect(); CSrScrlRecord* pScroll = SrCastClassNull(CSrScrlRecord, GetOutputRecord()); if (pScroll == NULL) return; pScroll->DeleteSubrecords(SR_NAME_EFID); pScroll->DeleteSubrecords(SR_NAME_EFIT); pScroll->DeleteSubrecords(SR_NAME_CTDA); pScroll->DeleteSubrecords(SR_NAME_CIS1); pScroll->DeleteSubrecords(SR_NAME_CIS2); for (dword i = 0; i < m_Effects.GetSize(); ++i) { srscrl_effectdata_t* pEffect = m_Effects[i]; if (pEffect == NULL || pEffect->pEffect == NULL || pEffect->pEffectData == NULL) continue; pNewEffect = pScroll->AddNewSubrecord(SR_NAME_EFID); if (pNewEffect) pNewEffect->Copy(pEffect->pEffect); pNewEffectData = pScroll->AddNewSubrecord(SR_NAME_EFIT); if (pNewEffectData) pNewEffectData->Copy(pEffect->pEffectData); for (dword j = 0; j < pEffect->Conditions.GetSize(); ++j) { srconditioninfo_t* pCondInfo = pEffect->Conditions[j]; CSrCtdaSubrecord* pCondition = &pCondInfo->Condition; if (pCondition == NULL) continue; pNewCondition = pScroll->AddNewSubrecord(SR_NAME_CTDA); if (pNewCondition) pNewCondition->Copy(pCondition); if (pCondInfo->pParam1) { CSrSubrecord* pNewParam = pScroll->AddNewSubrecord(SR_NAME_CIS1); if (pNewParam) pNewParam->Copy(pCondInfo->pParam1); } if (pCondInfo->pParam2) { CSrSubrecord* pNewParam = pScroll->AddNewSubrecord(SR_NAME_CIS2); if (pNewParam) pNewParam->Copy(pCondInfo->pParam2); } } } }
void CSrScrlView::OnBnClickedSelecteffectButton() { CString Buffer; if (m_pDlgHandler == NULL) return; m_EffectName.GetWindowText(Buffer); bool Result = m_pDlgHandler->SelectRecord(Buffer, SR_NAME_MGEF, &CSrMgefRecord::s_FieldMap); if (!Result) return; m_EffectName.SetWindowText(Buffer); GetCurrentEffect(); }
void CSrScrlView::OnBnClickedConditionButton() { if (m_pCurrentEffect == NULL) return; CSrConditionDlg ConditionDlg; int Result = ConditionDlg.DoModal(GetInputRecord(), &m_pCurrentEffect->Conditions); if (Result != IDOK) return; CString Buffer; Buffer.Format("%d", m_pCurrentEffect->Conditions.GetSize()); m_EffectConditions.SetWindowText(Buffer); GetCurrentEffect(); }
void CSrScrlView::OnConditionrecordPaste() { if (m_pCurrentEffect == NULL) return; if (SrGlobClipGetConditions().GetSize() == 0) return; m_ConditionsChanged = true; for (dword i = 0; i < SrGlobClipGetConditions().GetSize(); ++i) { m_pCurrentEffect->Conditions.AddNew()->Copy(*SrGlobClipGetConditions()[i]); } CString Buffer; Buffer.Format("%d", m_pCurrentEffect->Conditions.GetSize()); m_EffectConditions.SetWindowTextA(Buffer); GetCurrentEffect(); }
void CSrScrlView::OnBnClickedDeleteButton() { if (m_pCurrentEffect == NULL) return; GetCurrentEffect(); m_pCurrentEffect = NULL; int Index = m_EffectList.GetSelectedItem(); m_Effects.Delete(Index); m_EffectList.DeleteItem(Index); if (Index >= (int) m_Effects.GetSize()) { int i = Index - 1; m_EffectList.SelectRecord(i); SetCurrentEffect(m_Effects[i]); } else { m_EffectList.SelectRecord(Index); SetCurrentEffect(m_Effects[Index]); } }
/*=========================================================================== * * Class CSrScrlView Event - int OnDropCustomEffectData (DropItems); * *=========================================================================*/ int CSrScrlView::OnDropCustomEffectData (srrldroprecords_t& DropItems) { CSrFormidSubrecord* pEffect; CSrEfitSubrecord* pEffectData; srrlcustomdata_t* pCustomData; srscrl_effectdata_t* pEffectInfo; dword Index; GetCurrentEffect(); /* Check all custom data dropped */ for (Index = 0; Index < DropItems.pCustomDatas->GetSize(); ++Index) { pCustomData = DropItems.pCustomDatas->GetAt(Index); if (pCustomData->pRecord == NULL) return (SRRL_DROPCHECK_ERROR); /* Check for dragging another effect record */ pEffect = SrCastClassNull(CSrFormidSubrecord, pCustomData->Subrecords[0]); if (pEffect == NULL) return (SRRL_DROPCHECK_ERROR); pEffectData = SrCastClassNull(CSrEfitSubrecord, pCustomData->Subrecords[1]); if (pEffectData == NULL) return (SRRL_DROPCHECK_ERROR); /* If we're just checking */ if (DropItems.Notify.code == ID_SRRECORDLIST_CHECKDROP) continue; pEffectInfo = m_Effects.AddNew(); if (pEffectInfo == NULL) continue; CSrSubrecord* pNewSubrecord = pCustomData->pRecord->CreateSubrecord(SR_NAME_EFID); pEffectInfo->pEffect = SrCastClassNull(CSrFormidSubrecord, pNewSubrecord); pNewSubrecord = pCustomData->pRecord->CreateSubrecord(SR_NAME_EFIT); pEffectInfo->pEffectData = SrCastClassNull(CSrEfitSubrecord, pNewSubrecord); if (pEffectInfo->pEffect == NULL || pEffectInfo->pEffectData == NULL) { m_Effects.Delete(pEffectInfo); continue; } pEffectInfo->pEffect->Copy(pEffect); pEffectInfo->pEffectData->Copy(pEffectData); for (dword i = 2; i < pCustomData->Subrecords.GetSize(); ++i) { if (pCustomData->Subrecords[i] == NULL) continue; if (pCustomData->Subrecords[i]->GetRecordType() != SR_NAME_CTDA) continue; srconditioninfo_t* pNewCond = pEffectInfo->Conditions.AddNew(); pNewCond->Condition.Copy(pCustomData->Subrecords[i]); if (pCustomData->Subrecords[i+1] == NULL) continue; if (pCustomData->Subrecords[i+1]->GetRecordType() == SR_NAME_CIS1) pNewCond->CopyParam1(pCustomData->Subrecords[i+1]); else if (pCustomData->Subrecords[i+1]->GetRecordType() == SR_NAME_CIS2) pNewCond->CopyParam2(pCustomData->Subrecords[i+1]); if (pCustomData->Subrecords[i+2] == NULL) continue; if (pCustomData->Subrecords[i+2]->GetRecordType() == SR_NAME_CIS2 && pNewCond->pParam2 == NULL) pNewCond->CopyParam2(pCustomData->Subrecords[i+1]); } AddEffectList(pEffectInfo); } return (SRRL_DROPCHECK_OK); }
int CSrScrlView::OnPreSaveRecord (void) { GetCurrentEffect(); return CSrRecordDialog::OnPreSaveRecord(); }