gfx/skia/trunk/src/animator/SkOperandInterpolator.h

Thu, 15 Jan 2015 15:55:04 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:55:04 +0100
branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
permissions
-rw-r--r--

Back out 97036ab72558 which inappropriately compared turds to third parties.

     2 /*
     3  * Copyright 2006 The Android Open Source Project
     4  *
     5  * Use of this source code is governed by a BSD-style license that can be
     6  * found in the LICENSE file.
     7  */
    10 #ifndef SkOperandInterpolator_DEFINED
    11 #define SkOperandInterpolator_DEFINED
    13 #include "SkDisplayType.h"
    14 #include "SkInterpolator.h"
    15 #include "SkOperand.h"
    17 class SkOperandInterpolator : public SkInterpolatorBase {
    18 public:
    19     SkOperandInterpolator();
    20     SkOperandInterpolator(int elemCount, int frameCount, SkDisplayTypes type);
    21     SkOperand* getValues() { return fValues; }
    22     int getValuesCount() { return fFrameCount * fElemCount; }
    23     void    reset(int elemCount, int frameCount, SkDisplayTypes type);
    25     /** Add or replace a key frame, copying the values[] data into the interpolator.
    26         @param index    The index of this frame (frames must be ordered by time)
    27         @param time The millisecond time for this frame
    28         @param values   The array of values [elemCount] for this frame. The data is copied
    29                         into the interpolator.
    30         @param blend    A positive scalar specifying how to blend between this and the next key frame.
    31                         [0...1) is a cubic lag/log/lag blend (slow to change at the beginning and end)
    32                         1 is a linear blend (default)
    33                         (1...inf) is a cubic log/lag/log blend (fast to change at the beginning and end)
    34     */
    35     bool    setKeyFrame(int index, SkMSec time, const SkOperand values[], SkScalar blend = SK_Scalar1);
    36     Result timeToValues(SkMSec time, SkOperand values[]) const;
    37     SkDEBUGCODE(static void UnitTest();)
    38 private:
    39     SkDisplayTypes fType;
    40     SkOperand* fValues;     // pointer into fStorage
    41 #ifdef SK_DEBUG
    42     SkOperand(* fValuesArray)[10];
    43 #endif
    44     typedef SkInterpolatorBase INHERITED;
    45 };
    47 #endif // SkOperandInterpolator_DEFINED

mercurial