/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* 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/. */
#include"mozilla/dom/Nullable.h" #include"mozilla/ServoStyleConsts.h"// for ComputedTimingFunction #include"mozilla/layers/LayersMessages.h"// for TransformData, etc #include"mozilla/layers/LayersTypes.h"// for LayersId #include"mozilla/TimeStamp.h"// for TimeStamp #include"mozilla/TimingParams.h" #include"X11UndefineNone.h"
namespace mozilla {
namespace dom { enumclass CompositeOperation : uint8_t; enumclass IterationCompositeOperation : uint8_t;
}; // namespace dom
// These two variables correspond to the variables of the same name in // KeyframeEffectReadOnly and are used for the same purpose: to skip composing // animations whose progress has not changed.
dom::Nullable<double> mProgressOnLastCompose;
uint64_t mCurrentIterationOnLastCompose = 0; // These two variables are used for a similar optimization above but are // applied to the timing function in each keyframe.
uint32_t mSegmentIndexOnLastCompose = 0;
dom::Nullable<double> mPortionInSegmentOnLastCompose;
struct AnimationStorageData { // Each entry in the array represents an animation list for one property. For // transform-like properties (e.g. transform, rotate etc.), there may be // multiple entries depending on how many transform-like properties we have.
nsTArray<PropertyAnimationGroup> mAnimation;
Maybe<TransformData> mTransformData; // For motion path. We cached the gfx path for optimization.
RefPtr<gfx::Path> mCachedMotionPath; // This is used to communicate with the main-thread. E.g. to tell the fact // that this animation needs to be pre-rendered again on the main-thread, etc.
LayersId mLayersId;
// Avoid any copy because mAnimation could be a large array.
AnimationStorageData(const AnimationStorageData& aOther) = delete;
AnimationStorageData& operator=(const AnimationStorageData& aOther) = delete;
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 ist noch experimentell.