コード例 #1
0
void SVGSMILElement::parseAttribute(const QualifiedName& name, const AtomicString& oldValue, const AtomicString& value)
{
    if (name == SVGNames::beginAttr) {
        if (!m_conditions.isEmpty()) {
            clearConditions();
            parseBeginOrEnd(fastGetAttribute(SVGNames::endAttr), End);
        }
        parseBeginOrEnd(value.getString(), Begin);
        if (inDocument())
            connectSyncBaseConditions();
    } else if (name == SVGNames::endAttr) {
        if (!m_conditions.isEmpty()) {
            clearConditions();
            parseBeginOrEnd(fastGetAttribute(SVGNames::beginAttr), Begin);
        }
        parseBeginOrEnd(value.getString(), End);
        if (inDocument())
            connectSyncBaseConditions();
    } else if (name == SVGNames::onbeginAttr) {
        setAttributeEventListener(EventTypeNames::beginEvent, createAttributeEventListener(this, name, value, eventParameterName()));
    } else if (name == SVGNames::onendAttr) {
        setAttributeEventListener(EventTypeNames::endEvent, createAttributeEventListener(this, name, value, eventParameterName()));
    } else if (name == SVGNames::onrepeatAttr) {
        setAttributeEventListener(EventTypeNames::repeatEvent, createAttributeEventListener(this, name, value, eventParameterName()));
    } else {
        SVGElement::parseAttribute(name, oldValue, value);
    }
}
コード例 #2
0
void SVGSMILElement::removedFrom(ContainerNode* rootParent) {
  if (rootParent->isConnected()) {
    clearResourceAndEventBaseReferences();
    clearConditions();
    setTargetElement(nullptr);
    setAttributeName(anyQName());
    animationAttributeChanged();
    m_timeContainer = nullptr;
  }

  SVGElement::removedFrom(rootParent);
}
コード例 #3
0
SVGSMILElement::~SVGSMILElement()
{
#if !ENABLE(OILPAN)
    clearResourceAndEventBaseReferences();
    smilEndEventSender().cancelEvent(this);
    smilBeginEventSender().cancelEvent(this);
    smilRepeatEventSender().cancelEvent(this);
    smilRepeatNEventSender().cancelEvent(this);
    clearConditions();

    unscheduleIfScheduled();
#endif
}
コード例 #4
0
SVGSMILElement::~SVGSMILElement()
{
#if !ENABLE(OILPAN)
    clearResourceAndEventBaseReferences();
#endif
    smilEndEventSender().cancelEvent(this);
    smilBeginEventSender().cancelEvent(this);
    smilRepeatEventSender().cancelEvent(this);
    smilRepeatNEventSender().cancelEvent(this);
#if !ENABLE(OILPAN)
    clearConditions();

    if (m_timeContainer && m_targetElement && hasValidAttributeName())
        m_timeContainer->unschedule(this, m_targetElement, m_attributeName);
#endif
}
コード例 #5
0
ファイル: CLogEvent.cpp プロジェクト: VasilVasilev93/amxmodx
void LogEventsMngr::clearLogEvents()
{
	logCurrent = logCounter = 0;
	arelogevents = false;
	
	for (int i = 0; i < MAX_LOGARGS + 1; ++i)
	{
		CLogEvent **a = &logevents[i];
		while (*a)
		{
			CLogEvent* bb = (*a)->next;
			delete *a;
			*a = bb;
		}
	}
	
	clearConditions();
}