void CFDE_CSSStyleSheet::Reset() { for (int32_t i = m_RuleArray.GetSize() - 1; i >= 0; --i) { IFDE_CSSRule* pRule = m_RuleArray.GetAt(i); switch (pRule->GetType()) { case FDE_CSSRULETYPE_Style: ((CFDE_CSSStyleRule*)pRule)->~CFDE_CSSStyleRule(); break; case FDE_CSSRULETYPE_Media: ((CFDE_CSSMediaRule*)pRule)->~CFDE_CSSMediaRule(); break; case FDE_CSSRULETYPE_FontFace: ((CFDE_CSSFontFaceRule*)pRule)->~CFDE_CSSFontFaceRule(); break; default: FXSYS_assert(FALSE); break; } } m_RuleArray.RemoveAll(); m_Selectors.RemoveAll(); m_StringCache.RemoveAll(); if (m_pAllocator) { m_pAllocator->Release(); m_pAllocator = NULL; } }
CFDE_CSSMediaRule::~CFDE_CSSMediaRule() { for (int32_t i = m_RuleArray.GetSize() - 1; i >= 0; --i) { IFDE_CSSRule* pRule = m_RuleArray.GetAt(i); switch (pRule->GetType()) { case FDE_CSSRULETYPE_Style: ((CFDE_CSSStyleRule*)pRule)->~CFDE_CSSStyleRule(); break; default: FXSYS_assert(FALSE); break; } } }
void CFDE_CSSStyleSheet::Reset() { for (int32_t i = m_RuleArray.GetSize() - 1; i >= 0; --i) { IFDE_CSSRule* pRule = m_RuleArray.GetAt(i); switch (pRule->GetType()) { case FDE_CSSRULETYPE_Style: static_cast<CFDE_CSSStyleRule*>(pRule)->~CFDE_CSSStyleRule(); break; case FDE_CSSRULETYPE_Media: static_cast<CFDE_CSSMediaRule*>(pRule)->~CFDE_CSSMediaRule(); break; case FDE_CSSRULETYPE_FontFace: static_cast<CFDE_CSSFontFaceRule*>(pRule)->~CFDE_CSSFontFaceRule(); break; default: ASSERT(false); break; } } m_RuleArray.RemoveAll(false); m_Selectors.RemoveAll(); m_StringCache.clear(); m_pAllocator.reset(); }