rsAnimation.h revision c1ed589021e280cda59a0521cb96b3e9eb629e1b
1c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams/* 2c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * Copyright (C) 2009 The Android Open Source Project 3c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * 4c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 5c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * you may not use this file except in compliance with the License. 6c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * You may obtain a copy of the License at 7c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * 8c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * http://www.apache.org/licenses/LICENSE-2.0 9c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * 10c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * Unless required by applicable law or agreed to in writing, software 11c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * distributed under the License is distributed on an "AS IS" BASIS, 12c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * See the License for the specific language governing permissions and 14c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams * limitations under the License. 15c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams */ 16c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 17c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams#ifndef ANDROID_RS_ANIMATION_H 18c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams#define ANDROID_RS_ANIMATION_H 19c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 20c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams#include "rsUtils.h" 21c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams#include "rsObjectBase.h" 22c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 23c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams// --------------------------------------------------------------------------- 24c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Samsnamespace android { 25c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Samsnamespace renderscript { 26c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 27c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 28c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Samsclass Animation : public ObjectBase 29c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams{ 30c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Samspublic: 31c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams ~Animation(); 32c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 33c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams static Animation * create(Context *rsc, 34c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams const float *inValues, const float *outValues, 35c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams uint32_t valueCount, RsAnimationInterpolation, 36c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams RsAnimationEdge pre, RsAnimationEdge post); 37c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 38c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams float eval(float) const; 39c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 40c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 41c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Samsprotected: 42c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams Animation(Context *rsc); 43c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 44c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 45c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 46c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams float evalInRange(float) const; 47c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 48c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 49c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 50c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams const float *mValuesInput; 51c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams const float *mValuesOutput; 52c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams uint32_t mValueCount; 53c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams RsAnimationInterpolation mInterpolation; 54c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams RsAnimationEdge mEdgePre; 55c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams RsAnimationEdge mEdgePost; 56c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 57c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams // derived 58c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams float mInputMin; 59c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams float mInputMax; 60c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams}; 61c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 62c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 63c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 64c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 65c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams} 66c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams} 67c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams#endif //ANDROID_STRUCTURED_ELEMENT_H 68c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 69