diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2010-12-22 21:39:39 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2010-12-22 21:39:39 +0000 |
commit | ac10a2d039c5d52eed66e27cbbc503ab523c1cd5 (patch) | |
tree | c5be0c3dd15052016e7d32f376507cb1ea7101dd /gpu/include/FlingState.h | |
parent | ea8509cd3b1771b36054313d3ccd56679df56044 (diff) |
add gpu backend (not hooked up yet)
git-svn-id: http://skia.googlecode.com/svn/trunk@649 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gpu/include/FlingState.h')
-rw-r--r-- | gpu/include/FlingState.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/gpu/include/FlingState.h b/gpu/include/FlingState.h new file mode 100644 index 0000000000..a1da4fbc86 --- /dev/null +++ b/gpu/include/FlingState.h @@ -0,0 +1,59 @@ +/* + Copyright 2010 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + + +#ifndef SkFlingState_DEFINED +#define SkFlingState_DEFINED + +#include "SkScalar.h" +#include "SkPoint.h" + +class SkMatrix; + +struct FlingState { + FlingState() : fActive(false) {} + + bool isActive() const { return fActive; } + void stop() { fActive = false; } + + void reset(float sx, float sy); + bool evaluateMatrix(SkMatrix* matrix); + +private: + SkPoint fDirection; + SkScalar fSpeed0; + double fTime0; + bool fActive; +}; + +class GrAnimateFloat { +public: + GrAnimateFloat(); + + void start(float v0, float v1, float duration); + bool isActive() const { return fTime0 != 0; } + void stop() { fTime0 = 0; } + + float evaluate(); + +private: + float fValue0, fValue1, fDuration; + SkMSec fTime0; +}; + +#endif + + |