Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  SMILInterval.h

  Sprache: C
 

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


#ifndef DOM_SMIL_SMILINTERVAL_H_
#define DOM_SMIL_SMILINTERVAL_H_

#include "mozilla/SMILInstanceTime.h"
#include "nsTArray.h"

namespace mozilla {

//----------------------------------------------------------------------
// SMILInterval class
//
// A structure consisting of a begin and end time. The begin time must be
// resolved (i.e. not indefinite or unresolved).
//
// For an overview of how this class is related to other SMIL time classes see
// the documentation in SMILTimeValue.h

class SMILInterval {
 public:
  SMILInterval();
  SMILInterval(const SMILInterval& aOther);
  ~SMILInterval();
  void Unlink(bool aFiltered = false);

  const SMILInstanceTime* Begin() const {
    MOZ_ASSERT(mBegin && mEnd,
               "Requesting Begin() on un-initialized instance time");
    return mBegin;
  }
  SMILInstanceTime* Begin();

  const SMILInstanceTime* End() const {
    MOZ_ASSERT(mBegin && mEnd,
               "Requesting End() on un-initialized instance time");
    return mEnd;
  }
  SMILInstanceTime* End();

  void SetBegin(SMILInstanceTime& aBegin);
  void SetEnd(SMILInstanceTime& aEnd);
  void Set(SMILInstanceTime& aBegin, SMILInstanceTime& aEnd) {
    SetBegin(aBegin);
    SetEnd(aEnd);
  }

  void FixBegin();
  void FixEnd();

  using InstanceTimeList = nsTArray<RefPtr<SMILInstanceTime>>;

  void AddDependentTime(SMILInstanceTime& aTime);
  void RemoveDependentTime(const SMILInstanceTime& aTime);
  void GetDependentTimes(InstanceTimeList& aTimes);

  // Cue for assessing if this interval can be filtered
  bool IsDependencyChainLink() const;

 private:
  RefPtr<SMILInstanceTime> mBegin;
  RefPtr<SMILInstanceTime> mEnd;

  // SMILInstanceTimes to notify when this interval is changed or deleted.
  InstanceTimeList mDependentTimes;

  // Indicates if the end points of the interval are fixed or not.
  //
  // Note that this is not the same as having an end point whose TIME is fixed
  // (i.e. SMILInstanceTime::IsFixed() returns true). This is because it is
  // possible to have an end point with a fixed TIME and yet still update the
  // end point to refer to a different SMILInstanceTime object.
  //
  // However, if mBegin/EndFixed is true, then BOTH the SMILInstanceTime
  // OBJECT returned for that end point and its TIME value will not change.
  bool mBeginFixed;
  bool mEndFixed;
};

}  // namespace mozilla

#endif  // DOM_SMIL_SMILINTERVAL_H_

Messung V0.5 in Prozent
C=92 H=97 G=94

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=141584
#Domains=738142